@@ -67,8 +67,8 @@ fix_labels(OpcodeBuf *ob)
6767 int address ;
6868
6969 for (i = 0 ; i < ob -> size ; i ++ ) {
70- if (ob -> code [i ] == JUMP
71- || ob -> code [i ] == JUMPIF ) {
70+ if (ob -> code [i ] == OP_JUMP
71+ || ob -> code [i ] == OP_JUMPIF ) {
7272 label = (ob -> code [i + 1 ] << 8 ) + (ob -> code [i + 2 ]);
7373 address = ob -> label_table [label ].label_address ;
7474 ob -> code [i + 1 ] = (SVM_Byte )(address >> 8 );
@@ -270,9 +270,9 @@ generate_boolean_expression(SVM_Executable *cf, Expression *expr,
270270 OpcodeBuf * ob )
271271{
272272 if (expr -> u .boolean_value ) {
273- generate_code (ob , TRUE , 1 );
273+ generate_code (ob , OP_TRUE , 1 );
274274 } else {
275- generate_code (ob , FALSE , 0 );
275+ generate_code (ob , OP_FALSE , 0 );
276276 }
277277}
278278
@@ -281,9 +281,9 @@ generate_int_expression(SVM_Executable *cf, int value,
281281 OpcodeBuf * ob )
282282{
283283 if (value >= 0 && value < 256 ) {
284- generate_code (ob , PUSHDATA1 , value );
284+ generate_code (ob , OP_PUSHDATA1 , value );
285285 } else if (value >= 0 && value < 65536 ) {
286- generate_code (ob , PUSHDATA2 , value );
286+ generate_code (ob , OP_PUSHDATA2 , value );
287287 } else {
288288 // TODO: add constpool
289289 }
@@ -310,7 +310,7 @@ generate_identifier_expression(SVM_Executable *exe, Block *block,
310310 generate_identifier (expr -> u .identifier , ob );
311311 break ;
312312 case FUNC_DEFINITION :
313- generate_code (ob , INVOKE );
313+ generate_code (ob , OP_INVOKE );
314314 break ;
315315 case CONST_DEFINITION :
316316 generate_identifier (expr -> u .identifier , ob );
@@ -395,8 +395,8 @@ generate_logical_expression(SVM_Executable *exe, Block *block,
395395
396396 true_label = get_label (ob );
397397 generate_expression (exe , block , expr -> u .binary_expression -> left , ob );
398- generate_code (ob , DUP );
399- generate_code (ob , JUMPIF , true_label );
398+ generate_code (ob , OP_DUP );
399+ generate_code (ob , OP_JUMPIF , true_label );
400400 generate_expression (exe , block , expr -> u .binary_expression -> right , ob );
401401 generate_code (ob , code );
402402 set_label (ob , true_label );
@@ -428,60 +428,60 @@ generate_expression(SVM_Executable *exe, Block *current_block,
428428 break ;
429429 case ADD_EXPRESSION :
430430 generate_binary_expression (exe , current_block , expr ,
431- ADD , ob );
431+ OP_ADD , ob );
432432 break ;
433433 case SUB_EXPRESSION :
434434 generate_binary_expression (exe , current_block , expr ,
435- SUB , ob );
435+ OP_SUB , ob );
436436 break ;
437437 case MUL_EXPRESSION :
438438 generate_binary_expression (exe , current_block , expr ,
439- MUL , ob );
439+ OP_MUL , ob );
440440 break ;
441441 case DIV_EXPRESSION :
442442 generate_binary_expression (exe , current_block , expr ,
443- DIV , ob );
443+ OP_DIV , ob );
444444 break ;
445445 case MOD_EXPRESSION :
446446 generate_binary_expression (exe , current_block , expr ,
447- MOD , ob );
447+ OP_MOD , ob );
448448 break ;
449449 case EQ_EXPRESSION :
450450 generate_binary_expression (exe , current_block , expr ,
451- EQUAL , ob );
451+ OP_EQUAL , ob );
452452 break ;
453453 case NE_EXPRESSION :
454454 generate_binary_expression (exe , current_block , expr ,
455- NOTEQUAL0 , ob );
455+ OP_0NOTEQUAL , ob );
456456 break ;
457457 case GT_EXPRESSION :
458458 generate_binary_expression (exe , current_block , expr ,
459- GREATERTHAN , ob );
459+ OP_GREATERTHAN , ob );
460460 break ;
461461 case GE_EXPRESSION :
462462 generate_binary_expression (exe , current_block , expr ,
463- GREATERTHANOREQUAL , ob );
463+ OP_GREATERTHANOREQUAL , ob );
464464 break ;
465465 case LT_EXPRESSION :
466466 generate_binary_expression (exe , current_block , expr ,
467- LESSTHAN , ob );
467+ OP_LESSTHAN , ob );
468468 break ;
469469 case LE_EXPRESSION :
470470 generate_binary_expression (exe , current_block , expr ,
471- LESSTHANOREQUAL , ob );
471+ OP_LESSTHANOREQUAL , ob );
472472 case MINUS_EXPRESSION :
473473 generate_expression (exe , current_block , expr -> u .unary_expression , ob );
474- generate_code (ob , NEGATE );
474+ generate_code (ob , OP_NEGATE );
475475 break ;
476476 case AND_EXPRESSION :
477- generate_logical_expression (exe , current_block , expr , ob , AND );
477+ generate_logical_expression (exe , current_block , expr , ob , OP_AND );
478478 break ;
479479 case OR_EXPRESSION :
480- generate_logical_expression (exe , current_block , expr , ob , OR );
480+ generate_logical_expression (exe , current_block , expr , ob , OP_OR );
481481 break ;
482482 case NOT_EXPRESSION :
483483 generate_expression (exe , current_block , expr -> u .unary_expression , ob );
484- generate_code (ob , NOT );
484+ generate_code (ob , OP_NOT );
485485 break ;
486486 default :
487487 printf ("expr->kind..%d\n" , expr -> kind );
@@ -495,7 +495,7 @@ generate_expression_statement(SVM_Executable *exe, Block *block,
495495 OpcodeBuf * ob )
496496{
497497 generate_expression (exe , block , expr , ob );
498- generate_code (ob , DROP );
498+ generate_code (ob , OP_DROP );
499499}
500500
501501// TODO: huge swith-case
0 commit comments