0

有人可以提供指针,如何优化来自 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}
4

1 回答 1

0

实现一个 ANTLRErrorStrategy。书中有很多例子。第 9 章 p149。三

于 2013-09-19T17:30:28.057 回答