我试图将解析器保存在自己的文件中,并在主文件/程序中的某些文本上调用该解析器。
我的词法分析器在其自己的文件中:MDLexer.py 我已将解析器放入其自己的文件中:MDParser.py
MDParser像这样导入MDLexer:from MDLexer import tokens
是否有类似的导入语句将我的Parser导入第三个文件?
任何帮助表示感谢。
澄清: 我尝试过以下方法:
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
答案 0 :(得分:2)
如果是我,我会把这一行放在MDParser.py
parser = yacc.yacc()
让我的主程序看起来像这样:
import MDParser as p
p.parser.parse('some string')