【问题标题】:Preserving whitespaces in the original text在原始文本中保留空格
【发布时间】:2016-05-20 04:55:49
【问题描述】:

在 Antlr4 语法中,我有一个看起来像的规则

a :
    b
    {
       System.out.println($b.text);
    }
  ;

在输出中,我观察到缺少空格..

示例 输入 : int a = 5 ; 输出:
inta=5;

在语法上我也有一条规则

ws: [ \t\n] -> skip;

如何保留空白? (语法很大..所以我不能在这里分享)

【问题讨论】:

    标签: antlr grammar


    【解决方案1】:

    我自己找到了答案..如果有人需要,

    只是替换

    ws: [ \t\n] -> skip;
    

    ws: [ \t\n] -> channel(HIDDEN);
    

    编辑:不确定这是否适用于较旧的 antlr 版本.. 它肯定适用于 Antlr4

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    • 2023-04-04
    • 1970-01-01
    • 2014-12-30
    相关资源
    最近更新 更多