-#!/usr/bin/env python3
+#!/usr/bin/env python2
+#encoding=utf-8
+from __future__ import (
+ absolute_import, division, print_function, unicode_literals
+)
import xml.parsers.expat
import re
import sys
def safe_name(name):
name = to_alphanum(name)
- if not str.isalpha(name[0]):
+ if not name[0].isalpha():
name = '_' + name
return name
assert(not num_str.startswith('0') and 'octals numbers not allowed')
return int(num_str)
-class Field:
- ufixed_pattern = re.compile("u(\d+)\.(\d+)")
- sfixed_pattern = re.compile("s(\d+)\.(\d+)")
+class Field(object):
+ ufixed_pattern = re.compile(r"u(\d+)\.(\d+)")
+ sfixed_pattern = re.compile(r"s(\d+)\.(\d+)")
def __init__(self, parser, attrs):
self.parser = parser
for value in self.values:
print("#define %-40s %d" % (prefix + value.name, value.value))
-class Group:
+class Group(object):
def __init__(self, parser, parent, start, count, size):
self.parser = parser
self.parent = parent
print(" dw[%d] = %s;" % (index, v))
print(" dw[%d] = %s >> 32;" % (index + 1, v))
-class Value:
+class Value(object):
def __init__(self, attrs):
self.name = safe_name(attrs["name"])
self.value = int(attrs["value"])
-class Parser:
+class Parser(object):
def __init__(self):
self.parser = xml.parsers.expat.ParserCreate()
self.parser.StartElementHandler = self.start_element