예제 #1
0
        private static void f_parser(lua_State L, object ud)
        {
            int     i;
            Closure cl;
            SParser p = (SParser)ud;
            int     c = zgetc(p.z);    /* read first character */

            if (c == LUA_SIGNATURE[0])
            {
                checkmode(L, p.mode, "binary");
                cl = luaU_undump(L, p.z, p.buff, p.name);
            }
            else
            {
                checkmode(L, p.mode, "text");
                cl = luaY_parser(L, p.z, p.buff, p.dyd, p.name, c);
            }
            lua_assert(cl.l.nupvalues == cl.l.p.sizeupvalues);
            for (i = 0; i < cl.l.nupvalues; i++)          /* initialize upvalues */
            {
                UpVal up = luaF_newupval(L);
                cl.l.upvals[i] = up;
                luaC_objbarrier(L, cl, up);
            }
        }
예제 #2
0
        private static void f_parser(lua_State L, object ud)
        {
            int     i;
            Proto   tf;
            Closure cl;
            SParser p = (SParser)ud;
            int     c = zgetc(p.z);    /* read first character */

            if (c == LUA_SIGNATURE[0])
            {
                checkmode(L, p.mode, "binary");
                tf = luaU_undump(L, p.z, p.buff, p.name);
            }
            else
            {
                checkmode(L, p.mode, "text");
                tf = luaY_parser(L, p.z, p.buff, p.dyd, p.name, c);
            }
            setptvalue2s(L, L.top, tf);
            incr_top(L);
            cl = luaF_newLclosure(L, tf);
            setclLvalue(L, L.top - 1, cl);
            for (i = 0; i < tf.sizeupvalues; i++)        /* initialize upvalues */
            {
                cl.l.upvals[i] = luaF_newupval(L);
            }
        }
예제 #3
0
        public InstanceDB(string schemaFileName, string instanceFileName, string logFileName)
            : this(instanceFileName)
        {
            //SParser aParser = new SParser();
            //p_schemaModel = aParser.ReadSchemaFile(schemaFileName, schemaFileName + ".log");
            p_schemaModel = SParser.ReadSchema(schemaFileName);
            AssignEntityDefToInstance(logFileName);

            //p_InstanceModel.UpdateGuidToIFCInstanceGuid();
        }
예제 #4
0
        public static int luaD_protectedparser(lua_State L, ZIO z, CharPtr name)
        {
            SParser p = new SParser();
            int     status;

            p.z = z; p.name = new CharPtr(name);
            luaZ_initbuffer(L, p.buff);
            status = luaD_pcall(L, f_parser, p, savestack(L, L.top), L.errfunc);
            luaZ_freebuffer(L, p.buff);
            return(status);
        }
예제 #5
0
        public static int LuaDProtectedParser(LuaState L, ZIO z, CharPtr name)
        {
            SParser p = new SParser();
            int     status;

            p.z = z; p.name = new CharPtr(name);
            luaZ_initbuffer(L, p.buff);
            status = LuaDPCall(L, FParser, p, SaveStack(L, L.top), L.errfunc);
            luaZ_freebuffer(L, p.buff);
            return(status);
        }
예제 #6
0
        public static int luaD_protectedparser(lua_State L, ZIO z, CharPtr name)
        {
            SParser p = new SParser();
            int     status;

            L.nny++;                                       /* cannot yield during parsing */
            p.z           = z; p.name = new CharPtr(name); //FIXME:
            p.varl.actvar = null; p.varl.nactvar = p.varl.actvarsize = 0;
            luaZ_initbuffer(L, p.buff);
            status = luaD_pcall(L, f_parser, p, savestack(L, L.top), L.errfunc);
            luaZ_freebuffer(L, p.buff);
            luaM_freearray <vardesc>(L, p.varl.actvar /*, p.varl.actvarsize*/);
            L.nny--;
            return(status);
        }
예제 #7
0
        private void button4_Click(object sender, EventArgs e)
        {
            //var aParser = new SParser();
            var sData = SParser.ReadSchema(RegisteredSchema.IFC2X3);

            //var sData = SParser.ReadSchema(RegisteredSchema.IFC4);
            //aParser.ReadSchemaFile(textBox1.Text, textBox3.Text);

            using (var fs = new StreamWriter(textBox2.Text))
            {
                sData.ToCSharpClass(fs);
                //aParser.SchemaSet.ToCSharpClass(fs);
                //var code =  aParser.SchemaSet.ToCSharpClass();
                //code.ToString();
            }
            Close();
        }
