问题标签 [cup]
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.
java - 使用 hashmap JAVA 对两个字符串数字求和
我目前正在使用 JFLEX 和 CUP 制作编译器。
我有一个存储键和值的哈希图(v)
我希望我的编译器能够识别这个
我可以将值分配给x和y,但我无法添加它们并将它们分配给新密钥。
asing部分的代码是这样的,在哪里ASIGN is =
和IDENTIFIER is a letter
expresion is a Number
我想要实现的是这样的
我不知道我是否需要一个特殊的总和代码,或者他们是否因为 String 类型而没有添加。
我会很感激一些帮助谢谢
parsing - Java杯,如何在生成的解析器文件中的每个reduce之后注入一个函数?
我正在使用 .cup 文件根据特定的派生规则生成解析器。
每次reduce之后,我想调用一个函数,是否可以在.cup文件的任何地方定义它,以便在每次reduce之后注入到生成的代码中?
java - 使用 cup 和 jflex 运行解析时出错
我是 JFlex 和 CUP 的新手。我试图做一个简单的例子,但是当我运行解析器时,它总是给出同样的错误,它不会随着语句的识别而进步。我认为问题一定出在产品或规则上。我已将 Java 中始终使用的符号定义为终端,例如:
我将非终结符定义如下:
像这样的语法:
输入数据或文件包含第 2 行的以下内容:
当我运行解析器时,我打印词法分析器的结果,然后我运行解析器得到以下结果:
错误显示在 LBRACE 中。
我用于测试的版本是:
总体思路是:
定义页面块并在内部定义其他元素,例如标签。
如果您能帮我执行这个示例,我将不胜感激。
对于规则或产生式的定义以及应如何减少 CUP,现有的信息非常稀缺。我研究过的所有例子都是算术表达式,但我没有发现更多有助于解决问题的例子。
这是我的词法分析器文件
运行解析器时,词法分析器会检测标记。我不知道空间会发生什么。
文本无法修复并继续解析由解析器杯设置。
这是生成解析器时的结果
运行解析器的代码
提前致谢
jflex - Jflex 和 CUP 不适用于 vscode 和 mac
我下载了 jflex,brew install jflex
一切都按照它应该的方式工作。
但是现在当我试图让它与java_cup.runtime.*
. 我不断收到以下错误
我的教授说,
“符号类是解析器 (JavaCUP) 的运行时 jar 文件的一部分。您可以在词法分析器中使用它,只需将类路径设置为包含来自 JavaCUP 的 jar 文件并导入它”
所以我在下面制作了 bash 文件并按照他所说的做了,但它不起作用。
这是我的 jflex 文件