(
t = <NUMBER_DECIMAL>
{
if(nativeNumbers) {
return new Long(t.image);
} else {
return new BigDecimal(t.image);
}
}
) | (
t = <NUMBER_INTEGER>
{
if(nativeNumbers) {
return new Double(t.image);
} else {
return new BigInteger(substringBefore(t.image, '.'));
}
}
(
t = <NUMBER_DECIMAL>
{
if(nativeNumbers) {
return new Double(t.image);
} else {
return new BigDecimal(t.image);
}
}
) | (
t = <NUMBER_INTEGER>
{
if(nativeNumbers) {
return new Long(t.image);
} else {
return new BigInteger(substringBefore(t.image, '.'));
}
}
)
Parser does this:
I think it should be: