我正在考虑做一个转换器/编译。我一直想知道以下将Pythonic代码解析为JavaScript等效的方法的优缺点。
ast.dump(ast.parse(code))的输出我一直在权衡这些方法的利弊,但是我想不出任何主要的方法,因为我从未使用过它们。
那么,基本上有人能帮我告诉我,我上面提到的两种方法的利弊是什么吗?
另外,如果有什么更好的东西可以用于这个目的,通知我。
PS:我将使用Python编写转换器。
发布于 2013-05-11 14:06:44
标记的一个大缺点:您必须进行解析,这是不必要的,也是非常重要的。
ast.dump(ast.parse(code))的大骗局:毫无意义的愚蠢。ast.parse为您提供了一个非常好的AST,它是以适当的数据结构构造的。ast.dump为您提供了该数据结构的字符串表示,因此您必须解析它才能得到ast.parse已经提供的内容!
去掉ast.dump和使用来自ast.parse的AST,有两大优势:
ast特性),但我假设将Python简化为自定义AST比从令牌生成自定义AST更简单。ast中已经内置了一个访问者类,因此您不必为轻松的AST遍历创建一个类(一个简单但有点乏味的任务)。犯人?不是很多。选择ast,但不要害怕在此之后使用其他数据结构。
https://softwareengineering.stackexchange.com/questions/197766
复制相似问题