获取由pycparser

时间:2017-05-22 12:14:16

标签: pycparser

我知道" coord" AST节点的属性给出行号,但默认情况下它的列号设置为None。有没有办法将其设置为真正的列号?

1 个答案:

答案 0 :(得分:0)

Github上的master分支版本尚未进入正式版本,它确实在AST节点的coord属性中包含一列。

如果您使用examples/explore_ast.py取消注释,showcoord=True示例可以显示此操作。这是一个转储的AST代码段:

FileAST:  (at None)
  Typedef: Node, [], ['typedef'] (at <none>:2:17)
    TypeDecl: Node, [] (at <none>:2:17)
      IdentifierType: ['int'] (at <none>:2:13)
  Typedef: Hash, [], ['typedef'] (at <none>:2:23)
    TypeDecl: Hash, [] (at <none>:2:23)
      IdentifierType: ['int'] (at <none>:2:13)
  FuncDef:  (at <none>:4:10)
    Decl: HashPrint, [], [], [] (at <none>:4:10)
      FuncDecl:  (at <none>:4:10)
        ParamList:  (at <none>:4:24)
          Decl: hash, [], [], [] (at <none>:4:24)
            PtrDecl: [] (at <none>:4:24)
              TypeDecl: hash, [] (at <none>:4:26)

(at <none>:2:17)部分表示&#34;在文件<none>,第2行,第17行和第34行; (文件是<none>,因为该示例只是从字符串中解析而来。)