Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.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
Error handling 什么是ANTLR3错误恢复方法?_Error Handling_Antlr_Antlr3_Error Recovery - Fatal编程技术网

Error handling 什么是ANTLR3错误恢复方法?

Error handling 什么是ANTLR3错误恢复方法?,error-handling,antlr,antlr3,error-recovery,Error Handling,Antlr,Antlr3,Error Recovery,这似乎是一个理论问题 据我所知,ANTLR3使用其recover(####)方法自行处理错误。我想知道ANTLR3用于错误恢复的方法是什么。(即恐慌模式/短语级别等)有人能帮我解决这个问题吗 如果我的第一个猜测是正确的,如果有人能告诉我它的恢复方法的声明,那就太好了。谢谢。引用: ANTLR的错误恢复机制基于Niklaus Wirth的早期 算法思想+数据结构=程序1(以及 Rodney Topor关于递归下降解析器中错误恢复的注记 2) 但也包括Josef Grosch的CoCo的好主意 解析

这似乎是一个理论问题

据我所知,ANTLR3使用其recover(####)方法自行处理错误。我想知道ANTLR3用于错误恢复的方法是什么。(即恐慌模式/短语级别等)有人能帮我解决这个问题吗

如果我的第一个猜测是正确的,如果有人能告诉我它的恢复方法的声明,那就太好了。谢谢。

引用:

ANTLR的错误恢复机制基于Niklaus Wirth的早期 算法思想+数据结构=程序1(以及 Rodney Topor关于递归下降解析器中错误恢复的注记 2) 但也包括Josef Grosch的CoCo的好主意 解析器生成器(Recur中高效舒适的错误恢复)- 解析程序3)。本质上,识别器执行单个- 不匹配符号错误时的符号插入和删除(如 如有可能,请稍后进行说明。如果没有,识别器将吞噬sym- bols,直到前瞻是重新同步集的成员,并且 然后退出规则。重新同步集是输入符号集 可以合法地遵循对当前规则的引用和对 调用链上的任何调用规则。类似地,如果识别器不能 从规则(识别器)的开头选择任何备选方案 再次使用狼吞虎咽和退出策略

[……]

--特伦斯·帕尔,10.7自动错误恢复策略

工具书类 1尼古拉斯·沃思。算法+数据结构=程序。普伦蒂斯大厅PTR,上鞍河,新泽西州,美国,1978年

2罗德尼·W·托波尔。关于递归下降分析器中错误恢复的说明。第17(2)页:第37-401982页


3约瑟夫·格罗奇。递归下降解析器中高效且舒适的错误恢复。结构化编程,11(3):129–1401990。

您能解释一下以下部分吗<代码>如果不是,识别器将吞噬sym-BOL,直到前瞻是重新同步集的成员,然后退出规则。重新同步集是一组输入符号,可以合法地遵循对当前规则的引用和对调用链上任何调用规则的引用。谢谢。很抱歉问一下,这是一种幽默的尝试,还是一种讽刺的评论?