【发布时间】:2013-05-10 05:19:49
【问题描述】:
目前我正在研究来自 ANTLR 项目 wiki 的 JSON ANTLR 语法:http://www.antlr.org/wiki/display/ANTLR3/JSON+Interpreter
String :
'"' ( EscapeSequence | ~('\u0000'..'\u001f' | '\\' | '\"' ) )* '"'
;
fragment EscapeSequence
: '\\' (UnicodeEscape |'b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\')
;
我不明白为什么他们在String 规则中否定\\ 和\"?无论如何,它将与EscapeSequence 匹配。
如果我们把它改成~('\u0000'..'\u001f'),那么它的意思应该是一样的。
我错过了什么?
【问题讨论】:
标签: parsing antlr grammar lexical-analysis