私は適度なサイズの言語の文法を書いています、そして私は形式の時間リテラルを実装しようとしていますhh:mm:ss
。
ただし、たとえば、12:34:56
として解析しようとするtimeLiteral
と、数字で不一致のトークン例外が発生します。誰かが私が間違っているかもしれないことを知っていますか?
現在定義されている関連ルールは次のとおりです。
timeLiteral
: timePair COLON timePair COLON timePair -> ^(TIMELIT timePair*)
;
timePair
: DecimalDigit DecimalDigit
;
NumericLiteral
: DecimalLiteral
;
fragment DecimalLiteral
: DecimalDigit+ ('.' DecimalDigit+)?
;
fragment DecimalDigit
: ('0'..'9')
;