antlr3:在不同的上下文中区分相同的字符

时间:2012-12-15 19:13:35

标签: antlr3

我需要翻译这个

中的简单文字
Some title - possibly with dashes inside
---
other text

到此:

<h1>Some title - possibly with dashes inside</h1>
<div>other text</div>

换句话说,单独一行上的一个或多个短划线将标题与其他文本分开

我做了这个语法:

grammar Foo;
options { output=template; }

text : t+=title? -> lesson(title={$t}) ;

title : PLAIN_TEXT titleSeparator -> title(txt={$PLAIN_TEXT.text});

titleSeparator : NL '-'+ NL ;

PLAIN_TEXT : LETTER+ ;
NL  : '\r'? '\n' ;

fragment LETTER : 'a'..'z' | '-' | ' ';

语法会产生正确的输出,但会发出警告:第2行:0输入不匹配' - '期待' - '。我在这里看到了一个关于这个问题的问题,但它对我没有帮助。

我觉得我错过了一些东西,但却无法得到什么。

我需要的是一种语法,它区分文本中的单独破折号和由多个破折号组成的行

提前致谢

0 个答案:

没有答案