GP-2262 Encoder

This commit is contained in:
caheckman 2022-07-12 19:07:37 -04:00
parent ae79857b42
commit aa038c3636
96 changed files with 2701 additions and 2484 deletions

View file

@ -29,46 +29,48 @@ vector<ArchitectureCapability *> ArchitectureCapability::thelist;
const uint4 ArchitectureCapability::majorversion = 4;
const uint4 ArchitectureCapability::minorversion = 1;
AttributeId ATTRIB_ADJUSTVMA = AttributeId("adjustvma",30);
AttributeId ATTRIB_ENABLE = AttributeId("enable",31);
AttributeId ATTRIB_GROUP = AttributeId("group",32);
AttributeId ATTRIB_GROWTH = AttributeId("growth",33);
AttributeId ATTRIB_LOADERSYMBOLS = AttributeId("loadersymbols",34);
AttributeId ATTRIB_PARENT = AttributeId("parent",35);
AttributeId ATTRIB_REGISTER = AttributeId("register",36);
AttributeId ATTRIB_REVERSEJUSTIFY = AttributeId("reversejustify",37);
AttributeId ATTRIB_SIGNEXT = AttributeId("signext",38);
AttributeId ATTRIB_STYLE = AttributeId("style",39);
AttributeId ATTRIB_ADJUSTVMA = AttributeId("adjustvma",103);
AttributeId ATTRIB_ENABLE = AttributeId("enable",104);
AttributeId ATTRIB_GROUP = AttributeId("group",105);
AttributeId ATTRIB_GROWTH = AttributeId("growth",106);
AttributeId ATTRIB_KEY = AttributeId("key",107);
AttributeId ATTRIB_LOADERSYMBOLS = AttributeId("loadersymbols",108);
AttributeId ATTRIB_PARENT = AttributeId("parent",109);
AttributeId ATTRIB_REGISTER = AttributeId("register",110);
AttributeId ATTRIB_REVERSEJUSTIFY = AttributeId("reversejustify",111);
AttributeId ATTRIB_SIGNEXT = AttributeId("signext",112);
AttributeId ATTRIB_STYLE = AttributeId("style",113);
ElementId ELEM_ADDRESS_SHIFT_AMOUNT = ElementId("address_shift_amount",17);
ElementId ELEM_AGGRESSIVETRIM = ElementId("aggressivetrim",18);
ElementId ELEM_COMPILER_SPEC = ElementId("compiler_spec",19);
ElementId ELEM_DATA_SPACE = ElementId("data_space",20);
ElementId ELEM_DEFAULT_MEMORY_BLOCKS = ElementId("default_memory_blocks",21);
ElementId ELEM_DEFAULT_PROTO = ElementId("default_proto",22);
ElementId ELEM_DEFAULT_SYMBOLS = ElementId("default_symbols",23);
ElementId ELEM_EVAL_CALLED_PROTOTYPE = ElementId("eval_called_prototype",24);
ElementId ELEM_EVAL_CURRENT_PROTOTYPE = ElementId("eval_current_prototype",25);
ElementId ELEM_EXPERIMENTAL_RULES = ElementId("experimental_rules",26);
ElementId ELEM_FLOWOVERRIDELIST = ElementId("flowoverridelist",27);
ElementId ELEM_FUNCPTR = ElementId("funcptr",28);
ElementId ELEM_GLOBAL = ElementId("global",29);
ElementId ELEM_INCIDENTALCOPY = ElementId("incidentalcopy",30);
ElementId ELEM_INFERPTRBOUNDS = ElementId("inferptrbounds",31);
ElementId ELEM_MODELALIAS = ElementId("modelalias",32);
ElementId ELEM_NOHIGHPTR = ElementId("nohighptr",33);
ElementId ELEM_PROCESSOR_SPEC = ElementId("processor_spec",34);
ElementId ELEM_PROGRAMCOUNTER = ElementId("programcounter",35);
ElementId ELEM_PROPERTIES = ElementId("properties",36);
ElementId ELEM_READONLY = ElementId("readonly",37);
ElementId ELEM_REGISTER_DATA = ElementId("register_data",38);
ElementId ELEM_RULE = ElementId("rule",39);
ElementId ELEM_SAVE_STATE = ElementId("save_state",40);
ElementId ELEM_SEGMENTED_ADDRESS = ElementId("segmented_address",41);
ElementId ELEM_SPACEBASE = ElementId("spacebase",42);
ElementId ELEM_SPECEXTENSIONS = ElementId("specextensions",43);
ElementId ELEM_STACKPOINTER = ElementId("stackpointer",44);
ElementId ELEM_VOLATILE = ElementId("volatile",45);
ElementId ELEM_ADDRESS_SHIFT_AMOUNT = ElementId("address_shift_amount",130);
ElementId ELEM_AGGRESSIVETRIM = ElementId("aggressivetrim",131);
ElementId ELEM_COMPILER_SPEC = ElementId("compiler_spec",132);
ElementId ELEM_DATA_SPACE = ElementId("data_space",133);
ElementId ELEM_DEFAULT_MEMORY_BLOCKS = ElementId("default_memory_blocks",134);
ElementId ELEM_DEFAULT_PROTO = ElementId("default_proto",135);
ElementId ELEM_DEFAULT_SYMBOLS = ElementId("default_symbols",136);
ElementId ELEM_EVAL_CALLED_PROTOTYPE = ElementId("eval_called_prototype",137);
ElementId ELEM_EVAL_CURRENT_PROTOTYPE = ElementId("eval_current_prototype",138);
ElementId ELEM_EXPERIMENTAL_RULES = ElementId("experimental_rules",139);
ElementId ELEM_FLOWOVERRIDELIST = ElementId("flowoverridelist",140);
ElementId ELEM_FUNCPTR = ElementId("funcptr",141);
ElementId ELEM_GLOBAL = ElementId("global",142);
ElementId ELEM_INCIDENTALCOPY = ElementId("incidentalcopy",143);
ElementId ELEM_INFERPTRBOUNDS = ElementId("inferptrbounds",144);
ElementId ELEM_MODELALIAS = ElementId("modelalias",145);
ElementId ELEM_NOHIGHPTR = ElementId("nohighptr",146);
ElementId ELEM_PROCESSOR_SPEC = ElementId("processor_spec",147);
ElementId ELEM_PROGRAMCOUNTER = ElementId("programcounter",148);
ElementId ELEM_PROPERTIES = ElementId("properties",149);
ElementId ELEM_PROPERTY = ElementId("property",150);
ElementId ELEM_READONLY = ElementId("readonly",151);
ElementId ELEM_REGISTER_DATA = ElementId("register_data",152);
ElementId ELEM_RULE = ElementId("rule",153);
ElementId ELEM_SAVE_STATE = ElementId("save_state",154);
ElementId ELEM_SEGMENTED_ADDRESS = ElementId("segmented_address",155);
ElementId ELEM_SPACEBASE = ElementId("spacebase",156);
ElementId ELEM_SPECEXTENSIONS = ElementId("specextensions",157);
ElementId ELEM_STACKPOINTER = ElementId("stackpointer",158);
ElementId ELEM_VOLATILE = ElementId("volatile",159);
/// This builds a list of just the ArchitectureCapability extensions
void ArchitectureCapability::initialize(void)