}
}
final private void exFuncDef() throws ParseException {
/*@bgen(jjtree) UserDefinedFunctionDef */
ASTUserDefinedFunctionDef jjtn000 = new ASTUserDefinedFunctionDef(this, JJTUSERDEFINEDFUNCTIONDEF);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
Token t;
try {
// matches to @myfunc(a:="x";b:="y")
t = jj_consume_token(At_other);
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case OParen:
jj_consume_token(OParen);
exParam();
label_6: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case EOS:
;
break;
default:
jj_la1[11] = jj_gen;
break label_6;
}
jj_consume_token(EOS);
exParam();
}
jj_consume_token(CParen);
break;
default:
jj_la1[12] = jj_gen;
;
}
jjtree.closeNodeScope(jjtn000, true);
jjtc000 = false;
jjtn000.init(t.image);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {