2 Template(
'InstructionDeclGen.inc',
'Instruction Declarations',
'class {name};\n',
3 cpp_header+cpp_generation_disclaimer,cpp_footer),
4 Template(
'InstructionIDGen.inc',
'Instruction IDs',
'{name}ID,\n',
5 cpp_header+cpp_generation_disclaimer,cpp_footer),
6 Template(
'InstructionToInstGen.inc',
'Instruction conversion methods',
7 'virtual {name}* to_{name}() {{ return NULL; }}\n',
8 cpp_header+cpp_generation_disclaimer,cpp_footer),
9 Template(
'InstructionNameSwitchGen.inc',
'Instruction name switch',
10 'case {name}ID: return "{name}";\n',
11 cpp_header+cpp_generation_disclaimer,cpp_footer),
12 Template(
'InstructionVisitorGen.inc',
'Instruction Visitor',
13 'virtual void visit({name}* I, bool copyOperands);\n',
14 cpp_header+cpp_generation_disclaimer,cpp_footer),
15 Template(
'InstructionVisitorImplGen.inc',
'Instruction Visitor',
16 'void InstructionVisitor::visit({name}* I, bool copyOperands) {{visit_default(I);}}\n',
17 cpp_header+cpp_generation_disclaimer,cpp_footer),