// private float _ReadNumber()
        // {
        //     do
        //     {
        //         _SaveAndNext();
        //     } while( _CurrentIsDigit() || Current == '.' );
        //     if( Current == 'E' || Current == 'e' )
        //     {
        //         _SaveAndNext();
        //         if( Current == '+' || Current == '-' )
        //             _SaveAndNext();
        //     }
        //     while( _CurrentIsAlpha() || _CurrentIsDigit() || Current == '_' )
        //         _SaveAndNext();
        //     float ret;
        //     if( !Single.TryParse( _GetSavedString(), out ret ) )
        //         _Error( "malformed number" );
        //     return ret;
        // }

        private void _Error(string error)
        {
            Lua.O_PushString(string.Format(
                                 "{0}:{1}: {2}",
                                 Source, LineNumber, error));
            Lua.D_Throw(ThreadStatus.LUA_ERRSYNTAX);
        }
Exemple #2
0
 public static LuaProto LoadBinary(ILuaState lua,
                                   ILoadInfo loadinfo, string name)
 {
     try
     {
         BinaryBytesReader reader = new BinaryBytesReader(loadinfo);
         Undump            undump = new Undump(reader);
         undump.LoadHeader();
         return(undump.LoadFunction());
     }
     catch (UndumpException e)
     {
         LuaState Lua = (LuaState)lua;
         Lua.O_PushString(string.Format(
                              "{0}: {1} precompiled chunk", name, e.Why));
         Lua.D_Throw(ThreadStatus.LUA_ERRSYNTAX);
         return(null);
     }
 }