如何 运行 来自单独文件的解析器?

How to run a parser from a separate file?

我试图将我的解析器保存在它自己的文件中,并在主 file/program.

中的某些文本上调用该解析器

我的词法分析器在它自己的文件中:MDLexer.py 我已将解析器放在它自己的文件中:MDParser.py

MDParser 像这样导入 MDLexer:from MDLexer import tokens

是否有类似的导入语句将我的解析器导入到第三个文件中?

感谢任何帮助。

澄清: 我试过以下方法:

import MDParser as p
...
parser = p.yacc.yacc()

但是这给了我以下错误:

Traceback (most recent call last):
  File "MDtoAST.py", line 35, in <module>
    parser = p.yacc.yacc()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site packages/ply/yacc.py", line 3276, in yacc
    raise YaccError('Unable to build parser')
ply.yacc.YaccError: Unable to build parser

如果是我,我会把这行放在 MDParser.py

parser = yacc.yacc()

并使我的主程序看起来像这样:

import MDParser as p
p.parser.parse('some string')