gpt4 book ai didi

java - 在没有语法文件的情况下,我需要做什么才能在 Antlr 中以编程方式实现语法、解析器和词法分析器?

转载 作者:行者123 更新时间:2023-11-30 06:41:07 25 4
gpt4 key购买 nike

从我在网上看到的例子和到目前为止我读到的内容来看,使用 Antlr 创建语言的典型方法似乎需要一个 .g4 语法文件和一个工具,例如maven-antlr-plugin 基于此生成 Java 源代码。

是否可以在没有语法文件和必须使用这样的生成器的情况下从头开始实现?

在不涉及太多无聊的细节的情况下,我们需要实现一种语言,该语言将在运行时定义相当多的动态部分,并且对它们进行硬编码对我们来说行不通。因此我问。

以编程方式实现这一点至少需要什么?词法分析器和解析器的实现?还有什么?

有人可以提供一个不需要生成代码的极简实现示例吗?

最佳答案

我认为这在一般情况下是完全不切实际的。 Antlr 是一种从语法文件生成解析器的工具……如果您去掉了生成解析器(因为那是“生成代码”)和使用语法文件,那么,实际上,您只是去掉了整个 Antlr。

您可能会使用运行时库的某些部分(也许是 ATN?或一些较低级别的东西,例如 CharacterStream),但总的来说,您几乎需要从头开始编写自己的通用解析器/词法分析器。

让我反过来问你:你想从使用 Antlr 中获得什么?

关于java - 在没有语法文件的情况下,我需要做什么才能在 Antlr 中以编程方式实现语法、解析器和词法分析器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56212221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com