update char and wchar_t in script engine

This commit is contained in:
xmaple555 2026-08-09 23:24:21 +08:00
parent c8a209d84b
commit c4e82c2bfd
15 changed files with 939 additions and 387 deletions

View file

@ -29,7 +29,7 @@
.ThreeOpFunc4->wcsncmp
.OperatorsOneOperand->inc dec reference dereference
.ScriptVariableType->void bool char short int long unsigned signed float double
.ScriptVariableType->void bool char wchar_t short int long unsigned signed float double
S->BE

View file

@ -85,7 +85,7 @@ STATEMENT2->@PUSH _function_id ( VA2 ) @END_OF_CALLING_USER_DEFINED_FUNCTION_WIT
STATEMENT2->CALL_FUNC_STATEMENT ;
STATEMENT2->break @BREAK ;
STATEMENT2->continue @CONTINUE ;
STATEMENT2->VARIABLE_TYPE1 VARIABLE_TYPE2 L_VALUE = EXPRESSION MULTIPLE_ASSIGNMENT ;
STATEMENT2->VARIABLE_TYPE3
STATEMENT2->STRUCT_DECLARATION
STATEMENT2->TYPEDEF_DECLARATION
STATEMENT2->return RETURN ;
@ -93,7 +93,7 @@ STATEMENT2->return RETURN ;
RETURN->eps @RETURN_OF_USER_DEFINED_FUNCTION_WITHOUT_VALUE
RETURN->EXPRESSION @RETURN_OF_USER_DEFINED_FUNCTION_WITH_VALUE
.ScriptVariableType->void bool char short int long unsigned signed float double
.ScriptVariableType->void bool char wchar_t short int long unsigned signed float double
VARIABLE_TYPE1->@PUSH _script_variable_type
VARIABLE_TYPE2->VARIABLE_TYPE1 VARIABLE_TYPE2
@ -103,12 +103,22 @@ VARIABLE_TYPE2->eps
VARIABLE_TYPE3->VARIABLE_TYPE1 VARIABLE_TYPE2 L_VALUE VARIABLE_TYPE4
VARIABLE_TYPE4->= EXPRESSION MULTIPLE_ASSIGNMENT ;
VARIABLE_TYPE4->@ARRAY_L_VALUE ARRAY_DIMS = ARRAY_INIT @ARRAY_DECLARITION ;
VARIABLE_TYPE4->@ARRAY_L_VALUE ARRAY_DIMS ARRAY_INITIALIZER_OPT @ARRAY_DECLARITION ;
ARRAY_DIMS->[ CONST_NUMBER @ARRAY_DIM_NUMBER ] ARRAY_DIMS2
ARRAY_DIMS->[ ARRAY_DIM_OPT ] ARRAY_DIMS2
ARRAY_DIMS2->ARRAY_DIMS
ARRAY_DIMS2->eps
ARRAY_DIM_OPT->CONST_NUMBER @ARRAY_DIM_NUMBER
ARRAY_DIM_OPT->eps
ARRAY_INITIALIZER_OPT->= ARRAY_INITIALIZER
ARRAY_INITIALIZER_OPT->eps
ARRAY_INITIALIZER->ARRAY_INIT
ARRAY_INITIALIZER->STRING
ARRAY_INITIALIZER->WSTRING
ARRAY_INIT->{ INIT_LIST } @ARRAY_LEFT_BRACKET
INIT_LIST->INIT_ITEM INIT_LIST_TAIL
@ -197,7 +207,10 @@ TYPEDEF_DECLARATION->typedef TYPEDEF_BASE_TYPE STRUCT_POINTERS @PUSH _local_id @
TYPEDEF_BASE_TYPE->STRUCT_SCALAR_TYPE
TYPEDEF_BASE_TYPE->struct @PUSH _local_id
ASSIGNMENT_STATEMENT->* L_VALUE = EXPRESSION @DEREFERENCE
ASSIGNMENT_STATEMENT->* DEREFERENCE_ASSIGNMENT
DEREFERENCE_ASSIGNMENT->L_VALUE = EXPRESSION @DEREFERENCE
DEREFERENCE_ASSIGNMENT->( EXPRESSION ) = EXPRESSION @DEREFERENCE
ASSIGNMENT_STATEMENT->L_VALUE MEMBER_LVALUE_SUFFIX ARRAY_DIMS_WRITE_OPT ASSIGNMENT_STATEMENT'