Esempio n. 1
0
    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);
    }
Esempio n. 2
0
    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);
    }
Esempio n. 3
0
    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);
    }