小编use*_*189的帖子

接受单引号语法

我需要在 antlr4 中编写一个接受单引号内的日期和时间的语法,然后必须打印与输出相同的内容。例如:日期/时间 = '2007-08-01T01:00:00,000+01:00'。如果这是我的输入,它必须接受语法中的(日期或时间)或日期和时间,并且输出应与我们给出的输入打印相同。

我的语法的一部分

predicateOperand : objectPath | operand;

operand : STRING | INTEGER | FLOAT | DATE | PARAMETER | BOOLEAN;

DATE :  '\'' DIGIT DIGIT DIGIT DIGIT '-' DIGIT DIGIT '-' DIGIT DIGIT
        'T' DIGIT DIGIT ':' DIGIT DIGIT ':' DIGIT DIGIT ',' DIGIT DIGIT
        DIGIT '+' DIGIT DIGIT ':' DIGIT DIGIT '\'';

STRING :  '\'' ( ESC_SEQ | ~('\\'|'\'') )* '\''
          |'"' ( ESC_SEQ | ~('\\'|'"') )* '"';
Run Code Online (Sandbox Code Playgroud)

这是我的语法的一部分。但是,如果我给'2007-08-01T01:00:00,000+01:00'作为输入,它不接受作为日期而不是接受作为字符串。

如果有人帮助,那可能会非常感谢我。谢谢你。

antlr antlr4

5
推荐指数
1
解决办法
3791
查看次数

标签 统计

antlr ×1

antlr4 ×1