OSDN Git Service

update libMiMic
[mimic/MiMicSDK.git] / lib / src / mimicvm / NyLPC_cMiMicDbCompiler.c
index 1a3f210..e33d038 100644 (file)
@@ -5,7 +5,7 @@
 \r
 void NyLPC_cMiMicDbCompiler_initialize(NyLPC_TcMiMicDbCompiler_t* i_inst)\r
 {\r
-       i_inst->_bc_fragment_len=0;\r
+    i_inst->_bc_fragment_len=0;\r
 }\r
 \r
 /**\r
@@ -17,49 +17,49 @@ void NyLPC_cMiMicDbCompiler_initialize(NyLPC_TcMiMicDbCompiler_t* i_inst)
  */\r
 NyLPC_TcMiMicDbCompiler_RET NyLPC_cMiMicDbCompiler_compileFragment(NyLPC_TcMiMicDbCompiler_t* i_inst,const struct NyLPC_TCharArrayPtr* i_bc,NyLPC_TUInt32* o_val,NyLPC_TUInt16* o_parsed_bc)\r
 {\r
-       int i;\r
-       NyLPC_TUInt8 c=i_inst->_bc_fragment_len;\r
-       if(c==0 && i_bc->len>=8){\r
-               //キャッシュ0でソースが十分あるときは直接変換\r
-               if(NyLPC_mimicvm_txt2UInt(i_bc->ptr,8,o_val)){\r
-                       *o_parsed_bc=8;\r
-                       return NyLPC_TcMiMicDbCompiler_RET_OK;\r
-               }else{\r
-                       i_inst->error_reason=NyLPC_TcMiMicDbCompiler_ERROR_FORMAT;\r
-                       return NyLPC_TcMiMicDbCompiler_RET_ERROR;\r
-               }\r
-       }else{\r
-               //キャッシュが0でなければ、パディングして変換\r
-               for(i=0;i<i_bc->len;i++){\r
-                       i_inst->_tmp[c]=i_bc->ptr[i];\r
-                       c++;\r
-                       //8個のバイトコードが溜まったら変換\r
-                       if(c==8){\r
-                               i_inst->_bc_fragment_len=0;\r
-                               if(NyLPC_mimicvm_txt2UInt(i_inst->_tmp,8,o_val)){\r
-                                       *o_parsed_bc=i+1;//見チェック\r
-                                       return NyLPC_TcMiMicDbCompiler_RET_OK;\r
-                               }else{\r
-                                       i_inst->error_reason=NyLPC_TcMiMicDbCompiler_ERROR_FORMAT;\r
-                                       return NyLPC_TcMiMicDbCompiler_RET_ERROR;\r
-                               }\r
-                       }\r
-               }\r
-               i_inst->_bc_fragment_len=c;\r
-               *o_parsed_bc=i_bc->len;\r
-               return NyLPC_TcMiMicDbCompiler_RET_CONTINUE;\r
-       }\r
+    int i;\r
+    NyLPC_TUInt8 c=i_inst->_bc_fragment_len;\r
+    if(c==0 && i_bc->len>=8){\r
+        //キャッシュ0でソースが十分あるときは直接変換\r
+        if(NyLPC_mimicvm_txt2UInt(i_bc->ptr,8,o_val)){\r
+            *o_parsed_bc=8;\r
+            return NyLPC_TcMiMicDbCompiler_RET_OK;\r
+        }else{\r
+            i_inst->error_reason=NyLPC_TcMiMicDbCompiler_ERROR_FORMAT;\r
+            return NyLPC_TcMiMicDbCompiler_RET_ERROR;\r
+        }\r
+    }else{\r
+        //キャッシュが0でなければ、パディングして変換\r
+        for(i=0;i<i_bc->len;i++){\r
+            i_inst->_tmp[c]=i_bc->ptr[i];\r
+            c++;\r
+            //8個のバイトコードが溜まったら変換\r
+            if(c==8){\r
+                i_inst->_bc_fragment_len=0;\r
+                if(NyLPC_mimicvm_txt2UInt(i_inst->_tmp,8,o_val)){\r
+                    *o_parsed_bc=i+1;//見チェック\r
+                    return NyLPC_TcMiMicDbCompiler_RET_OK;\r
+                }else{\r
+                    i_inst->error_reason=NyLPC_TcMiMicDbCompiler_ERROR_FORMAT;\r
+                    return NyLPC_TcMiMicDbCompiler_RET_ERROR;\r
+                }\r
+            }\r
+        }\r
+        i_inst->_bc_fragment_len=c;\r
+        *o_parsed_bc=i_bc->len;\r
+        return NyLPC_TcMiMicDbCompiler_RET_CONTINUE;\r
+    }\r
 }\r
 /**\r
  * MiMicDBフラグメントを1文字パースします。\r
  */\r
 NyLPC_TcMiMicDbCompiler_RET NyLPC_cMiMicDbCompiler_compileFragment2(NyLPC_TcMiMicDbCompiler_t* i_inst,NyLPC_TChar i_bc,NyLPC_TUInt32* o_val)\r
 {\r
-       struct NyLPC_TCharArrayPtr bc;\r
-       NyLPC_TUInt16 l;\r
-       bc.ptr=&i_bc;\r
-       bc.len=1;\r
-       return NyLPC_cMiMicDbCompiler_compileFragment(i_inst,&bc,o_val,&l);\r
+    struct NyLPC_TCharArrayPtr bc;\r
+    NyLPC_TUInt16 l;\r
+    bc.ptr=&i_bc;\r
+    bc.len=1;\r
+    return NyLPC_cMiMicDbCompiler_compileFragment(i_inst,&bc,o_val,&l);\r
 }\r
 \r
 /**\r
@@ -70,37 +70,37 @@ NyLPC_TcMiMicDbCompiler_RET NyLPC_cMiMicDbCompiler_compileFragment2(NyLPC_TcMiMi
  */\r
 NyLPC_TUInt16 NyLPC_cMiMicDbCompiler_compile(NyLPC_TcMiMicDbCompiler_t* i_inst,const struct NyLPC_TCharArrayPtr* i_bc,struct NyLPC_TUInt32ArrayPtr* o_val)\r
 {\r
-       struct NyLPC_TUInt32ArrayPtr wp=*o_val;\r
-       struct NyLPC_TCharArrayPtr rp=*i_bc;\r
-       NyLPC_TUInt16 s;\r
-       NyLPC_Assert(i_bc->len>0);\r
-       while(i_bc->len>0){\r
-               //空き領域チェック\r
-               if(wp.len==0){\r
-                       //空き領域不足\r
-                       i_inst->error_reason=NyLPC_TcMiMicDbCompiler_ERROR_OUT_BUFFER_TOO_SHORT;\r
-                       return 0;\r
-               }\r
-               switch(NyLPC_cMiMicDbCompiler_compileFragment(i_inst,&rp,o_val->ptr,&s)){\r
-               case NyLPC_TcMiMicDbCompiler_RET_OK:\r
-                       //入力ポインタの移動\r
-                       if(!NyLPC_TCharArrayPtr_seek(&rp,s)){\r
-                               return 0;\r
-                       }\r
-                       //出力ポインタの移動\r
-                       if(!NyLPC_TUInt32ArrayPtr_seek(&wp,1)){\r
-                               return 0;//エラー\r
-                       }\r
-                       continue;\r
-               case NyLPC_TcMiMicDbCompiler_RET_CONTINUE:\r
-                       //フラグメント化してたらエラー\r
-                       i_inst->error_reason=NyLPC_TcMiMicDbCompiler_ERROR_FRAGMENT_UNIT;\r
-               default:\r
-                       return 0;\r
-               }\r
-       }\r
-       //変換完了\r
-       return o_val->len-wp.len;\r
+    struct NyLPC_TUInt32ArrayPtr wp=*o_val;\r
+    struct NyLPC_TCharArrayPtr rp=*i_bc;\r
+    NyLPC_TUInt16 s;\r
+    NyLPC_Assert(i_bc->len>0);\r
+    while(i_bc->len>0){\r
+        //空き領域チェック\r
+        if(wp.len==0){\r
+            //空き領域不足\r
+            i_inst->error_reason=NyLPC_TcMiMicDbCompiler_ERROR_OUT_BUFFER_TOO_SHORT;\r
+            return 0;\r
+        }\r
+        switch(NyLPC_cMiMicDbCompiler_compileFragment(i_inst,&rp,o_val->ptr,&s)){\r
+        case NyLPC_TcMiMicDbCompiler_RET_OK:\r
+            //入力ポインタの移動\r
+            if(!NyLPC_TCharArrayPtr_seek(&rp,s)){\r
+                return 0;\r
+            }\r
+            //出力ポインタの移動\r
+            if(!NyLPC_TUInt32ArrayPtr_seek(&wp,1)){\r
+                return 0;//エラー\r
+            }\r
+            continue;\r
+        case NyLPC_TcMiMicDbCompiler_RET_CONTINUE:\r
+            //フラグメント化してたらエラー\r
+            i_inst->error_reason=NyLPC_TcMiMicDbCompiler_ERROR_FRAGMENT_UNIT;\r
+        default:\r
+            return 0;\r
+        }\r
+    }\r
+    //変換完了\r
+    return o_val->len-wp.len;\r
 }\r
 \r
 \r
