Пример #1
0
        /// <exception cref="Org.Apache.Hadoop.Record.Compiler.Generated.ParseException"/>
        public JRecord Record()
        {
            string rname;
            AList <JField <JType> > flist = new AList <JField <JType> >();
            Token          t;
            JField <JType> f;

            Jj_consume_token(RecordTkn);
            t     = Jj_consume_token(IdentTkn);
            rname = t.image;
            Jj_consume_token(LbraceTkn);
            while (true)
            {
                f = Field();
                flist.AddItem(f);
                Jj_consume_token(SemicolonTkn);
                switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
                {
                case ByteTkn:
                case BooleanTkn:
                case IntTkn:
                case LongTkn:
                case FloatTkn:
                case DoubleTkn:
                case UstringTkn:
                case BufferTkn:
                case VectorTkn:
                case MapTkn:
                case IdentTkn:
                {
                    break;
                }

                default:
                {
                    jj_la1[4] = jj_gen;
                    goto label_4_break;
                }
                }
                label_4_continue :;
            }
            label_4_break :;
            Jj_consume_token(RbraceTkn);
            string  fqn = curModuleName + "." + rname;
            JRecord r   = new JRecord(fqn, flist);

            recTab[fqn] = r;
            {
                if (true)
                {
                    return(r);
                }
            }
            throw new Error("Missing return statement in function");
        }
Пример #2
0
        /// <exception cref="Org.Apache.Hadoop.Record.Compiler.Generated.ParseException"/>
        public JType Type()
        {
            JType  jt;
            Token  t;
            string rname;

            switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
            {
            case MapTkn:
            {
                jt = Map();
                if (true)
                {
                    return(jt);
                }
                break;
            }

            case VectorTkn:
            {
                jt = Vector();
                if (true)
                {
                    return(jt);
                }
                break;
            }

            case ByteTkn:
            {
                Jj_consume_token(ByteTkn);
                if (true)
                {
                    return(new JByte());
                }
                break;
            }

            case BooleanTkn:
            {
                Jj_consume_token(BooleanTkn);
                if (true)
                {
                    return(new JBoolean());
                }
                break;
            }

            case IntTkn:
            {
                Jj_consume_token(IntTkn);
                if (true)
                {
                    return(new JInt());
                }
                break;
            }

            case LongTkn:
            {
                Jj_consume_token(LongTkn);
                if (true)
                {
                    return(new JLong());
                }
                break;
            }

            case FloatTkn:
            {
                Jj_consume_token(FloatTkn);
                if (true)
                {
                    return(new JFloat());
                }
                break;
            }

            case DoubleTkn:
            {
                Jj_consume_token(DoubleTkn);
                if (true)
                {
                    return(new JDouble());
                }
                break;
            }

            case UstringTkn:
            {
                Jj_consume_token(UstringTkn);
                if (true)
                {
                    return(new JString());
                }
                break;
            }

            case BufferTkn:
            {
                Jj_consume_token(BufferTkn);
                if (true)
                {
                    return(new JBuffer());
                }
                break;
            }

            case IdentTkn:
            {
                rname = ModuleName();
                if (rname.IndexOf('.', 0) < 0)
                {
                    rname = curModuleName + "." + rname;
                }
                JRecord r = recTab[rname];
                if (r == null)
                {
                    System.Console.Out.WriteLine("Type " + rname + " not known. Exiting.");
                    System.Environment.Exit(1);
                }
                if (true)
                {
                    return(r);
                }
                break;
            }

            default:
            {
                jj_la1[5] = jj_gen;
                Jj_consume_token(-1);
                throw new ParseException();
            }
            }
            throw new Error("Missing return statement in function");
        }