void ParList(out FuncArguments args) { List <string> names = new List <string>(); if (la.kind == 1) { Get(); names.Add(t.val); while (la.kind == 25) { Get(); Expect(1); names.Add(t.val); } if (la.kind == 25) { Get(); Expect(63); } } else if (la.kind == 63) { Get(); names.Add("params dynamic[] args"); } else { SynErr(82); } args = new FuncArguments(names); }
void FuncBodyLambda(out Operand st) { Operand st2; var args = new FuncArguments(); Expect(36); if (la.kind == 1 || la.kind == 63) { ParList(out args); } Expect(52); st = new FuncDefLambda(args); FuncBlock(out st2); Expect(59); }
void FuncBody(Operand fn) { Operand st2; var args = new FuncArguments(); Expect(36); if (la.kind == 1 || la.kind == 63) { ParList(out args); } Expect(52); env.codeGen.Emit(new FuncDef(fn, args)); FuncBlock(out st2); Expect(59); }