@@ -108,35 +108,35 @@ NyLPC_TUInt16 NyLPC_cMiMicDbCompiler_compile(NyLPC_TcMiMicDbCompiler_t* i_inst,c
 #ifndef TEST\r
 void main(void)\r
 {\r
-       int i=0;\r
-       struct NyLPC_TCharArrayPtr bc;\r
-       const char* BC="0000000100000002";\r
-       const char* rp;\r
-       NyLPC_TcMiMicDbCompiler_t inst;\r
-       NyLPC_TUInt32 obuf[1024];\r
-       NyLPC_TUInt16 pl;\r
-       NyLPC_cMiMicDbCompiler_initialize(&inst);\r
-       bc.ptr=(char*)BC;\r
-       bc.len=strlen(BC);\r
-       rp=BC;\r
-       NyLPC_cMiMicDbCompiler_compileFragment(&inst,&bc,obuf,&pl);\r
+    int i=0;\r
+    struct NyLPC_TCharArrayPtr bc;\r
+    const char* BC="0000000100000002";\r
+    const char* rp;\r
+    NyLPC_TcMiMicDbCompiler_t inst;\r
+    NyLPC_TUInt32 obuf[1024];\r
+    NyLPC_TUInt16 pl;\r
+    NyLPC_cMiMicDbCompiler_initialize(&inst);\r
+    bc.ptr=(char*)BC;\r
+    bc.len=strlen(BC);\r
+    rp=BC;\r
+    NyLPC_cMiMicDbCompiler_compileFragment(&inst,&bc,obuf,&pl);\r
 /*\r
-       for(;;){\r
-               switch(NyLPC_cMiMicDbCompiler_compileFragment2(&inst,*bc.ptr,&obuf[i]))\r
-               {\r
-               case NyLPC_TcMiMicDbCompiler_RET_ERROR:\r
-                       printf("ERROR");\r
-                       return;\r
-               case NyLPC_TcMiMicDbCompiler_RET_CONTINUE:\r
-                       NyLPC_TCharArrayPtr_seek(&bc,1);\r
-                       break;\r
-               case NyLPC_TcMiMicDbCompiler_RET_OK:\r
-                       i++;\r
-                       NyLPC_TCharArrayPtr_seek(&bc,1);\r
-                       break;\r
-               }\r
-       }\r
+    for(;;){\r
+        switch(NyLPC_cMiMicDbCompiler_compileFragment2(&inst,*bc.ptr,&obuf[i]))\r
+        {\r
+        case NyLPC_TcMiMicDbCompiler_RET_ERROR:\r
+            printf("ERROR");\r
+            return;\r
+        case NyLPC_TcMiMicDbCompiler_RET_CONTINUE:\r
+            NyLPC_TCharArrayPtr_seek(&bc,1);\r
+            break;\r
+        case NyLPC_TcMiMicDbCompiler_RET_OK:\r
+            i++;\r
+            NyLPC_TCharArrayPtr_seek(&bc,1);\r
+            break;\r
+        }\r
+    }\r
 */\r
-       return;\r
+    return;\r
 }\r
 #endif\r