1
我使用所谓的定义了一个名为“信息”处理“ n”,噩梦终端..
message : '"'.* '"';
定义,代表每一件小事里“”是的消息,终端 它运作良好“lkjaldjfa kajf”普通的东西 但是当我遇到“\ n”时,它变成了一场噩梦 - 这引起了不定式的循环,吃掉了我的记忆。
我不知道为什么..谢谢
我使用所谓的定义了一个名为“信息”处理“ n”,噩梦终端..
message : '"'.* '"';
定义,代表每一件小事里“”是的消息,终端 它运作良好“lkjaldjfa kajf”普通的东西 但是当我遇到“\ n”时,它变成了一场噩梦 - 这引起了不定式的循环,吃掉了我的记忆。
我不知道为什么..谢谢
...它变成一场噩梦 - 这导致不定式循环,吃了我的记忆。
很难评论,不能重现它。
然而,解析器规则:
message : '"' .* '"';
匹配令牌'"'
后跟零个或多个其他令牌与令牌'"'
结束。
除非你有一个很好的理由,以保持它作为一个解析器规则(我很想听听然后),将其更改为词法规则:
Message : '"' .* '"';
其中字符匹配'"'
后面跟零个或多个其他个字符以字符结尾'"'
。
另见:Practical difference between parser rules and lexer rules in ANTLR?
嗨!为了回答你的问题,需要查看其他Lexer规则。 – Andremoniy