ANTLR:如何在算术运算中允许布尔值

时间:2019-03-01 14:05:58

标签: javascript boolean antlr

我正在尝试编写ANTLR语法以读取JavaScript算术运算。

具体来说,我想在$liste = "$i. $arrayServ [$i]" $msg = $liste -join "`n" $item = InputBox $msg -title "Your choice" 0 + true = 1等算术运算中支持布尔值。

我现在有以下内容:

0 + false = 0

如何使BOOLEAN: 'true' | 'false'; 的含义也为“ true”,而“ 0”的含义也为false?

1 个答案:

答案 0 :(得分:1)

  

如何在算术运算中允许布尔值

通过使yarn relay成为表达式规则的一种可能替代方法。实际上,如果您以正常方式编写语法,情况就已经如此。像BOOLEAN这样的东西在几乎所有支持中缀运算符的语言中在语法上都是有效的(在许多语言中这都是类型错误,但在语法上仍然有效)。

  

如何使1表示“ true”,而使“ 0”表示false?

在类型检查,代码生成和/或评估代码中将其视为此类。语法没有指定事物的含义-只是语法上的有效和无效以及生成的解析树的外观。