问题标签 [ambiguous-grammar]
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.
grammar - LALR 语法模棱两可
我为布尔和算术表达式制作了一个语法。我想处理算术表达式,例如:
我已经完成了这项工作:我可以处理我想要的所有表达式。
我的问题是布尔表达式可能类似于:
所以在某些时候我的布尔规则必须引用我的算术表达式规则。我不能在布尔规则中使用括号 (),因为它会导致我的语法不明确。我明白为什么,但我无法找到解决这个问题的方法。
context-free-grammar - 上下文无关语法模棱两可?
对于以下上下文无关语法:
正式的定义是:
我怎么知道这个语法是否模棱两可?谢谢你。
algorithm - 歧义语法(BNF 表示法)
鉴于此语法:
我如何证明它是模棱两可的?
linux - 从 Git 中删除敏感数据。“致命:模棱两可的论点'rm'”
我正在尝试运行此命令:
但我不断收到此错误:
prolog - 从歧义语法转换为明确语法
我有模棱两可的上下文无关语法,它有产品:
这当然是模棱两可的,因为对于 00011 我可以绘制另外两个解析树。我必须编写我的语法,这是明确的语法并描述相同的语言。我的想法是:
很好?我怎么能证明呢?
c# - 在 C# 中如何解决模棱两可的枚举值?
我检查了 C# 语言规范中有关枚举的部分,但无法解释以下代码的输出:
它输出:
现在,为什么它会选择第三个“1”,第一个“2”和“3”,而第二个“4”?这是未定义的行为,还是我遗漏了一些明显的东西?
eclipse - 无法识别规则
我写了一个语法,它应该允许我定义变量和数组。一切正常,直到我将变量拆分为局部变量和全局变量。现在我的解析器不再识别数组(它说它将是一个变量并给我语法错误)。
我的语法:
你们中有人知道问题是什么吗?
(也欢迎任何其他代码改进)
问候 Krzmbrzl
perl - 如何使 Marpa 的序列规则变得贪婪?
我正在研究一种Marpa::R2
将文本中的项目分组的语法。每个组只能包含某种类型的项目,但没有明确分隔。这会导致问题,因为x...x
(其中.
表示可以成为组一部分的项目)可以分组为x(...)x
, x(..)(.)x
, x(.)(..)x
, x(.)(.)(.)x
。换句话说,语法是高度模棱两可的。
x(...)x
如果我只想要解析,即如果我想强制+
量词只表现“贪婪”(就像在 Perl 正则表达式中所做的那样),我该如何消除这种歧义?
在下面的语法中,我尝试rank
在顺序规则中添加副词以优先Group
于Sequence
,但这似乎不起作用。
下面是一个练习这种行为的测试用例。
测试用例的输出(FAIL):
grammar - 显示以下语法有歧义
我正在尝试识别一个可以产生多个派生树的句子。还从句子中提供两种不同的树
ps 我很难找出句子
grammar - 找到以下每种语言?(语法)
我想,对于Τ={a, b, c}上的以下每种语言,构造相应的正则表达式和正则语法:
- 所有字符串正好包含三个 a。
- 最多包含三个 b 的所有字符串。
我怎样才能做到这一点?