Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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
Antlr4 验证语法是否为LL(1)_Antlr4_Ll - Fatal编程技术网

Antlr4 验证语法是否为LL(1)

Antlr4 验证语法是否为LL(1),antlr4,ll,Antlr4,Ll,我想验证我的ANTLR 4语法是否为LL(1)。ANTLR 4中有类似的东西吗 我仔细看了一遍,但什么也没找到。尽管似乎特别缺乏,但我甚至没有找到所有可能选项的列表。ANTLR 4的设计目标之一是让语言设计师能够专注于编写准确的语法,而不是担心诸如“LL(1)”之类的特性,这些特性对语言用户几乎没有影响 但是,您可能可以通过检查生成的解析器来识别LL(1)语法。如果生成的代码中没有调用adaptivePredict,则语法为LL(1)。这样做的目的是为了使反向也是正确的,但考虑到调用adapti

我想验证我的ANTLR 4语法是否为LL(1)。ANTLR 4中有类似的东西吗


我仔细看了一遍,但什么也没找到。尽管似乎特别缺乏,但我甚至没有找到所有可能选项的列表。

ANTLR 4的设计目标之一是让语言设计师能够专注于编写准确的语法,而不是担心诸如“LL(1)”之类的特性,这些特性对语言用户几乎没有影响

但是,您可能可以通过检查生成的解析器来识别LL(1)语法。如果生成的代码中没有调用
adaptivePredict
,则语法为LL(1)。这样做的目的是为了使反向也是正确的,但考虑到调用
adaptivePredict
会产生与LL(1)决策的内联版本相同的结果,我们尚未对此进行严格评估