保留原始文本中的空格
Preserving whitespaces in the original text
在 Antlr4 语法中,我有一个规则看起来像
a :
b
{
System.out.println($b.text);
}
;
在输出中,我发现缺少空格..
例子
输入 :
int a = 5 ;
输出:
inta=5;
在语法上我也有一个规则
ws: [ \t\n] -> skip;
如何保留空格?
(语法太大了..所以我不能在这里分享)
我自己找到了答案..以防有人需要,
只是替换
ws: [ \t\n] -> skip;
和
ws: [ \t\n] -> channel(HIDDEN);
编辑:不确定这是否适用于较旧的 antlr 版本。它肯定适用于 Antlr4
在 Antlr4 语法中,我有一个规则看起来像
a :
b
{
System.out.println($b.text);
}
;
在输出中,我发现缺少空格..
例子
输入 :
int a = 5 ;
输出:
inta=5;
在语法上我也有一个规则
ws: [ \t\n] -> skip;
如何保留空格? (语法太大了..所以我不能在这里分享)
我自己找到了答案..以防有人需要,
只是替换
ws: [ \t\n] -> skip;
和
ws: [ \t\n] -> channel(HIDDEN);
编辑:不确定这是否适用于较旧的 antlr 版本。它肯定适用于 Antlr4