X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=specs%2Fscripts%2Fcdecl.py;h=940ce4424a6c948390be1f8647c704a923dba461;hb=48412ffde3dd4710c96d5e8d9cfdf1789e4d703a;hp=3ef4a0110352be11db08680343f09d7f5f98c402;hpb=b63c32878eef6a534079ef1664d9b06eaea04023;p=apitrace diff --git a/specs/scripts/cdecl.py b/specs/scripts/cdecl.py index 3ef4a01..940ce44 100755 --- a/specs/scripts/cdecl.py +++ b/specs/scripts/cdecl.py @@ -34,7 +34,7 @@ import re import optparse -class Parser: +class DeclParser: token_re = re.compile(r'(\d[x0-9a-fA-F.UL]*|\w+|\s+|.)') @@ -291,7 +291,11 @@ class Parser: self.consume() length = self.consume() self.consume(']') - type = 'Array(%s, "%s")' % (type, length) + try: + int(length) + except ValueError: + length = "%s" % length + type = 'Array(%s, %s)' % (type, length) return type, name int_tokens = ('unsigned', 'signed', 'int', 'long', 'short', 'char') @@ -366,14 +370,15 @@ class Parser: return type - - - - def main(): - parser = Parser() - for arg in sys.argv[1:]: - parser.parse(open(arg, 'rt').read()) + args = sys.argv[1:] + + parser = DeclParser() + if args: + for arg in args: + parser.parse(open(arg, 'rt').read()) + else: + parser.parse(sys.stdin.read()) if __name__ == '__main__':