ANTLR4:如何隐藏特定字符?
ANTLR4: How to hide a specific character?
我是 ANTLR4 的新手,遇到了麻烦。
我想让代码接受数字之间带有 _ 的整数,但输出不包含 _ 个字符。例如:它会接受 12_34_5 并且预期的标记为 12345.
有没有办法在 ANTLR4 中做到这一点?
我认为你所说的“输出不包含_字符”是指重写已识别标记的文本值。解析的“输出”是一个解析树。
CSharp:
grammar Rewrite;
everything: .* EOF;
Int: [0-9_]+ { Text = Text.Replace("_",""); };
WS: [ \n\r\t]+ -> skip;
请注意,“操作代码”是特定于目标的,即在 C# 中用于 CSharp 目标。您将需要更改另一个目标的操作代码。
我是 ANTLR4 的新手,遇到了麻烦。
我想让代码接受数字之间带有 _ 的整数,但输出不包含 _ 个字符。例如:它会接受 12_34_5 并且预期的标记为 12345.
有没有办法在 ANTLR4 中做到这一点?
我认为你所说的“输出不包含_字符”是指重写已识别标记的文本值。解析的“输出”是一个解析树。
CSharp:
grammar Rewrite;
everything: .* EOF;
Int: [0-9_]+ { Text = Text.Replace("_",""); };
WS: [ \n\r\t]+ -> skip;
请注意,“操作代码”是特定于目标的,即在 C# 中用于 CSharp 目标。您将需要更改另一个目标的操作代码。