0

我已经从我的语法生成了模型代码和解析器,但我无法将模型修改为在 python 中生成的代码。我的 EBNF 语法是一个脚本代码,例如用于在 XML 或 ANSI X12 中翻译文件的“C”语法。这是一种特定于语言的语言,我想使用 Tatsu 从此脚本生成 Python 代码。我解析脚本,但我无法成功使用 Parser 或 Model 生成 Python 源代码......我必须在哪里保存 Model 或修改解析器以生成 Python 代码......我看到 tools.py......我可以复制构建新代码模型的代码...你能帮我吗...我开始学习python,我必须在网站上通过上传脚本和下载python代码来实现这个解决方案。

4

1 回答 1

0

TatSu is a parser generator. I doesn't have any provisions for generating running code from text parsed by an arbitrary grammar.

You have to write your own code generator (walk thes AST after a parse, and generate the corresponding code).

于 2021-03-20T13:25:55.690 回答