有人可以提供指针,如何优化来自ANTLR生成的解析器的错误消息?
这条消息对我说话,但可能不是那个人,你最后的工具应该是谁:
>> grun Php start -gui
function f() { $d = 23; $f = 12; }
line 1:24 missing '}' at '$f'
line 1:33 extraneous input '}' expecting {<EOF>, 'interface', '(object)', 'yield', '`',
'trait', 'namespace', '__TRAIT__', 'echo', '(unset)', 'abstract', '__FUNCTION__', '"', 'do',
'use', 'throw', '@', 'print', 'global', 'inlcude_once', 'goto', 'empty', 'class', '!',
'foreach', '__METHOD__', '-', 'while', '(double)', 'exit', 'if', 'require', '__NAMESPACE__',
'isset', 'array', 'break', 'final', '__halt_compiler', '$', 'isempty', '+', '(array)',
'switch', 'clone', 'declare', '(bool)', '~', '(string)', '[', 'continue', '__LINE__', '+++',
'const', 'new', '__CLASS__', '__FILE__', 'unset', '(', 'try', '{', '\\', 'static', 'eval',
'require_once', '(int)', 'for', 'list', 'return', ';', 'include', '__DIR__', T_VARIABLE,
T_LNUMBER, T_DNUMBER, T_STRING_VARNAME, T_CONSTANT_ENCAPSED_STRING, StringLiteral,
'function', '++', '--', T_START_HEREDOC, T_STRING}
答案 0 :(得分:0)
实施ANTLR错误策略。书中有很多例子。第9章第149页。 叔