예제 #1
0
        void VALUE(out AST e)
        {
            e = null; List <AST> elist = new List <AST>();
            switch (la.kind)
            {
            case 4:
            case 5: {
                BOOL();
                e = new BooleanConst(t.val);
                break;
            }

            case 1: {
                Get();
                e = new IntConst(t.val);
                break;
            }

            case 2: {
                Get();
                e = new FloatConst(t.val);
                break;
            }

            case 6: {
                Get();
                e = new StringConst(t.val);
                break;
            }

            case 10: {
                LISTCONST(out e);
                break;
            }

            case 3: {
                IDENTIFIER(out e);
                if (la.kind == 17)
                {
                    FUNC(out elist);
                    e = new FunctionStmt(e, elist);
                }
                break;
            }

            default: SynErr(58); break;
            }
        }
예제 #2
0
파일: Visitor.cs 프로젝트: mkju19/P4
 public abstract void Visit(IntConst n);