gpt4 book ai didi

c - ANSI C YACC 语法中的歧义

转载 作者:行者123 更新时间:2023-12-04 01:09:54 26 4
gpt4 key购买 nike

我在看 ANSI C YACC 语法。
还有一些我不明白的地方。
http://www.lysator.liu.se/c/ANSI-C-grammar-y.html#expression

assignment_expression
: conditional_expression
| unary_expression assignment_operator assignment_expression
;

constant_expression
: conditional_expression
;

下面是赋值表达式和常量表达式的规则。
我的问题是他们如何使用 conditional_expression减少?
如果有一个token减少为conditional_expression,token减少后YACC解析器如何知道如何减少 assignment_expression之间的token和 constant_expression ?
我想我错过了一些巨大的东西,但我自己找不到。
谢谢

最佳答案

没有歧义,因为没有上下文同时出现 assignment_expressionconstant_expression可能会出现。

有形式规则绝对没有错

a: z;
b: z;
c: z;

如果 a , b , 和 c都出现在不同的上下文中。如果您有以下情况
t: a | b | c;

那么就有问题了。但是对于 conditional_expression 来说没有这样的东西.

关于c - ANSI C YACC 语法中的歧义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55827603/

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