JavaのANTLR定義を読む4
HEX_DIGIT 16進数。 VOCAB ダミールールらしい。何のためにあるか不明。 IDENT 識別子。{testLiterals=true;}は何のためか不明。 NUM_INT 数値。isDecimalは分岐用。Token tはサフィックスを解析。 初めの一塊は.で始まる場合。f,Fが付くときのみfloat,それ以外はdouble。 次の塊は0で始まる場合。0xで始まる16進数、不動小数点数であることが確定するものが後に続く場合の前半部、8進数。 1..9で始まる場合と合わせてlongかどうかが分岐。 {isDecimal}?以下は十進数の場合のみ適用。(のはずだが、この文法だと常にisDecimal=trueのような……) EXPONENT 10のn乗を示すサフィックス。 FLOAT_SUFFIX Javaで数値をfloatやdoubleに指定するときのサフィックス。