java - cup 解析器允许我在语法 LALR 中进行空转换吗?

标签 java parsing expression grammar cup

大家好,我是 cup 解析器的新手,我的问题是,在我的语法中的 trans 定义中,我有空 trans,我的问题是,这是正确的吗?

例如,在我的语法中,我有

INIT -> A B -c-   
A -> A -a-  
| empty  
B -> B -b-  
| empty  

其中 A、B 为无终结点,a、b、c 为终结点

我尝试制作替代语法,但扩展了我尝试在没有空反式的情况下解析的语言

我如何在cup中对其进行编程来制作解析器?感谢您的所有贡献和帮助...

最佳答案

有关cup语法示例,您可以查看网站here .

关于语法,您必须首先定义终端和非终端

Terminal: a, b, c, EMPTY;

Non-Terminal: init, A,B;

然后开始你的语法

start with: init

init ::= A:e | B:e;
A    ::= A:e | A:e -a- | EMPTY;
B    ::= B:e | B:e -b- | EMPTY;
a    ::= a:e {: RESULT = e:}
b    ::= b:e {: RESULT = e:}

等等。请记住,使用这种方法,您将必须有某种方法来定义您的终端和符号。如果您正在寻找用作词法分析器的东西,我建议 jflex .

关于java - cup 解析器允许我在语法 LALR 中进行空转换吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35330855/

相关文章:

json - nodejs JSON解析.issue

PHP数组解析

regex - 修复preg_match规则不匹配标签 “<”的开头

java - i/p 字符串错误

java - 无法执行 Watir 悬停或鼠标悬停主导航菜单

php - 使用 php 从源代码中提取 css 类和 ID

Python - 评估字符串中的数学表达式

java - 如何在 linux 中查找 oracle 监听器端口

java - 当 JTextField 在 Netbeans 中获得焦点时如何更改 JTextField 周围的蓝色突出显示颜色

r - 在 R 的 matplot 中写入 $^*$