gpt4 book ai didi

bison - if elsif else 语句解析

转载 作者:行者123 更新时间:2023-12-04 00:46:32 26 4
gpt4 key购买 nike

我一直在为使用 lex 和 yacc 的命令式语言开发一个编译器,今天我完成了语法,问题是我在网上读到每个语法都应该有一些转变/减少冲突,特别是如果它有 if/else 语句,这通常被称为悬空 if-else,而我的确实有 if/elsif/else 语句但它在编译时不会引发任何冲突,问题是

¿这是否意味着这种语法存在缺陷只是因为它不会引发任何移位/归约冲突?我没有太多的经验,但我找不到任何问题

如果您想了解更多信息,此语法中 if/elsif/else 语句的产生式如下所示:

statement -> ... 
------------| initial_conditional_stmt

initial_conditional_stmt: conditional_stmt
-----------------------| conditional_stmt 'else' block


conditional_stmt -> 'if' '(' expression ')' block
------------------| conditional_stmt elsif '(' expression ')' block

block 只是括号内的语句列表{}

最佳答案

没有 shift/reduce 冲突意味着你的语言设计做得非常好,而且从不模棱两可。

干得好,拍拍自己的背,放松一下,去冰箱里拿瓶啤酒。

关于bison - if elsif else 语句解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9164907/

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