do {
if ((LA(1)==DIGIT)) {
match(DIGIT);
}
else {
if ( _cnt105>=1 ) { break _loop105; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt105++;
} while (true);
}
match(DOT);
}
}
catch (RecognitionException pe) {
synPredMatched106 = false;
}
rewind(_m106);
inputState.guessing--;
}
if ( synPredMatched106 ) {
decimal();
}
else if ((LA(1)==DIGIT) && (_tokenSet_5.member(LA(2))) && (_tokenSet_6.member(LA(3)))) {
integer();
}
else if ((LA(1)==IDEN) && (LA(2)==LP)) {
function();
}
else if ((_tokenSet_7.member(LA(1))) && (_tokenSet_8.member(LA(2)))) {
path();
if ( inputState.guessing==0 ) {
expr(new PathExpr(new Path(steppath)));
steppath = pathstack.pop();
step = steppath.last();
System.out.println("pop:"+steppath+" step:"+step);
}
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
}