antlr生成Python代码可行吗?
这个需求是要生成几个类,这些类要继承一个基础的ORM类。这个基础类可能有几个静态属性,比如列和其他一些东西,还有一些小的Python表达式,这些表达式可以在运行时被计算,用来处理一些简单的业务逻辑。
我想问的是,使用antlr来做这样的事情可行吗?因为我对antlr不是很熟悉,但谷歌建议我用antlr来生成Python代码……
请给点建议……
1 个回答
5
我觉得你可能误解了ANTLR项目的意思。ANTLR是一个解析器生成器,简单来说就是:
- 你需要为你选择的语言创建一个语法规则。这可以是Python,或者是它的某种混合版本。
- 然后你把这个语法规则输入到ANTLR中,它会生成一些代码,这些代码可以用来解析你定义的语言。
这在生成自定义脚本语言和自然语言处理方面非常有用,这两者实际上是相关的。
你遇到的问题听起来更像是你想为企业应用程序生成一些Python代码,以模拟某种商业场景(虽然我不太喜欢用这个词)。与其重新发明轮子,我建议你看看现有的框架,比如SQLAlchemy和Django,这两个框架都提供了基本的ORM实现,并允许你派生出表示你的数据并包含处理逻辑的子类。
如果你想要一个可以根据描述(比如UML)自动生成代码的解决方案,我相信也有人在尝试做这个。