1
私は中程度のサイズの言語用の文法を書いていますが、hh:mm:ss
という形式の時間リテラルを実装しようとしています。ANTLR:他の数値リテラルも可能な場合の2桁の数字の解析
ただし、たとえば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')
;