gpt4 book ai didi

antlr4 - 如何创建一个解析日期的antlr4语法

转载 作者:行者123 更新时间:2023-12-02 04:12:54 25 4
gpt4 key购买 nike

我想使用以下 ANTLR4 语法解析一些日期格式。

grammar Variables;
//varTable : tableNameFormat dateFormat? ;
//tableNameFormat: (ID SEPERATOR);
dateFormat : YEAR UNDERSCORE MONTH UNDERSCORE TODAY
| YEAR
;
YEAR : DIGIT DIGIT DIGIT DIGIT; // 4-digits YYYY
MONTH : DIGIT DIGIT; // 2-digits MM
TODAY : DIGIT DIGIT ; // 2-digits DD
UNDERSCORE: ('_' | '-' );
fragment
DIGIT : [0-9] ;
ID : [a-zA-Z][a-zA-Z0-9]? ;
WS : [ \t\r\n]+ -> skip ;

此语法应该可以轻松解析“2016-01-01”,但它会导致输入不匹配。请帮忙

最佳答案

就我而言,它有效。我得到了一个正确的解析树,输入为:2016-01-01

grammar date;

dateFormat : year UNDERSCORE month UNDERSCORE today
| year
;

year : DIGIT DIGIT DIGIT DIGIT
;

month : DIGIT DIGIT
;

today : DIGIT DIGIT
;

UNDERSCORE: ('_' | '-' );
DIGIT : [0-9] ;

但我会使用 month 之类的东西 (0 [1-9] | 1 [0-2]) 因为只有 12 个月。

关于antlr4 - 如何创建一个解析日期的antlr4语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35651518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com