问题标签 [javacc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
4149 浏览

java - 在 Linux 上使用 ANT、Javacc、JUnit 和编译 Java 类加快构建时间的技巧

我们有一个庞大的代码库,在开发人员机器上大约需要 12 分钟才能使用 JavaCC 自动生成一些 Java 5 类,然后编译所有类并运行单元测试。

该项目由多个可以分组构建的项目组成,但我们的目标是在 10 分钟内完成一个完整的构建

有什么技巧可以减少此构建时间?

谢谢

0 投票
8 回答
25856 浏览

antlr - ANTLR 或 JavaCC 哪个更好?

关注点是文档/可学习性、eclipse 集成、工具、社区支持和性能(大致按此顺序)。

0 投票
1 回答
1162 浏览

java - JavaCC 中的 NULL 令牌

我的 JavaCC 解析器中的 token < NULL: "null" > 有奇怪的问题。表达方式如

解析器看不到 NULL 令牌并抛出“null”预期的异常。如果我将令牌定义更改为 < NULL: "null_val" > 或其他内容,它可以正常工作。这是我的错误还是 JavaCC 不接受“null”作为令牌值?

0 投票
2 回答
2793 浏览

ascii - 使用 JAVACC 识别扩展字符

我正在使用 JavaCC 创建语法并且遇到了一个小问题。我试图允许生成的编译器识别 ASCII 扩展集中的任何有效字符。在查看了相同的 JavaCC 示例(主要是显示 JavaCC Grammer 本身的示例)之后,我设置了以下标记来识别我的字符:

如果我正确理解这一点,它应该匹配所有 ASCII 字符的八进制表示,从 0-377(涵盖扩展 ASCII 集中的所有 256 个字符)。这对所有键盘字符(az、0-9、?、./ 等)甚至大多数特殊字符(©、¬®)都按预期执行。但是,每当我尝试解析“商标”符号 (™) 时,我的解析器都会不断抛出 End of File 异常,表明它无法识别该符号。是否有一些明显的方法可以增强我对字符的定义以允许商标符号被接受?

0 投票
4 回答
2698 浏览

regex - JavaCC的警告“正则表达式选择:FOO永远不能匹配为:BAR”的解释和解决方案?

我正在自学在一个爱好项目中使用 JavaCC,并有一个简单的语法来编写解析器。解析器的一部分包括以下内容:

使用 JavaCC 编译时,我得到输出:

我确信这是一个简单的概念,但我不明白这个警告,作为解析器生成和正则表达式的新手。

这个警告是什么意思(在你可以得到的新手术语中)?

0 投票
7 回答
3346 浏览

java - 解析器,Java 生成器,具有以下要求

我正在寻找一个用于 Java 的解析器生成器,它执行以下操作:我的语言项目非常简单,只包含一小组标记。

以纯 READABLE Java 代码输出,以便我可以修改它(这就是我不使用 ANTLR 的原因)成熟的库,至少可以在 Java 1.4 上运行和工作

我查看了以下内容,它们可能会起作用:JavaCC、jlex、Ragel?

0 投票
1 回答
3558 浏览

java - JavaCC - 将数学表达式解析为类结构

我正在使用这个语法来计算数学表达式:

这很好用。但是现在我不想得到一个数字作为结果,而是一个代表术语的类结构。我想到了这样的事情:

我与 Java 或 JavaCC 没有太多关系,所以你能告诉我如何为此编写语法吗?

PS:我正在使用Java ME。

0 投票
2 回答
6524 浏览

java - Parsing RTF Documents with Java/JavaCC

Is anybody familiar with the the RTF document format and parsing using any Java libaries. The standard way people have done this is by using the RTFEditorKit in the JDK Swing API:

Swing RTFEditorKit API

but it isn't that accurate when it comes to parsing RTF documents. In fact there's a comment in the API:

The RTF support was not written by the Swing team. In the future we hope to improve the support provided.

I don't think I'm going to wait for this to happen :)

The other approach taken is to define a grammar using JavaCC and generate a parser. This works better, but I'm having trouble finding a complete grammar. I've tried:

PMD Applied JavaCC Grammar

which is ok and the following (which is the best so far).

Koders RTFParserDelegate and ETranslate Grammar

There are various implementations of the ETranslate grammar about (I know the Nutch API may use this). Does anybody know which is the most accurate grammar or whether there is a better approach to this?

I could start ploughing through the JavaCC docs to understand the .jj files and test it against the RTF files... this is my current approach, but it's taking a while... any help would be appreciated

0 投票
3 回答
2697 浏览

parsing - 在 JavaCC 中处理令牌歧义

我正在尝试在 JavaCC 中编写一个解析器,它可以识别一种在令牌级别有一些歧义的语言。在这种特殊情况下,语言本身支持“/”标记作为除法运算符,同时它还支持正则表达式文字。

考虑以下 JavaCC 语法:

给定以下代码:

可以生成两组不同的令牌。令牌流应该是:

或者

我如何确保 TokenManager 生成我期望在这种情况下的令牌流?

0 投票
1 回答
914 浏览

parsing - javacc parseException...前瞻问题?

我正在为 javacc 中的一个非常简单的语法编写一个解析器。它开始融合在一起,但目前我完全陷入了这个错误:

有问题的输入行是z = y + z + 5

给我带来问题的产生是我从 varDecl() 调用的表达式:

表达式如下所示:

我不知道为什么会出现此错误 - 任何见解都将不胜感激。