Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ANTLR:如何在算术运算中允许布尔值_Javascript_Boolean_Antlr - Fatal编程技术网

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

Javascript ANTLR:如何在算术运算中允许布尔值,javascript,boolean,antlr,Javascript,Boolean,Antlr,我正在尝试编写ANTLR语法来读取JavaScript算术运算 具体来说,我希望在算术运算中支持布尔值,例如0+true=1和0+false=0 我现在有以下几点: BOOLEAN: 'true' | 'false'; 如何使1也表示“真”,而“0”也表示假 如何在算术运算中允许布尔值 通过将布尔值设置为表达式规则的一种可能的替代方法。事实上,如果你用正常的方式写语法,情况已经是这样了。类似于0+true的内容在几乎任何支持中缀运算符的语言中都在语法上有效(在许多语言中这可能是一

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

具体来说,我希望在算术运算中支持布尔值,例如
0+true=1
0+false=0

我现在有以下几点:

BOOLEAN: 'true'
       | 'false';
如何使
1
也表示“真”,而“0”也表示假

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

通过将
布尔值设置为表达式规则的一种可能的替代方法。事实上,如果你用正常的方式写语法,情况已经是这样了。类似于
0+true
的内容在几乎任何支持中缀运算符的语言中都在语法上有效(在许多语言中这可能是一个类型错误,但在语法上仍然有效)

如何使1也表示“真”,而“0”也表示“假”

通过在类型检查、代码生成和/或求值代码中这样对待它。语法没有指定事物的含义——只指定语法上有效和无效的内容以及生成的解析树的外观