def __init__(self, defn):
    m = re.match('^([A-Fa-f0-9\\-\\,]+)\\s+"(.*?)"\\s+(.*)$', defn)
    assert (m is not None), ('Bad line ' + defn)
    range = m.group(1)
    range = (((range + '-') + range) if (len(range) == 2) else range)
    range = ((range + ',1') if (len(range) == 5) else range)
    self.first = int(range[:2], 16)
    self.last = int(range[3:5], 16)
    self.step = int(range[(- 1)], 16)
    self.name = m.group(2).strip()
    self.code = m.group(3).strip()
def __init__(self, defn):
    m = re.match('^([A-Fa-f0-9\\-\\,]+)\\s+"(.*?)"\\s+(.*)$', defn)
    assert (m is not None), ('Bad line ' + defn)
    range = m.group(1)
    range = (((range + '-') + range) if (len(range) == 2) else range)
    range = ((range + ',1') if (len(range) == 5) else range)
    self.first = int(range[:2], 16)
    self.last = int(range[3:5], 16)
    self.step = int(range[(- 1)], 16)
    self.name = m.group(2).strip()
    self.code = m.group(3).strip()