Пример #1
0
        void DECL(out AST e)
        {
            SymDeclaring e1; AST e2 = null; StructDcel es = null;
            AST          idval; List <AST> el = new List <AST>();

            DCL(out e1, out idval);
            if (la.kind == 3 || la.kind == 10 || la.kind == 12)
            {
                if (la.kind == 10 || la.kind == 12)
                {
                    ASSIG(out e2, idval);
                }
                else
                {
                    Get();
                    AST structid = new SymReferencing(t.val); string idofstruct = t.val;
                    if (la.kind == 10)
                    {
                        Get();
                        STRUCTDECL(out el);
                    }
                    es = new StructDcel(idval, el); es.structId = structid;
                    e2 = new Assigning(structid, es); e1.id = idofstruct;
                }
            }
            e = new Decl(e1, e2);
            Expect(11);
        }
Пример #2
0
 public abstract void Visit(StructDcel n);