0.11.2 版本的 vscode 扩展存在歧义问题

问题描述 投票:0回答:1

自从我将 rascal 的 vscode 扩展更新到版本 0.11.2 以来,当我尝试测试我的语法时,我一直收到歧义警告和错误。我降级回 0.11.1,它像以前一样工作。我什至尝试了其他以前版本的扩展,它们的工作方式正常。可能是什么原因?

这是我的代码库的一个简短示例。

module lang::testlang::Expressions

extend lang::std::Layout;
extend lang::exprlang::grammar::Expressions;


start syntax Program = Expr; 

syntax Expr
    = :neq2
    > left hashExp: Expr "#" Expr
    ;

在 0.11.2 版本中,对于像

2+2
这样的简单示例,它返回歧义错误,但不是
2 + 2
。使用 0.11.1 测试同样的事情不会给我警告或返回歧义错误

rascal
1个回答
0
投票

我们解决了该版本中扩展和语法如何工作的一些问题。要么你遇到了回归,要么语法依赖于一个统一的错误。

如果您可以制作一个最小的工作示例(并将其提交给问题跟踪器),我们可以帮助解决它。

我会说,由于名为

neq2
的空产生式,这个语法很可能是雄心勃勃的。您很少需要空的产生式,因为它们通常会导致模糊的解析森林。

© www.soinside.com 2019 - 2024. All rights reserved.