// // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT! // //##Qu-Prolog Copyright.abst## // // $Id: MkInstructions.in,v 1.3 2005/04/12 04:02:48 qp Exp n #include "code.h" #include "defs.h" #include "instructions.h" // Opcode names const char *opnames[] = { /* EMPTY ENTRY */ 0, "put_x_variable", "put_y_variable", "put_x_value", "put_y_value", "put_constant", "put_integer", "put_list", "put_structure", "put_x_object_variable", "put_y_object_variable", "put_x_object_value", "put_y_object_value", "put_quantifier", "check_binder", "put_substitution", "put_x_term_substitution", "put_y_term_substitution", "put_initial_empty_substitution", "get_x_variable", "get_y_variable", "get_x_value", "get_y_value", "get_constant", "get_integer", "get_list", "get_structure", "get_structure_frame", "get_x_object_variable", "get_y_object_variable", "get_x_object_value", "get_y_object_value", "unify_x_variable", "unify_y_variable", "unify_x_value", "unify_y_value", "unify_void", "set_x_variable", "set_y_variable", "set_x_value", "set_y_value", "set_x_object_variable", "set_y_object_variable", "set_x_object_value", "set_y_object_value", "set_constant", "set_integer", "set_void", "set_object_void", "allocate", "deallocate", "call_predicate", "call_address", "call_escape", "execute_predicate", "execute_address", "execute_escape", "noop", "jump", "proceed", "fail", "halt", "exit", "try_me_else", "retry_me_else", "trust_me_else_fail", "try", "retry", "trust", "neck_cut", "get_x_level", "get_y_level", "cut", "switch_on_term", "switch_on_constant", "switch_on_structure", "switch_on_quantifier", "pseudo_instr0", "pseudo_instr1", "pseudo_instr2", "pseudo_instr3", "pseudo_instr4", "pseudo_instr5", "unify_constant", "unify_integer", "unify_x_ref", "unify_y_ref", "db_jump", "db_execute_predicate", "db_execute_address", "db_proceed", "put_double", "get_double", "set_double", "unify_double", "put_string", "get_string", "set_string", "unify_string", }; // Operand types const char *operands[] = { /* EMPTY ENTRY */ 0, /* PUT_X_VARIABLE */ "rr", /* PUT_Y_VARIABLE */ "rr", /* PUT_X_VALUE */ "rr", /* PUT_Y_VALUE */ "rr", /* PUT_CONSTANT */ "cr", /* PUT_INTEGER */ "ir", /* PUT_LIST */ "r", /* PUT_STRUCTURE */ "nr", /* PUT_X_OBJECT_VARIABLE */ "rr", /* PUT_Y_OBJECT_VARIABLE */ "rr", /* PUT_X_OBJECT_VALUE */ "rr", /* PUT_Y_OBJECT_VALUE */ "rr", /* PUT_QUANTIFIER */ "r", /* CHECK_BINDER */ "r", /* PUT_SUBSTITUTION */ "nr", /* PUT_X_TERM_SUBSTITUTION */ "rr", /* PUT_Y_TERM_SUBSTITUTION */ "rr", /* PUT_INITIAL_EMPTY_SUBSTITUTION */ "r", /* GET_X_VARIABLE */ "rr", /* GET_Y_VARIABLE */ "rr", /* GET_X_VALUE */ "rr", /* GET_Y_VALUE */ "rr", /* GET_CONSTANT */ "cr", /* GET_INTEGER */ "ir", /* GET_LIST */ "r", /* GET_STRUCTURE */ "cnr", /* GET_STRUCTURE_FRAME */ "nr", /* GET_X_OBJECT_VARIABLE */ "rr", /* GET_Y_OBJECT_VARIABLE */ "rr", /* GET_X_OBJECT_VALUE */ "rr", /* GET_Y_OBJECT_VALUE */ "rr", /* UNIFY_X_VARIABLE */ "r", /* UNIFY_Y_VARIABLE */ "r", /* UNIFY_X_VALUE */ "r", /* UNIFY_Y_VALUE */ "r", /* UNIFY_VOID */ "n", /* SET_X_VARIABLE */ "r", /* SET_Y_VARIABLE */ "r", /* SET_X_VALUE */ "r", /* SET_Y_VALUE */ "r", /* SET_X_OBJECT_VARIABLE */ "r", /* SET_Y_OBJECT_VARIABLE */ "r", /* SET_X_OBJECT_VALUE */ "r", /* SET_Y_OBJECT_VALUE */ "r", /* SET_CONSTANT */ "c", /* SET_INTEGER */ "i", /* SET_VOID */ "n", /* SET_OBJECT_VOID */ "n", /* ALLOCATE */ "n", /* DEALLOCATE */ "", /* CALL_PREDICATE */ "pnn", /* CALL_ADDRESS */ "an", /* CALL_ESCAPE */ "an", /* EXECUTE_PREDICATE */ "pn", /* EXECUTE_ADDRESS */ "a", /* EXECUTE_ESCAPE */ "a", /* NOOP */ "", /* JUMP */ "a", /* PROCEED */ "", /* FAIL */ "", /* HALT */ "", /* EXIT */ "", /* TRY_ME_ELSE */ "no", /* RETRY_ME_ELSE */ "o", /* TRUST_ME_ELSE_FAIL */ "", /* TRY */ "no", /* RETRY */ "o", /* TRUST */ "o", /* NECK_CUT */ "", /* GET_X_LEVEL */ "r", /* GET_Y_LEVEL */ "r", /* CUT */ "r", /* SWITCH_ON_TERM */ "r", /* SWITCH_ON_CONSTANT */ "rt", /* SWITCH_ON_STRUCTURE */ "rt", /* SWITCH_ON_QUANTIFIER */ "rt", /* PSEUDO_INSTR0 */ "n", /* PSEUDO_INSTR1 */ "nr", /* PSEUDO_INSTR2 */ "nrr", /* PSEUDO_INSTR3 */ "nrrr", /* PSEUDO_INSTR4 */ "nrrrr", /* PSEUDO_INSTR5 */ "nrrrrr", /* UNIFY_CONSTANT */ "c", /* UNIFY_INTEGER */ "i", /* UNIFY_X_REF */ "r", /* UNIFY_Y_REF */ "r", /* DB_JUMP */ "naaa", /* DB_EXECUTE_PREDICATE */ "pn", /* DB_EXECUTE_ADDRESS */ "a", /* DB_PROCEED */ "", /* PUT_DOUBLE */ "dr", /* GET_DOUBLE */ "dr", /* SET_DOUBLE */ "d", /* UNIFY_DOUBLE */ "d", /* PUT_STRING */ "r", /* GET_STRING */ "r", /* SET_STRING */ "", /* UNIFY_STRING */ "", }; // Instruction sizes const word32 opsizes[] = { /* EMPTY ENTRY */ 0, /* PUT_X_VARIABLE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_Y_VARIABLE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_X_VALUE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_Y_VALUE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_CONSTANT */ Code::SIZE_OF_CONSTANT + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_INTEGER */ Code::SIZE_OF_INTEGER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_LIST */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_STRUCTURE */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_X_OBJECT_VARIABLE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_Y_OBJECT_VARIABLE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_X_OBJECT_VALUE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_Y_OBJECT_VALUE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_QUANTIFIER */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* CHECK_BINDER */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_SUBSTITUTION */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_X_TERM_SUBSTITUTION */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_Y_TERM_SUBSTITUTION */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PUT_INITIAL_EMPTY_SUBSTITUTION */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_X_VARIABLE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_Y_VARIABLE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_X_VALUE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_Y_VALUE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_CONSTANT */ Code::SIZE_OF_CONSTANT + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_INTEGER */ Code::SIZE_OF_INTEGER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_LIST */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_STRUCTURE */ Code::SIZE_OF_CONSTANT + Code::SIZE_OF_NUMBER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_STRUCTURE_FRAME */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_X_OBJECT_VARIABLE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_Y_OBJECT_VARIABLE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_X_OBJECT_VALUE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_Y_OBJECT_VALUE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* UNIFY_X_VARIABLE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* UNIFY_Y_VARIABLE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* UNIFY_X_VALUE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* UNIFY_Y_VALUE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* UNIFY_VOID */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_INSTRUCTION, /* SET_X_VARIABLE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* SET_Y_VARIABLE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* SET_X_VALUE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* SET_Y_VALUE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* SET_X_OBJECT_VARIABLE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* SET_Y_OBJECT_VARIABLE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* SET_X_OBJECT_VALUE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* SET_Y_OBJECT_VALUE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* SET_CONSTANT */ Code::SIZE_OF_CONSTANT + Code::SIZE_OF_INSTRUCTION, /* SET_INTEGER */ Code::SIZE_OF_INTEGER + Code::SIZE_OF_INSTRUCTION, /* SET_VOID */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_INSTRUCTION, /* SET_OBJECT_VOID */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_INSTRUCTION, /* ALLOCATE */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_INSTRUCTION, /* DEALLOCATE */ Code::SIZE_OF_INSTRUCTION, /* CALL_PREDICATE */ Code::SIZE_OF_PRED + Code::SIZE_OF_NUMBER + Code::SIZE_OF_NUMBER + Code::SIZE_OF_INSTRUCTION, /* CALL_ADDRESS */ Code::SIZE_OF_ADDRESS + Code::SIZE_OF_NUMBER + Code::SIZE_OF_INSTRUCTION, /* CALL_ESCAPE */ Code::SIZE_OF_ADDRESS + Code::SIZE_OF_NUMBER + Code::SIZE_OF_INSTRUCTION, /* EXECUTE_PREDICATE */ Code::SIZE_OF_PRED + Code::SIZE_OF_NUMBER + Code::SIZE_OF_INSTRUCTION, /* EXECUTE_ADDRESS */ Code::SIZE_OF_ADDRESS + Code::SIZE_OF_INSTRUCTION, /* EXECUTE_ESCAPE */ Code::SIZE_OF_ADDRESS + Code::SIZE_OF_INSTRUCTION, /* NOOP */ Code::SIZE_OF_INSTRUCTION, /* JUMP */ Code::SIZE_OF_ADDRESS + Code::SIZE_OF_INSTRUCTION, /* PROCEED */ Code::SIZE_OF_INSTRUCTION, /* FAIL */ Code::SIZE_OF_INSTRUCTION, /* HALT */ Code::SIZE_OF_INSTRUCTION, /* EXIT */ Code::SIZE_OF_INSTRUCTION, /* TRY_ME_ELSE */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_OFFSET + Code::SIZE_OF_INSTRUCTION, /* RETRY_ME_ELSE */ Code::SIZE_OF_OFFSET + Code::SIZE_OF_INSTRUCTION, /* TRUST_ME_ELSE_FAIL */ Code::SIZE_OF_INSTRUCTION, /* TRY */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_OFFSET + Code::SIZE_OF_INSTRUCTION, /* RETRY */ Code::SIZE_OF_OFFSET + Code::SIZE_OF_INSTRUCTION, /* TRUST */ Code::SIZE_OF_OFFSET + Code::SIZE_OF_INSTRUCTION, /* NECK_CUT */ Code::SIZE_OF_INSTRUCTION, /* GET_X_LEVEL */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_Y_LEVEL */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* CUT */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* SWITCH_ON_TERM */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* SWITCH_ON_CONSTANT */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_TABLE_SIZE + Code::SIZE_OF_INSTRUCTION, /* SWITCH_ON_STRUCTURE */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_TABLE_SIZE + Code::SIZE_OF_INSTRUCTION, /* SWITCH_ON_QUANTIFIER */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_TABLE_SIZE + Code::SIZE_OF_INSTRUCTION, /* PSEUDO_INSTR0 */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_INSTRUCTION, /* PSEUDO_INSTR1 */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PSEUDO_INSTR2 */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PSEUDO_INSTR3 */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PSEUDO_INSTR4 */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* PSEUDO_INSTR5 */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* UNIFY_CONSTANT */ Code::SIZE_OF_CONSTANT + Code::SIZE_OF_INSTRUCTION, /* UNIFY_INTEGER */ Code::SIZE_OF_INTEGER + Code::SIZE_OF_INSTRUCTION, /* UNIFY_X_REF */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* UNIFY_Y_REF */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* DB_JUMP */ Code::SIZE_OF_NUMBER + Code::SIZE_OF_ADDRESS + Code::SIZE_OF_ADDRESS + Code::SIZE_OF_ADDRESS + Code::SIZE_OF_INSTRUCTION, /* DB_EXECUTE_PREDICATE */ Code::SIZE_OF_PRED + Code::SIZE_OF_NUMBER + Code::SIZE_OF_INSTRUCTION, /* DB_EXECUTE_ADDRESS */ Code::SIZE_OF_ADDRESS + Code::SIZE_OF_INSTRUCTION, /* DB_PROCEED */ Code::SIZE_OF_INSTRUCTION, /* PUT_DOUBLE */ Code::SIZE_OF_DOUBLE + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_DOUBLE */ Code::SIZE_OF_DOUBLE + Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* SET_DOUBLE */ Code::SIZE_OF_DOUBLE + Code::SIZE_OF_INSTRUCTION, /* UNIFY_DOUBLE */ Code::SIZE_OF_DOUBLE + Code::SIZE_OF_INSTRUCTION, /* PUT_STRING */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* GET_STRING */ Code::SIZE_OF_REGISTER + Code::SIZE_OF_INSTRUCTION, /* SET_STRING */ Code::SIZE_OF_INSTRUCTION, /* UNIFY_STRING */ Code::SIZE_OF_INSTRUCTION, };