jjtc001 = false;
try {
x = token.image.toLowerCase();
len = x.length();
Double imag = new Double(x.substring(0, len - 1));
Complex value = new Complex(0, imag.doubleValue());
jjtn001._ptToken = new ComplexToken(value);
jjtn001._isConstant = true;
} catch (NumberFormatException ee) {
{
if (true) {
throw new ParseException("Unable to convert token "
+ token.image + " to a complex number.");
}
}
}
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
}
}
break;
case DOUBLE:
ASTPtLeafNode jjtn002 = new ASTPtLeafNode(JJTPTLEAFNODE);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
try {
jj_consume_token(DOUBLE);
jjtree.closeNodeScope(jjtn002, true);
jjtc002 = false;
try {
x = token.image.toLowerCase();
len = x.length();
if (x.endsWith("f")) {
Float value = new Float(x.substring(0, len - 1));
jjtn002._ptToken = new FloatToken(value.floatValue());
} else if (x.endsWith("d") || x.endsWith("p")) {
// all floating point numbers are double
Double value = new Double(x.substring(0, len - 1));
if (x.endsWith("p")) {
jjtn002._ptToken = new PetiteToken(value
.doubleValue());
} else {
jjtn002._ptToken = new DoubleToken(value
.doubleValue());
}
} else {
Double value = new Double(x);
jjtn002._ptToken = new DoubleToken(value.doubleValue());
}
jjtn002._isConstant = true;
} catch (NumberFormatException ee) {
{
if (true) {