gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:46 25 4
gpt4 key购买 nike

大家好,我是 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/

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