Lines Matching refs:self
81 def __init__(self, name, copyright, instructions, operand_kinds, version = None, revision = None):
82 self.name = name
83 self.copyright = copyright
84 self.instructions = instructions
85 self.operand_kinds = operand_kinds
86 self.version = version
87 self.revision = revision
93 def __init__(self):
94 self.upper_case_initial = re.compile('^[A-Z]')
97 def comment_prefix(self):
100 def namespace_prefix(self):
103 def uses_guards(self):
106 def cpp_guard_preamble(self):
109 def cpp_guard_postamble(self):
112 def enum_value(self, prefix, name, value):
113 if self.upper_case_initial.match(name):
120 def generate(self, grammar):
125 parts.extend(["{}{}".format(self.comment_prefix(), f) for f in grammar.copyright])
129 if self.uses_guards:
134 parts.append(self.cpp_guard_preamble())
137 parts.append(self.const_definition(grammar.name, 'Version', grammar.version))
140 parts.append(self.const_definition(grammar.name, 'Revision', grammar.revision))
145 parts.append(self.enum_prefix(grammar.name, 'Instructions'))
147 parts.append(self.enum_value(grammar.name, inst['opname'], inst['opcode']))
148 parts.append(self.enum_end(grammar.name, 'Instructions'))
153 parts.append(self.enum_prefix(grammar.name, kind['kind']))
155 parts.append(self.enum_value(grammar.name, e['enumerant'], e['value']))
156 parts.append(self.enum_end(grammar.name, kind['kind']))
159 parts.append(self.cpp_guard_postamble())
161 if self.uses_guards:
171 def uses_guards(self):
174 def comment_prefix(self):
177 def const_definition(self, prefix, var, value):
183 def enum_prefix(self, prefix, name):
186 def enum_end(self, prefix, enum):
189 def cpp_guard_preamble(self):
192 def cpp_guard_postamble(self):