Lines Matching refs:self
74 def print_help(self):
79 def error(self, msg):
80 self.print_help()
119 def __init__(self, nfilename):
120 self.filename = nfilename
121 self.enums = {}
122 self.state = 0
123 self.nline = 0
124 self.mdata = []
125 self.start = 0
126 self.name = None
128 def error(self, msg):
129 pkk_fatal(f"{self.filename}:{self.nline} : {msg}")
131 def parse_line(self, sline):
141 if self.state != 0:
142 self.error(f"enum '{stmp}' starting inside another enum '{self.name}'")
144 self.name = stmp
145 self.state = 1
146 self.start = self.nline
147 self.mdata = []
151 if self.state == 1:
152 if self.name in self.enums:
153 self.error("duplicate enum definition '{}', lines {} - {} vs {} - {}".format(
154 self.name, self.enums[self.name]["start"], self.enums[self.name]["end"],
155 self.start, self.nline))
157 self.enums[self.name] = {
158 "data": self.mdata,
159 "start": self.start,
160 "end": self.nline
163 self.state = 0
165 elif self.state == 1:
168 self.mdata.append(smatch.group(1))
172 self.mdata.append(smatch.group(1))
174 def parse_file(self, fh):
175 self.nline = 0
177 self.nline += 1
178 self.parse_line(line.strip())
180 return self.enums