ml-antlr或ml-ulex添加额外的背面输出

时间:2015-11-18 17:29:29

标签: parsing antlr sml lexer

我用ml-ulex和ml-antlr写了一个词法分析器和解析器。 (运行sml / nj) 我的词法分析器中有以下规则:

<TRUSTED> [\"] => ( YYBEGIN INQUOTE ; Tokens.ValidText yytext );

它已被正确识别,但是yytext还有几个额外的&#39; \&#39;字符串中的(反斜杠)。我得到了\\\\\\\#34;而不是\&#34;。

为了让事情变得更加困惑,我用这句话取代了我的词法分析器中的规则:

<TRUSTED> [\"] => ( YYBEGIN INQUOTE ; Tokens.DBLQUOTE );

在我的语法中,我有了令牌 prod:DBLQUOTE =&gt; (&#34; \&#34;&#34;);

与之前的结果相同.... 如果我用

替换规则
prod: DBLQUOTE    =>   ( "*test*" );

然后我得到一个 test 作为我的字符串。

我已尝试在结果字符串上使用String.fromString,但它并没有做到这一点。我不确定发生了什么或为什么。

0 个答案:

没有答案