예제 #8
0
		public static int luaD_protectedparser (lua_State L, ZIO z, CharPtr name,
		                                        CharPtr mode) {
		  SParser p = new SParser();
		  int status;
          L.nny++;  /* cannot yield during parsing */
		  p.z = z; p.name = name; p.mode = mode; //FIXME:changed, new CharPtr //FIXME:changed, new CharPtr
          p.dyd.actvar.arr = null; p.dyd.actvar.size = 0;
		  p.dyd.gt.arr = null; p.dyd.gt.size = 0;
		  p.dyd.label.arr = null; p.dyd.label.size = 0;
		  luaZ_initbuffer(L, p.buff);
		  status = luaD_pcall(L, f_parser, p, savestack(L, L.top), L.errfunc);
		  luaZ_freebuffer(L, p.buff);
		  luaM_freearray<Vardesc>(L, p.dyd.actvar.arr/*, p.dyd.actvar.size*/);
		  luaM_freearray<Labeldesc>(L, p.dyd.gt.arr/*, p.dyd.gt.size*/);
		  luaM_freearray<Labeldesc>(L, p.dyd.label.arr/*, p.dyd.label.size*/);
		  L.nny--;
		  return status;
		}
예제 #9
0
        private static void f_parser(lua_State L, object ud)
        {
            LClosure cl;
            SParser  p = (SParser)ud;
            int      c = zgetc(p.z);   /* read first character */

            if (c == LUA_SIGNATURE[0])
            {
                checkmode(L, p.mode, "binary");
                cl = luaU_undump(L, p.z, p.name);
            }
            else
            {
                checkmode(L, p.mode, "text");
                cl = luaY_parser(L, p.z, p.buff, p.dyd, p.name, c);
            }
            lua_assert(cl.nupvalues == cl.p.sizeupvalues);
            luaF_initupvals(L, cl);
        }
예제 #10
0
        private static void f_parser(lua_State L, object ud)
        {
            int     i;
            Proto   tf;
            Closure cl;
            SParser p = (SParser)ud;

            luaZ_lookahead(p.z);
            luaC_checkGC(L);
            tf     = luaY_parser(L, p.z, p.buff, p.name);
            cl     = luaF_newLclosure(L, tf.nups, hvalue(gt(L)));
            cl.l.p = tf;
            for (i = 0; i < tf.nups; i++)                /* initialize eventual upvalues */
            {
                cl.l.upvals[i] = luaF_newupval(L);
            }
            setclvalue(L, L.top, cl);
            incr_top(L);
        }
예제 #11
0
        private static void f_parser(lua_State L, object ud)
        {
            int     i;
            Proto   tf;
            Closure cl;
            SParser p = (SParser)ud;
            int     c = luaZ_lookahead(p.z);

            tf = (c == LUA_SIGNATURE[0])
                        ? luaU_undump(L, p.z, p.buff, p.name)
                        : luaY_parser(L, p.z, p.buff, p.varl, p.name);
            setptvalue2s(L, L.top, tf);
            incr_top(L);
            cl = luaF_newLclosure(L, tf);
            setclvalue(L, L.top - 1, cl);
            for (i = 0; i < tf.sizeupvalues; i++)        /* initialize upvalues */
            {
                cl.l.upvals[i] = luaF_newupval(L);
            }
        }
예제 #12
0
        private static void FParser(LuaState L, object ud)
        {
            int     i;
            Proto   tf;
            Closure cl;
            SParser p = (SParser)ud;
            int     c = luaZ_lookahead(p.z);

            LuaCCheckGC(L);
            tf = (c == LUA_SIGNATURE[0]) ?
                 luaU_undump(L, p.z, p.buff, p.name) :
                 luaY_parser(L, p.z, p.buff, p.name);
            cl     = LuaFNewLClosure(L, tf.nups, HValue(Gt(L)));
            cl.l.p = tf;
            for (i = 0; i < tf.nups; i++)        /* initialize eventual upvalues */
            {
                cl.l.upvals[i] = LuaFNewUpVal(L);
            }
            SetCLValue(L, L.top, cl);
            IncrTop(L);
        }
예제 #13
0
 public static int LuaDProtectedParser(LuaState L, ZIO z, CharPtr name)
 {
     SParser p = new SParser();
     int status;
     p.z = z; p.name = new CharPtr(name);
     luaZ_initbuffer(L, p.buff);
     status = LuaDPCall(L, FParser, p, SaveStack(L, L.top), L.errfunc);
     luaZ_freebuffer(L, p.buff);
     return status;
 }
예제 #14
0
 public static int luaD_protectedparser (lua_State L, ZIO z, CharPtr name) {
     SParser p = new SParser();
     int status;
     p.z = z; p.name = new CharPtr(name);
     luaZ_initbuffer(L, p.buff);
     status = luaD_pcall(L, f_parser, p, savestack(L, L.top), L.errfunc);
     luaZ_freebuffer(L, p.buff);
     return status;
 }
예제 #15
0
 /// <summary>
 /// Updates the game board from a file.
 /// </summary>
 /// <param name="fileName">Name and path of the file to load the game from.</param>
 private void updateGameBoardFromFile(string fileName)
 {
     this.gameBoard = SParser.parseFile(fileName);
     this.boardControl.updateBoard(this.gameBoard);
 }