如何 运行 来自单独文件的解析器?
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')
我试图将我的解析器保存在它自己的文件中,并在主 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')