Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在解析小python文件时,如何绘制解析树?_Python_Parsing_Abstract Syntax Tree - Fatal编程技术网

在解析小python文件时,如何绘制解析树?

在解析小python文件时,如何绘制解析树?,python,parsing,abstract-syntax-tree,Python,Parsing,Abstract Syntax Tree,我的目标是理解抽象语法树是如何工作的。我能够使用AST解析文件,但我无法想象解析树将如何构造。我想用一个场景进行解释: #A.py class Parse_tree : def move(): print "hello" #parse.py import ast with open('A.py') as f: tree = ast.parse(f.read()) 因此,“A.py”文件被解析为“Parse.py”中的ast。我想知道下面的示例是如何转换为树的。树

我的目标是理解抽象语法树是如何工作的。我能够使用AST解析文件,但我无法想象解析树将如何构造。我想用一个场景进行解释:

#A.py

class Parse_tree :
   def move():
      print "hello"

#parse.py

import ast

with open('A.py') as f:
   tree = ast.parse(f.read())

因此,“A.py”文件被解析为“Parse.py”中的ast。我想知道下面的示例是如何转换为树的。树是如何构造的?

通常通过解析操作的过程附件(通常是reduces)来构造树,该过程通过构建一个表示reduce到nonterminal的节点并附加由同一进程生成的先前构造的子树来构造树。我怀疑这个答案对你有多大帮助;我怀疑你对解析的工作原理知之甚少。没有这样的背景,答案就没有多大意义。