我需要在 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 | ~('\\'|'"') )* '"';
这是我语法的一部分。但是,如果我将'2007-08-01T01:00:00,000+01:00'作为输入,它不接受日期,而是接受字符串。
如果有人帮助,那可能会非常感谢我。谢谢你。