[pypy-commit] pypy release-4.0.x: merge default into release, update to 4.0.1

mattip noreply at buildbot.pypy.org
Sun Nov 15 12:52:25 EST 2015


Author: mattip <matti.picus at gmail.com>
Branch: release-4.0.x
Changeset: r80692:4d03e28118eb
Date: 2015-11-15 19:52 +0200
http://bitbucket.org/pypy/pypy/changeset/4d03e28118eb/

Log:	merge default into release, update to 4.0.1

diff too long, truncating to 2000 out of 11235 lines

diff --git a/lib_pypy/_tkinter/tklib_build.py b/lib_pypy/_tkinter/tklib_build.py
--- a/lib_pypy/_tkinter/tklib_build.py
+++ b/lib_pypy/_tkinter/tklib_build.py
@@ -212,8 +212,8 @@
 #include <tclTomMath.h>
 #endif 
 
-char *get_tk_version() { return TK_VERSION; }
-char *get_tcl_version() { return TCL_VERSION; }
+char *get_tk_version(void) { return TK_VERSION; }
+char *get_tcl_version(void) { return TCL_VERSION; }
 """ % globals(),
 include_dirs=incdirs,
 libraries=linklibs,
diff --git a/lib_pypy/cffi.egg-info/PKG-INFO b/lib_pypy/cffi.egg-info/PKG-INFO
--- a/lib_pypy/cffi.egg-info/PKG-INFO
+++ b/lib_pypy/cffi.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: cffi
-Version: 1.3.0
+Version: 1.3.1
 Summary: Foreign Function Interface for Python calling C code.
 Home-page: http://cffi.readthedocs.org
 Author: Armin Rigo, Maciej Fijalkowski
diff --git a/lib_pypy/cffi/__init__.py b/lib_pypy/cffi/__init__.py
--- a/lib_pypy/cffi/__init__.py
+++ b/lib_pypy/cffi/__init__.py
@@ -4,8 +4,8 @@
 from .api import FFI, CDefError, FFIError
 from .ffiplatform import VerificationError, VerificationMissing
 
-__version__ = "1.3.0"
-__version_info__ = (1, 3, 0)
+__version__ = "1.3.1"
+__version_info__ = (1, 3, 1)
 
 # The verifier module file names are based on the CRC32 of a string that
 # contains the following version number.  It may be older than __version__
diff --git a/lib_pypy/cffi/_pycparser/__init__.py b/lib_pypy/cffi/_pycparser/__init__.py
--- a/lib_pypy/cffi/_pycparser/__init__.py
+++ b/lib_pypy/cffi/_pycparser/__init__.py
@@ -4,11 +4,11 @@
 # This package file exports some convenience functions for
 # interacting with pycparser
 #
-# Copyright (C) 2008-2012, Eli Bendersky
+# Copyright (C) 2008-2015, Eli Bendersky
 # License: BSD
 #-----------------------------------------------------------------
 __all__ = ['c_lexer', 'c_parser', 'c_ast']
-__version__ = '2.10'
+__version__ = '2.14'
 
 from subprocess import Popen, PIPE
 from .c_parser import CParser
@@ -91,4 +91,3 @@
     if parser is None:
         parser = CParser()
     return parser.parse(text, filename)
-
diff --git a/lib_pypy/cffi/_pycparser/_ast_gen.py b/lib_pypy/cffi/_pycparser/_ast_gen.py
--- a/lib_pypy/cffi/_pycparser/_ast_gen.py
+++ b/lib_pypy/cffi/_pycparser/_ast_gen.py
@@ -1,13 +1,13 @@
 #-----------------------------------------------------------------
 # _ast_gen.py
 #
-# Generates the AST Node classes from a specification given in 
-# a .yaml file
+# Generates the AST Node classes from a specification given in
+# a configuration file
 #
 # The design of this module was inspired by astgen.py from the
 # Python 2.5 code-base.
 #
-# Copyright (C) 2008-2012, Eli Bendersky
+# Copyright (C) 2008-2015, Eli Bendersky
 # License: BSD
 #-----------------------------------------------------------------
 import pprint
@@ -20,7 +20,7 @@
             file.
         """
         self.cfg_filename = cfg_filename
-        self.node_cfg = [NodeCfg(name, contents) 
+        self.node_cfg = [NodeCfg(name, contents)
             for (name, contents) in self.parse_cfgfile(cfg_filename)]
 
     def generate(self, file=None):
@@ -28,11 +28,11 @@
         """
         src = Template(_PROLOGUE_COMMENT).substitute(
             cfg_filename=self.cfg_filename)
-        
+
         src += _PROLOGUE_CODE
         for node_cfg in self.node_cfg:
             src += node_cfg.generate_source() + '\n\n'
-        
+
         file.write(src)
 
     def parse_cfgfile(self, filename):
@@ -57,10 +57,10 @@
 
 
 class NodeCfg(object):
-    """ Node configuration. 
+    """ Node configuration.
 
         name: node name
-        contents: a list of contents - attributes and child nodes 
+        contents: a list of contents - attributes and child nodes
         See comment at the top of the configuration file for details.
     """
     def __init__(self, name, contents):
@@ -73,7 +73,7 @@
         for entry in contents:
             clean_entry = entry.rstrip('*')
             self.all_entries.append(clean_entry)
-            
+
             if entry.endswith('**'):
                 self.seq_child.append(clean_entry)
             elif entry.endswith('*'):
@@ -86,26 +86,30 @@
         src += '\n' + self._gen_children()
         src += '\n' + self._gen_attr_names()
         return src
-    
+
     def _gen_init(self):
         src = "class %s(Node):\n" % self.name
 
         if self.all_entries:
             args = ', '.join(self.all_entries)
+            slots = ', '.join("'{0}'".format(e) for e in self.all_entries)
+            slots += ", 'coord', '__weakref__'"
             arglist = '(self, %s, coord=None)' % args
         else:
+            slots = "'coord', '__weakref__'"
             arglist = '(self, coord=None)'
-        
+
+        src += "    __slots__ = (%s)\n" % slots
         src += "    def __init__%s:\n" % arglist
-        
+
         for name in self.all_entries + ['coord']:
             src += "        self.%s = %s\n" % (name, name)
-        
+
         return src
 
     def _gen_children(self):
         src = '    def children(self):\n'
-        
+
         if self.all_entries:
             src += '        nodelist = []\n'
 
@@ -114,21 +118,21 @@
                     '        if self.%(child)s is not None:' +
                     ' nodelist.append(("%(child)s", self.%(child)s))\n') % (
                         dict(child=child))
-                
+
             for seq_child in self.seq_child:
                 src += (
                     '        for i, child in enumerate(self.%(child)s or []):\n'
                     '            nodelist.append(("%(child)s[%%d]" %% i, child))\n') % (
                         dict(child=seq_child))
-                    
+
             src += '        return tuple(nodelist)\n'
         else:
             src += '        return ()\n'
-            
-        return src        
+
+        return src
 
     def _gen_attr_names(self):
-        src = "    attr_names = (" + ''.join("%r," % nm for nm in self.attr) + ')' 
+        src = "    attr_names = (" + ''.join("%r, " % nm for nm in self.attr) + ')'
         return src
 
 
@@ -136,7 +140,7 @@
 r'''#-----------------------------------------------------------------
 # ** ATTENTION **
 # This code was automatically generated from the file:
-# $cfg_filename 
+# $cfg_filename
 #
 # Do not modify it directly. Modify the configuration file and
 # run the generator again.
@@ -146,7 +150,7 @@
 #
 # AST Node classes.
 #
-# Copyright (C) 2008-2012, Eli Bendersky
+# Copyright (C) 2008-2015, Eli Bendersky
 # License: BSD
 #-----------------------------------------------------------------
 
@@ -157,6 +161,7 @@
 
 
 class Node(object):
+    __slots__ = ()
     """ Abstract base class for AST nodes.
     """
     def children(self):
@@ -167,21 +172,21 @@
     def show(self, buf=sys.stdout, offset=0, attrnames=False, nodenames=False, showcoord=False, _my_node_name=None):
         """ Pretty print the Node and all its attributes and
             children (recursively) to a buffer.
-            
-            buf:   
+
+            buf:
                 Open IO buffer into which the Node is printed.
-            
-            offset: 
-                Initial offset (amount of leading spaces) 
-            
+
+            offset:
+                Initial offset (amount of leading spaces)
+
             attrnames:
                 True if you want to see the attribute names in
                 name=value pairs. False to only see the values.
-                
+
             nodenames:
-                True if you want to see the actual node names 
+                True if you want to see the actual node names
                 within their parents.
-            
+
             showcoord:
                 Do you want the coordinates of each Node to be
                 displayed.
@@ -216,47 +221,47 @@
 
 
 class NodeVisitor(object):
-    """ A base NodeVisitor class for visiting c_ast nodes. 
+    """ A base NodeVisitor class for visiting c_ast nodes.
         Subclass it and define your own visit_XXX methods, where
-        XXX is the class name you want to visit with these 
+        XXX is the class name you want to visit with these
         methods.
-        
+
         For example:
-        
+
         class ConstantVisitor(NodeVisitor):
             def __init__(self):
                 self.values = []
-            
+
             def visit_Constant(self, node):
                 self.values.append(node.value)
 
-        Creates a list of values of all the constant nodes 
+        Creates a list of values of all the constant nodes
         encountered below the given node. To use it:
-        
+
         cv = ConstantVisitor()
         cv.visit(node)
-        
+
         Notes:
-        
-        *   generic_visit() will be called for AST nodes for which 
-            no visit_XXX method was defined. 
-        *   The children of nodes for which a visit_XXX was 
+
+        *   generic_visit() will be called for AST nodes for which
+            no visit_XXX method was defined.
+        *   The children of nodes for which a visit_XXX was
             defined will not be visited - if you need this, call
-            generic_visit() on the node. 
+            generic_visit() on the node.
             You can use:
                 NodeVisitor.generic_visit(self, node)
         *   Modeled after Python's own AST visiting facilities
             (the ast module of Python 3.0)
     """
     def visit(self, node):
-        """ Visit a node. 
+        """ Visit a node.
         """
         method = 'visit_' + node.__class__.__name__
         visitor = getattr(self, method, self.generic_visit)
         return visitor(node)
-        
+
     def generic_visit(self, node):
-        """ Called if no explicit visitor function exists for a 
+        """ Called if no explicit visitor function exists for a
             node. Implements preorder visiting of the node.
         """
         for c_name, c in node.children():
diff --git a/lib_pypy/cffi/_pycparser/_build_tables.py b/lib_pypy/cffi/_pycparser/_build_tables.py
--- a/lib_pypy/cffi/_pycparser/_build_tables.py
+++ b/lib_pypy/cffi/_pycparser/_build_tables.py
@@ -6,12 +6,11 @@
 # Also generates AST code from the configuration file.
 # Should be called from the pycparser directory.
 #
-# Copyright (C) 2008-2012, Eli Bendersky
+# Copyright (C) 2008-2015, Eli Bendersky
 # License: BSD
 #-----------------------------------------------------------------
 
 # Generate c_ast.py
-#
 from _ast_gen import ASTCodeGenerator
 ast_gen = ASTCodeGenerator('_c_ast.cfg')
 ast_gen.generate(open('c_ast.py', 'w'))
diff --git a/lib_pypy/cffi/_pycparser/_c_ast.cfg b/lib_pypy/cffi/_pycparser/_c_ast.cfg
--- a/lib_pypy/cffi/_pycparser/_c_ast.cfg
+++ b/lib_pypy/cffi/_pycparser/_c_ast.cfg
@@ -1,188 +1,189 @@
-#-----------------------------------------------------------------
-# pycparser: _c_ast_gen.cfg
-#
-# Defines the AST Node classes used in pycparser.
-# 
-# Each entry is a Node sub-class name, listing the attributes
-# and child nodes of the class:
-#   <name>*     - a child node
-#   <name>**    - a sequence of child nodes
-#   <name>      - an attribute
-#
-# Copyright (C) 2008-2012, Eli Bendersky
-# License: BSD
-#-----------------------------------------------------------------
-
-ArrayDecl: [type*, dim*]
-
-ArrayRef: [name*, subscript*]
-
-# op: =, +=, /= etc.
-#
-Assignment: [op, lvalue*, rvalue*]
-
-BinaryOp: [op, left*, right*]
-
-Break: []
-
-Case: [expr*, stmts**]
-
-Cast: [to_type*, expr*]
-
-# Compound statement in C99 is a list of block items (declarations or
-# statements).
-#
-Compound: [block_items**]
-
-# Compound literal (anonymous aggregate) for C99.
-# (type-name) {initializer_list}
-# type: the typename
-# init: InitList for the initializer list
-#
-CompoundLiteral: [type*, init*]
-
-# type: int, char, float, etc. see CLexer for constant token types
-#
-Constant: [type, value]
-
-Continue: []
-
-# name: the variable being declared
-# quals: list of qualifiers (const, volatile)
-# funcspec: list function specifiers (i.e. inline in C99)
-# storage: list of storage specifiers (extern, register, etc.)
-# type: declaration type (probably nested with all the modifiers)
-# init: initialization value, or None
-# bitsize: bit field size, or None
-#
-Decl: [name, quals, storage, funcspec, type*, init*, bitsize*]
-
-DeclList: [decls**]
-
-Default: [stmts**]
-
-DoWhile: [cond*, stmt*]
-
-# Represents the ellipsis (...) parameter in a function 
-# declaration
-#
-EllipsisParam: []
-
-# An empty statement (a semicolon ';' on its own)
-#
-EmptyStatement: []
-
-# Enumeration type specifier
-# name: an optional ID
-# values: an EnumeratorList
-#
-Enum: [name, values*]
-
-# A name/value pair for enumeration values
-#
-Enumerator: [name, value*]
-
-# A list of enumerators
-#
-EnumeratorList: [enumerators**]
-
-# A list of expressions separated by the comma operator.
-#
-ExprList: [exprs**]
-
-# This is the top of the AST, representing a single C file (a 
-# translation unit in K&R jargon). It contains a list of 
-# "external-declaration"s, which is either declarations (Decl),
-# Typedef or function definitions (FuncDef).
-# 
-FileAST: [ext**]
-
-# for (init; cond; next) stmt
-#
-For: [init*, cond*, next*, stmt*]
-
-# name: Id
-# args: ExprList
-#
-FuncCall: [name*, args*]
-
-# type <decl>(args)
-#
-FuncDecl: [args*, type*]
-
-# Function definition: a declarator for the function name and
-# a body, which is a compound statement. 
-# There's an optional list of parameter declarations for old
-# K&R-style definitions
-#
-FuncDef: [decl*, param_decls**, body*]
-
-Goto: [name]
-
-ID: [name]
-
-# Holder for types that are a simple identifier (e.g. the built
-# ins void, char etc. and typedef-defined types)
-#
-IdentifierType: [names]
-
-If: [cond*, iftrue*, iffalse*]
-
-# An initialization list used for compound literals.
-#
-InitList: [exprs**]
-
-Label: [name, stmt*]
-
-# A named initializer for C99.
-# The name of a NamedInitializer is a sequence of Nodes, because
-# names can be hierarchical and contain constant expressions.
-#
-NamedInitializer: [name**, expr*]
-
-# a list of comma separated function parameter declarations
-#
-ParamList: [params**]
-
-PtrDecl: [quals, type*]
-
-Return: [expr*]
-
-# name: struct tag name
-# decls: declaration of members
-#
-Struct: [name, decls**]
-
-# type: . or ->
-# name.field or name->field
-#
-StructRef: [name*, type, field*]
-
-Switch: [cond*, stmt*]
-
-# cond ? iftrue : iffalse
-#
-TernaryOp: [cond*, iftrue*, iffalse*]
-
-# A base type declaration
-#
-TypeDecl: [declname, quals, type*]
-
-# A typedef declaration.
-# Very similar to Decl, but without some attributes
-#
-Typedef: [name, quals, storage, type*]
-
-Typename: [quals, type*]
-
-UnaryOp: [op, expr*]
-
-# name: union tag name
-# decls: declaration of members
-#
-Union: [name, decls**]
-
-While: [cond*, stmt*]
-
-
-
+#-----------------------------------------------------------------
+# pycparser: _c_ast.cfg
+#
+# Defines the AST Node classes used in pycparser.
+#
+# Each entry is a Node sub-class name, listing the attributes
+# and child nodes of the class:
+#   <name>*     - a child node
+#   <name>**    - a sequence of child nodes
+#   <name>      - an attribute
+#
+# Copyright (C) 2008-2015, Eli Bendersky
+# License: BSD
+#-----------------------------------------------------------------
+
+# ArrayDecl is a nested declaration of an array with the given type.
+# dim: the dimension (for example, constant 42)
+# dim_quals: list of dimension qualifiers, to support C99's allowing 'const'
+#            and 'static' within the array dimension in function declarations.
+ArrayDecl: [type*, dim*, dim_quals]
+
+ArrayRef: [name*, subscript*]
+
+# op: =, +=, /= etc.
+#
+Assignment: [op, lvalue*, rvalue*]
+
+BinaryOp: [op, left*, right*]
+
+Break: []
+
+Case: [expr*, stmts**]
+
+Cast: [to_type*, expr*]
+
+# Compound statement in C99 is a list of block items (declarations or
+# statements).
+#
+Compound: [block_items**]
+
+# Compound literal (anonymous aggregate) for C99.
+# (type-name) {initializer_list}
+# type: the typename
+# init: InitList for the initializer list
+#
+CompoundLiteral: [type*, init*]
+
+# type: int, char, float, etc. see CLexer for constant token types
+#
+Constant: [type, value]
+
+Continue: []
+
+# name: the variable being declared
+# quals: list of qualifiers (const, volatile)
+# funcspec: list function specifiers (i.e. inline in C99)
+# storage: list of storage specifiers (extern, register, etc.)
+# type: declaration type (probably nested with all the modifiers)
+# init: initialization value, or None
+# bitsize: bit field size, or None
+#
+Decl: [name, quals, storage, funcspec, type*, init*, bitsize*]
+
+DeclList: [decls**]
+
+Default: [stmts**]
+
+DoWhile: [cond*, stmt*]
+
+# Represents the ellipsis (...) parameter in a function
+# declaration
+#
+EllipsisParam: []
+
+# An empty statement (a semicolon ';' on its own)
+#
+EmptyStatement: []
+
+# Enumeration type specifier
+# name: an optional ID
+# values: an EnumeratorList
+#
+Enum: [name, values*]
+
+# A name/value pair for enumeration values
+#
+Enumerator: [name, value*]
+
+# A list of enumerators
+#
+EnumeratorList: [enumerators**]
+
+# A list of expressions separated by the comma operator.
+#
+ExprList: [exprs**]
+
+# This is the top of the AST, representing a single C file (a
+# translation unit in K&R jargon). It contains a list of
+# "external-declaration"s, which is either declarations (Decl),
+# Typedef or function definitions (FuncDef).
+#
+FileAST: [ext**]
+
+# for (init; cond; next) stmt
+#
+For: [init*, cond*, next*, stmt*]
+
+# name: Id
+# args: ExprList
+#
+FuncCall: [name*, args*]
+
+# type <decl>(args)
+#
+FuncDecl: [args*, type*]
+
+# Function definition: a declarator for the function name and
+# a body, which is a compound statement.
+# There's an optional list of parameter declarations for old
+# K&R-style definitions
+#
+FuncDef: [decl*, param_decls**, body*]
+
+Goto: [name]
+
+ID: [name]
+
+# Holder for types that are a simple identifier (e.g. the built
+# ins void, char etc. and typedef-defined types)
+#
+IdentifierType: [names]
+
+If: [cond*, iftrue*, iffalse*]
+
+# An initialization list used for compound literals.
+#
+InitList: [exprs**]
+
+Label: [name, stmt*]
+
+# A named initializer for C99.
+# The name of a NamedInitializer is a sequence of Nodes, because
+# names can be hierarchical and contain constant expressions.
+#
+NamedInitializer: [name**, expr*]
+
+# a list of comma separated function parameter declarations
+#
+ParamList: [params**]
+
+PtrDecl: [quals, type*]
+
+Return: [expr*]
+
+# name: struct tag name
+# decls: declaration of members
+#
+Struct: [name, decls**]
+
+# type: . or ->
+# name.field or name->field
+#
+StructRef: [name*, type, field*]
+
+Switch: [cond*, stmt*]
+
+# cond ? iftrue : iffalse
+#
+TernaryOp: [cond*, iftrue*, iffalse*]
+
+# A base type declaration
+#
+TypeDecl: [declname, quals, type*]
+
+# A typedef declaration.
+# Very similar to Decl, but without some attributes
+#
+Typedef: [name, quals, storage, type*]
+
+Typename: [name, quals, type*]
+
+UnaryOp: [op, expr*]
+
+# name: union tag name
+# decls: declaration of members
+#
+Union: [name, decls**]
+
+While: [cond*, stmt*]
diff --git a/lib_pypy/cffi/_pycparser/ast_transforms.py b/lib_pypy/cffi/_pycparser/ast_transforms.py
--- a/lib_pypy/cffi/_pycparser/ast_transforms.py
+++ b/lib_pypy/cffi/_pycparser/ast_transforms.py
@@ -3,7 +3,7 @@
 #
 # Some utilities used by the parser to create a friendlier AST.
 #
-# Copyright (C) 2008-2012, Eli Bendersky
+# Copyright (C) 2008-2015, Eli Bendersky
 # License: BSD
 #------------------------------------------------------------------------------
 
@@ -84,7 +84,7 @@
             _extract_nested_case(child, new_compound.block_items)
             last_case = new_compound.block_items[-1]
         else:
-            # Other statements are added as childrent to the last case, if it
+            # Other statements are added as children to the last case, if it
             # exists.
             if last_case is None:
                 new_compound.block_items.append(child)
diff --git a/lib_pypy/cffi/_pycparser/c_ast.py b/lib_pypy/cffi/_pycparser/c_ast.py
--- a/lib_pypy/cffi/_pycparser/c_ast.py
+++ b/lib_pypy/cffi/_pycparser/c_ast.py
@@ -1,7 +1,7 @@
 #-----------------------------------------------------------------
 # ** ATTENTION **
 # This code was automatically generated from the file:
-# _c_ast.cfg 
+# _c_ast.cfg
 #
 # Do not modify it directly. Modify the configuration file and
 # run the generator again.
@@ -11,7 +11,7 @@
 #
 # AST Node classes.
 #
-# Copyright (C) 2008-2012, Eli Bendersky
+# Copyright (C) 2008-2015, Eli Bendersky
 # License: BSD
 #-----------------------------------------------------------------
 
@@ -20,6 +20,7 @@
 
 
 class Node(object):
+    __slots__ = ()
     """ Abstract base class for AST nodes.
     """
     def children(self):
@@ -30,21 +31,21 @@
     def show(self, buf=sys.stdout, offset=0, attrnames=False, nodenames=False, showcoord=False, _my_node_name=None):
         """ Pretty print the Node and all its attributes and
             children (recursively) to a buffer.
-            
-            buf:   
+
+            buf:
                 Open IO buffer into which the Node is printed.
-            
-            offset: 
-                Initial offset (amount of leading spaces) 
-            
+
+            offset:
+                Initial offset (amount of leading spaces)
+
             attrnames:
                 True if you want to see the attribute names in
                 name=value pairs. False to only see the values.
-                
+
             nodenames:
-                True if you want to see the actual node names 
+                True if you want to see the actual node names
                 within their parents.
-            
+
             showcoord:
                 Do you want the coordinates of each Node to be
                 displayed.
@@ -79,47 +80,47 @@
 
 
 class NodeVisitor(object):
-    """ A base NodeVisitor class for visiting c_ast nodes. 
+    """ A base NodeVisitor class for visiting c_ast nodes.
         Subclass it and define your own visit_XXX methods, where
-        XXX is the class name you want to visit with these 
+        XXX is the class name you want to visit with these
         methods.
-        
+
         For example:
-        
+
         class ConstantVisitor(NodeVisitor):
             def __init__(self):
                 self.values = []
-            
+
             def visit_Constant(self, node):
                 self.values.append(node.value)
 
-        Creates a list of values of all the constant nodes 
+        Creates a list of values of all the constant nodes
         encountered below the given node. To use it:
-        
+
         cv = ConstantVisitor()
         cv.visit(node)
-        
+
         Notes:
-        
-        *   generic_visit() will be called for AST nodes for which 
-            no visit_XXX method was defined. 
-        *   The children of nodes for which a visit_XXX was 
+
+        *   generic_visit() will be called for AST nodes for which
+            no visit_XXX method was defined.
+        *   The children of nodes for which a visit_XXX was
             defined will not be visited - if you need this, call
-            generic_visit() on the node. 
+            generic_visit() on the node.
             You can use:
                 NodeVisitor.generic_visit(self, node)
         *   Modeled after Python's own AST visiting facilities
             (the ast module of Python 3.0)
     """
     def visit(self, node):
-        """ Visit a node. 
+        """ Visit a node.
         """
         method = 'visit_' + node.__class__.__name__
         visitor = getattr(self, method, self.generic_visit)
         return visitor(node)
-        
+
     def generic_visit(self, node):
-        """ Called if no explicit visitor function exists for a 
+        """ Called if no explicit visitor function exists for a
             node. Implements preorder visiting of the node.
         """
         for c_name, c in node.children():
@@ -127,9 +128,11 @@
 
 
 class ArrayDecl(Node):
-    def __init__(self, type, dim, coord=None):
+    __slots__ = ('type', 'dim', 'dim_quals', 'coord', '__weakref__')
+    def __init__(self, type, dim, dim_quals, coord=None):
         self.type = type
         self.dim = dim
+        self.dim_quals = dim_quals
         self.coord = coord
 
     def children(self):
@@ -138,9 +141,10 @@
         if self.dim is not None: nodelist.append(("dim", self.dim))
         return tuple(nodelist)
 
-    attr_names = ()
+    attr_names = ('dim_quals', )
 
 class ArrayRef(Node):
+    __slots__ = ('name', 'subscript', 'coord', '__weakref__')
     def __init__(self, name, subscript, coord=None):
         self.name = name
         self.subscript = subscript
@@ -155,6 +159,7 @@
     attr_names = ()
 
 class Assignment(Node):
+    __slots__ = ('op', 'lvalue', 'rvalue', 'coord', '__weakref__')
     def __init__(self, op, lvalue, rvalue, coord=None):
         self.op = op
         self.lvalue = lvalue
@@ -167,9 +172,10 @@
         if self.rvalue is not None: nodelist.append(("rvalue", self.rvalue))
         return tuple(nodelist)
 
-    attr_names = ('op',)
+    attr_names = ('op', )
 
 class BinaryOp(Node):
+    __slots__ = ('op', 'left', 'right', 'coord', '__weakref__')
     def __init__(self, op, left, right, coord=None):
         self.op = op
         self.left = left
@@ -182,9 +188,10 @@
         if self.right is not None: nodelist.append(("right", self.right))
         return tuple(nodelist)
 
-    attr_names = ('op',)
+    attr_names = ('op', )
 
 class Break(Node):
+    __slots__ = ('coord', '__weakref__')
     def __init__(self, coord=None):
         self.coord = coord
 
@@ -194,6 +201,7 @@
     attr_names = ()
 
 class Case(Node):
+    __slots__ = ('expr', 'stmts', 'coord', '__weakref__')
     def __init__(self, expr, stmts, coord=None):
         self.expr = expr
         self.stmts = stmts
@@ -209,6 +217,7 @@
     attr_names = ()
 
 class Cast(Node):
+    __slots__ = ('to_type', 'expr', 'coord', '__weakref__')
     def __init__(self, to_type, expr, coord=None):
         self.to_type = to_type
         self.expr = expr
@@ -223,6 +232,7 @@
     attr_names = ()
 
 class Compound(Node):
+    __slots__ = ('block_items', 'coord', '__weakref__')
     def __init__(self, block_items, coord=None):
         self.block_items = block_items
         self.coord = coord
@@ -236,6 +246,7 @@
     attr_names = ()
 
 class CompoundLiteral(Node):
+    __slots__ = ('type', 'init', 'coord', '__weakref__')
     def __init__(self, type, init, coord=None):
         self.type = type
         self.init = init
@@ -250,6 +261,7 @@
     attr_names = ()
 
 class Constant(Node):
+    __slots__ = ('type', 'value', 'coord', '__weakref__')
     def __init__(self, type, value, coord=None):
         self.type = type
         self.value = value
@@ -259,9 +271,10 @@
         nodelist = []
         return tuple(nodelist)
 
-    attr_names = ('type','value',)
+    attr_names = ('type', 'value', )
 
 class Continue(Node):
+    __slots__ = ('coord', '__weakref__')
     def __init__(self, coord=None):
         self.coord = coord
 
@@ -271,6 +284,7 @@
     attr_names = ()
 
 class Decl(Node):
+    __slots__ = ('name', 'quals', 'storage', 'funcspec', 'type', 'init', 'bitsize', 'coord', '__weakref__')
     def __init__(self, name, quals, storage, funcspec, type, init, bitsize, coord=None):
         self.name = name
         self.quals = quals
@@ -288,9 +302,10 @@
         if self.bitsize is not None: nodelist.append(("bitsize", self.bitsize))
         return tuple(nodelist)
 
-    attr_names = ('name','quals','storage','funcspec',)
+    attr_names = ('name', 'quals', 'storage', 'funcspec', )
 
 class DeclList(Node):
+    __slots__ = ('decls', 'coord', '__weakref__')
     def __init__(self, decls, coord=None):
         self.decls = decls
         self.coord = coord
@@ -304,6 +319,7 @@
     attr_names = ()
 
 class Default(Node):
+    __slots__ = ('stmts', 'coord', '__weakref__')
     def __init__(self, stmts, coord=None):
         self.stmts = stmts
         self.coord = coord
@@ -317,6 +333,7 @@
     attr_names = ()
 
 class DoWhile(Node):
+    __slots__ = ('cond', 'stmt', 'coord', '__weakref__')
     def __init__(self, cond, stmt, coord=None):
         self.cond = cond
         self.stmt = stmt
@@ -331,6 +348,7 @@
     attr_names = ()
 
 class EllipsisParam(Node):
+    __slots__ = ('coord', '__weakref__')
     def __init__(self, coord=None):
         self.coord = coord
 
@@ -340,6 +358,7 @@
     attr_names = ()
 
 class EmptyStatement(Node):
+    __slots__ = ('coord', '__weakref__')
     def __init__(self, coord=None):
         self.coord = coord
 
@@ -349,6 +368,7 @@
     attr_names = ()
 
 class Enum(Node):
+    __slots__ = ('name', 'values', 'coord', '__weakref__')
     def __init__(self, name, values, coord=None):
         self.name = name
         self.values = values
@@ -359,9 +379,10 @@
         if self.values is not None: nodelist.append(("values", self.values))
         return tuple(nodelist)
 
-    attr_names = ('name',)
+    attr_names = ('name', )
 
 class Enumerator(Node):
+    __slots__ = ('name', 'value', 'coord', '__weakref__')
     def __init__(self, name, value, coord=None):
         self.name = name
         self.value = value
@@ -372,9 +393,10 @@
         if self.value is not None: nodelist.append(("value", self.value))
         return tuple(nodelist)
 
-    attr_names = ('name',)
+    attr_names = ('name', )
 
 class EnumeratorList(Node):
+    __slots__ = ('enumerators', 'coord', '__weakref__')
     def __init__(self, enumerators, coord=None):
         self.enumerators = enumerators
         self.coord = coord
@@ -388,6 +410,7 @@
     attr_names = ()
 
 class ExprList(Node):
+    __slots__ = ('exprs', 'coord', '__weakref__')
     def __init__(self, exprs, coord=None):
         self.exprs = exprs
         self.coord = coord
@@ -401,6 +424,7 @@
     attr_names = ()
 
 class FileAST(Node):
+    __slots__ = ('ext', 'coord', '__weakref__')
     def __init__(self, ext, coord=None):
         self.ext = ext
         self.coord = coord
@@ -414,6 +438,7 @@
     attr_names = ()
 
 class For(Node):
+    __slots__ = ('init', 'cond', 'next', 'stmt', 'coord', '__weakref__')
     def __init__(self, init, cond, next, stmt, coord=None):
         self.init = init
         self.cond = cond
@@ -432,6 +457,7 @@
     attr_names = ()
 
 class FuncCall(Node):
+    __slots__ = ('name', 'args', 'coord', '__weakref__')
     def __init__(self, name, args, coord=None):
         self.name = name
         self.args = args
@@ -446,6 +472,7 @@
     attr_names = ()
 
 class FuncDecl(Node):
+    __slots__ = ('args', 'type', 'coord', '__weakref__')
     def __init__(self, args, type, coord=None):
         self.args = args
         self.type = type
@@ -460,6 +487,7 @@
     attr_names = ()
 
 class FuncDef(Node):
+    __slots__ = ('decl', 'param_decls', 'body', 'coord', '__weakref__')
     def __init__(self, decl, param_decls, body, coord=None):
         self.decl = decl
         self.param_decls = param_decls
@@ -477,6 +505,7 @@
     attr_names = ()
 
 class Goto(Node):
+    __slots__ = ('name', 'coord', '__weakref__')
     def __init__(self, name, coord=None):
         self.name = name
         self.coord = coord
@@ -485,9 +514,10 @@
         nodelist = []
         return tuple(nodelist)
 
-    attr_names = ('name',)
+    attr_names = ('name', )
 
 class ID(Node):
+    __slots__ = ('name', 'coord', '__weakref__')
     def __init__(self, name, coord=None):
         self.name = name
         self.coord = coord
@@ -496,9 +526,10 @@
         nodelist = []
         return tuple(nodelist)
 
-    attr_names = ('name',)
+    attr_names = ('name', )
 
 class IdentifierType(Node):
+    __slots__ = ('names', 'coord', '__weakref__')
     def __init__(self, names, coord=None):
         self.names = names
         self.coord = coord
@@ -507,9 +538,10 @@
         nodelist = []
         return tuple(nodelist)
 
-    attr_names = ('names',)
+    attr_names = ('names', )
 
 class If(Node):
+    __slots__ = ('cond', 'iftrue', 'iffalse', 'coord', '__weakref__')
     def __init__(self, cond, iftrue, iffalse, coord=None):
         self.cond = cond
         self.iftrue = iftrue
@@ -526,6 +558,7 @@
     attr_names = ()
 
 class InitList(Node):
+    __slots__ = ('exprs', 'coord', '__weakref__')
     def __init__(self, exprs, coord=None):
         self.exprs = exprs
         self.coord = coord
@@ -539,6 +572,7 @@
     attr_names = ()
 
 class Label(Node):
+    __slots__ = ('name', 'stmt', 'coord', '__weakref__')
     def __init__(self, name, stmt, coord=None):
         self.name = name
         self.stmt = stmt
@@ -549,9 +583,10 @@
         if self.stmt is not None: nodelist.append(("stmt", self.stmt))
         return tuple(nodelist)
 
-    attr_names = ('name',)
+    attr_names = ('name', )
 
 class NamedInitializer(Node):
+    __slots__ = ('name', 'expr', 'coord', '__weakref__')
     def __init__(self, name, expr, coord=None):
         self.name = name
         self.expr = expr
@@ -567,6 +602,7 @@
     attr_names = ()
 
 class ParamList(Node):
+    __slots__ = ('params', 'coord', '__weakref__')
     def __init__(self, params, coord=None):
         self.params = params
         self.coord = coord
@@ -580,6 +616,7 @@
     attr_names = ()
 
 class PtrDecl(Node):
+    __slots__ = ('quals', 'type', 'coord', '__weakref__')
     def __init__(self, quals, type, coord=None):
         self.quals = quals
         self.type = type
@@ -590,9 +627,10 @@
         if self.type is not None: nodelist.append(("type", self.type))
         return tuple(nodelist)
 
-    attr_names = ('quals',)
+    attr_names = ('quals', )
 
 class Return(Node):
+    __slots__ = ('expr', 'coord', '__weakref__')
     def __init__(self, expr, coord=None):
         self.expr = expr
         self.coord = coord
@@ -605,6 +643,7 @@
     attr_names = ()
 
 class Struct(Node):
+    __slots__ = ('name', 'decls', 'coord', '__weakref__')
     def __init__(self, name, decls, coord=None):
         self.name = name
         self.decls = decls
@@ -616,9 +655,10 @@
             nodelist.append(("decls[%d]" % i, child))
         return tuple(nodelist)
 
-    attr_names = ('name',)
+    attr_names = ('name', )
 
 class StructRef(Node):
+    __slots__ = ('name', 'type', 'field', 'coord', '__weakref__')
     def __init__(self, name, type, field, coord=None):
         self.name = name
         self.type = type
@@ -631,9 +671,10 @@
         if self.field is not None: nodelist.append(("field", self.field))
         return tuple(nodelist)
 
-    attr_names = ('type',)
+    attr_names = ('type', )
 
 class Switch(Node):
+    __slots__ = ('cond', 'stmt', 'coord', '__weakref__')
     def __init__(self, cond, stmt, coord=None):
         self.cond = cond
         self.stmt = stmt
@@ -648,6 +689,7 @@
     attr_names = ()
 
 class TernaryOp(Node):
+    __slots__ = ('cond', 'iftrue', 'iffalse', 'coord', '__weakref__')
     def __init__(self, cond, iftrue, iffalse, coord=None):
         self.cond = cond
         self.iftrue = iftrue
@@ -664,6 +706,7 @@
     attr_names = ()
 
 class TypeDecl(Node):
+    __slots__ = ('declname', 'quals', 'type', 'coord', '__weakref__')
     def __init__(self, declname, quals, type, coord=None):
         self.declname = declname
         self.quals = quals
@@ -675,9 +718,10 @@
         if self.type is not None: nodelist.append(("type", self.type))
         return tuple(nodelist)
 
-    attr_names = ('declname','quals',)
+    attr_names = ('declname', 'quals', )
 
 class Typedef(Node):
+    __slots__ = ('name', 'quals', 'storage', 'type', 'coord', '__weakref__')
     def __init__(self, name, quals, storage, type, coord=None):
         self.name = name
         self.quals = quals
@@ -690,10 +734,12 @@
         if self.type is not None: nodelist.append(("type", self.type))
         return tuple(nodelist)
 
-    attr_names = ('name','quals','storage',)
+    attr_names = ('name', 'quals', 'storage', )
 
 class Typename(Node):
-    def __init__(self, quals, type, coord=None):
+    __slots__ = ('name', 'quals', 'type', 'coord', '__weakref__')
+    def __init__(self, name, quals, type, coord=None):
+        self.name = name
         self.quals = quals
         self.type = type
         self.coord = coord
@@ -703,9 +749,10 @@
         if self.type is not None: nodelist.append(("type", self.type))
         return tuple(nodelist)
 
-    attr_names = ('quals',)
+    attr_names = ('name', 'quals', )
 
 class UnaryOp(Node):
+    __slots__ = ('op', 'expr', 'coord', '__weakref__')
     def __init__(self, op, expr, coord=None):
         self.op = op
         self.expr = expr
@@ -716,9 +763,10 @@
         if self.expr is not None: nodelist.append(("expr", self.expr))
         return tuple(nodelist)
 
-    attr_names = ('op',)
+    attr_names = ('op', )
 
 class Union(Node):
+    __slots__ = ('name', 'decls', 'coord', '__weakref__')
     def __init__(self, name, decls, coord=None):
         self.name = name
         self.decls = decls
@@ -730,9 +778,10 @@
             nodelist.append(("decls[%d]" % i, child))
         return tuple(nodelist)
 
-    attr_names = ('name',)
+    attr_names = ('name', )
 
 class While(Node):
+    __slots__ = ('cond', 'stmt', 'coord', '__weakref__')
     def __init__(self, cond, stmt, coord=None):
         self.cond = cond
         self.stmt = stmt
diff --git a/lib_pypy/cffi/_pycparser/c_generator.py b/lib_pypy/cffi/_pycparser/c_generator.py
--- a/lib_pypy/cffi/_pycparser/c_generator.py
+++ b/lib_pypy/cffi/_pycparser/c_generator.py
@@ -3,7 +3,7 @@
 #
 # C code generator from pycparser AST nodes.
 #
-# Copyright (C) 2008-2012, Eli Bendersky
+# Copyright (C) 2008-2015, Eli Bendersky
 # License: BSD
 #------------------------------------------------------------------------------
 from . import c_ast
@@ -15,8 +15,6 @@
         generic_visit.
     """
     def __init__(self):
-        self.output = ''
-
         # Statements start with indentation of self.indent_level spaces, using
         # the _make_indent method
         #
@@ -34,7 +32,7 @@
         if node is None:
             return ''
         else:
-            return ''.join(self.visit(c) for c in node.children())
+            return ''.join(self.visit(c) for c_name, c in node.children())
 
     def visit_Constant(self, n):
         return n.value
@@ -83,19 +81,22 @@
     def visit_IdentifierType(self, n):
         return ' '.join(n.names)
 
+    def _visit_expr(self, n):
+        if isinstance(n, c_ast.InitList):
+            return '{' + self.visit(n) + '}'
+        elif isinstance(n, c_ast.ExprList):
+            return '(' + self.visit(n) + ')'
+        else:
+            return self.visit(n)
+
     def visit_Decl(self, n, no_type=False):
         # no_type is used when a Decl is part of a DeclList, where the type is
-        # explicitly only for the first delaration in a list.
+        # explicitly only for the first declaration in a list.
         #
         s = n.name if no_type else self._generate_decl(n)
         if n.bitsize: s += ' : ' + self.visit(n.bitsize)
         if n.init:
-            if isinstance(n.init, c_ast.InitList):
-                s += ' = {' + self.visit(n.init) + '}'
-            elif isinstance(n.init, c_ast.ExprList):
-                s += ' = (' + self.visit(n.init) + ')'
-            else:
-                s += ' = ' + self.visit(n.init)
+            s += ' = ' + self._visit_expr(n.init)
         return s
 
     def visit_DeclList(self, n):
@@ -118,21 +119,13 @@
     def visit_ExprList(self, n):
         visited_subexprs = []
         for expr in n.exprs:
-            if isinstance(expr, c_ast.ExprList):
-                visited_subexprs.append('{' + self.visit(expr) + '}')
-            else:
-                visited_subexprs.append(self.visit(expr))
+            visited_subexprs.append(self._visit_expr(expr))
         return ', '.join(visited_subexprs)
 
     def visit_InitList(self, n):
         visited_subexprs = []
         for expr in n.exprs:
-            if isinstance(expr, c_ast.ExprList):
-                visited_subexprs.append('(' + self.visit(expr) + ')')
-            elif isinstance(expr, c_ast.InitList):
-                visited_subexprs.append('{' + self.visit(expr) + '}')
-            else:
-                visited_subexprs.append(self.visit(expr))
+            visited_subexprs.append(self._visit_expr(expr))
         return ', '.join(visited_subexprs)
 
     def visit_Enum(self, n):
@@ -195,9 +188,9 @@
         return 'continue;'
 
     def visit_TernaryOp(self, n):
-        s = self.visit(n.cond) + ' ? '
-        s += self.visit(n.iftrue) + ' : '
-        s += self.visit(n.iffalse)
+        s = self._visit_expr(n.cond) + ' ? '
+        s += self._visit_expr(n.iftrue) + ' : '
+        s += self._visit_expr(n.iffalse)
         return s
 
     def visit_If(self, n):
@@ -281,6 +274,9 @@
         s += ' = ' + self.visit(n.expr)
         return s
 
+    def visit_FuncDecl(self, n):
+        return self._generate_type(n)
+
     def _generate_struct_union(self, n, name):
         """ Generates code for structs and unions. name should be either
             'struct' or union.
@@ -384,7 +380,7 @@
         """ Visits 'n' and returns its string representation, parenthesized
             if the condition function applied to the node returns True.
         """
-        s = self.visit(n)
+        s = self._visit_expr(n)
         if condition(n):
             return '(' + s + ')'
         else:
@@ -401,5 +397,3 @@
         """
         return isinstance(n,(   c_ast.Constant, c_ast.ID, c_ast.ArrayRef,
                                 c_ast.StructRef, c_ast.FuncCall))
-
-
diff --git a/lib_pypy/cffi/_pycparser/c_lexer.py b/lib_pypy/cffi/_pycparser/c_lexer.py
--- a/lib_pypy/cffi/_pycparser/c_lexer.py
+++ b/lib_pypy/cffi/_pycparser/c_lexer.py
@@ -3,7 +3,7 @@
 #
 # CLexer class: lexer for the C language
 #
-# Copyright (C) 2008-2013, Eli Bendersky
+# Copyright (C) 2008-2015, Eli Bendersky
 # License: BSD
 #------------------------------------------------------------------------------
 import re
@@ -102,7 +102,8 @@
     keywords = (
         '_BOOL', '_COMPLEX', 'AUTO', 'BREAK', 'CASE', 'CHAR', 'CONST',
         'CONTINUE', 'DEFAULT', 'DO', 'DOUBLE', 'ELSE', 'ENUM', 'EXTERN',
-        'FLOAT', 'FOR', 'GOTO', 'IF', 'INLINE', 'INT', 'LONG', 'REGISTER',
+        'FLOAT', 'FOR', 'GOTO', 'IF', 'INLINE', 'INT', 'LONG', 
+        'REGISTER', 'OFFSETOF',
         'RESTRICT', 'RETURN', 'SHORT', 'SIGNED', 'SIZEOF', 'STATIC', 'STRUCT',
         'SWITCH', 'TYPEDEF', 'UNION', 'UNSIGNED', 'VOID',
         'VOLATILE', 'WHILE',
@@ -129,7 +130,7 @@
         'TYPEID',
 
         # constants
-        'INT_CONST_DEC', 'INT_CONST_OCT', 'INT_CONST_HEX',
+        'INT_CONST_DEC', 'INT_CONST_OCT', 'INT_CONST_HEX', 'INT_CONST_BIN',
         'FLOAT_CONST', 'HEX_FLOAT_CONST',
         'CHAR_CONST',
         'WCHAR_CONST',
@@ -183,12 +184,15 @@
 
     hex_prefix = '0[xX]'
     hex_digits = '[0-9a-fA-F]+'
+    bin_prefix = '0[bB]'
+    bin_digits = '[01]+'
 
     # integer constants (K&R2: A.2.5.1)
     integer_suffix_opt = r'(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?'
     decimal_constant = '(0'+integer_suffix_opt+')|([1-9][0-9]*'+integer_suffix_opt+')'
     octal_constant = '0[0-7]*'+integer_suffix_opt
     hex_constant = hex_prefix+hex_digits+integer_suffix_opt
+    bin_constant = bin_prefix+bin_digits+integer_suffix_opt
 
     bad_octal_constant = '0[0-7]*[89]'
 
@@ -302,7 +306,7 @@
         r'pragma'
         pass
 
-    t_pppragma_ignore = ' \t<>.-{}();+-*/$%@&^~!?:,0123456789'
+    t_pppragma_ignore = ' \t<>.-{}();=+-*/$%@&^~!?:,0123456789'
 
     @TOKEN(string_literal)
     def t_pppragma_STR(self, t): pass
@@ -419,6 +423,10 @@
     def t_INT_CONST_HEX(self, t):
         return t
 
+    @TOKEN(bin_constant)
+    def t_INT_CONST_BIN(self, t):
+        return t
+
     @TOKEN(bad_octal_constant)
     def t_BAD_CONST_OCT(self, t):
         msg = "Invalid octal constant"
diff --git a/lib_pypy/cffi/_pycparser/c_parser.py b/lib_pypy/cffi/_pycparser/c_parser.py
--- a/lib_pypy/cffi/_pycparser/c_parser.py
+++ b/lib_pypy/cffi/_pycparser/c_parser.py
@@ -3,7 +3,7 @@
 #
 # CParser class: Parser and AST builder for the C language
 #
-# Copyright (C) 2008-2013, Eli Bendersky
+# Copyright (C) 2008-2015, Eli Bendersky
 # License: BSD
 #------------------------------------------------------------------------------
 import re
@@ -23,7 +23,8 @@
             lextab='cffi._pycparser.lextab',
             yacc_optimize=True,
             yacctab='cffi._pycparser.yacctab',
-            yacc_debug=False):
+            yacc_debug=False,
+            taboutputdir=''):
         """ Create a new CParser.
 
             Some arguments for controlling the debug/optimization
@@ -64,6 +65,10 @@
             yacc_debug:
                 Generate a parser.out file that explains how yacc
                 built the parsing table from the grammar.
+
+            taboutputdir:
+                Set this parameter to control the location of generated
+                lextab and yacctab files.
         """
         self.clex = CLexer(
             error_func=self._lex_error_func,
@@ -73,7 +78,8 @@
 
         self.clex.build(
             optimize=lex_optimize,
-            lextab=lextab)
+            lextab=lextab,
+            outputdir=taboutputdir)
         self.tokens = self.clex.tokens
 
         rules_with_opt = [
@@ -85,6 +91,7 @@
             'expression',
             'identifier_list',
             'init_declarator_list',
+            'initializer_list',
             'parameter_type_list',
             'specifier_qualifier_list',
             'block_item_list',
@@ -100,7 +107,8 @@
             start='translation_unit_or_empty',
             debug=yacc_debug,
             optimize=yacc_optimize,
-            tabmodule=yacctab)
+            tabmodule=yacctab,
+            outputdir=taboutputdir)
 
         # Stack of scopes for keeping track of symbols. _scope_stack[-1] is
         # the current (topmost) scope. Each scope is a dictionary that
@@ -211,13 +219,11 @@
     # The basic declaration here is 'int c', and the pointer and
     # the array are the modifiers.
     #
-    # Basic declarations are represented by TypeDecl (from module
-    # c_ast) and the modifiers are FuncDecl, PtrDecl and
-    # ArrayDecl.
+    # Basic declarations are represented by TypeDecl (from module c_ast) and the
+    # modifiers are FuncDecl, PtrDecl and ArrayDecl.
     #
-    # The standard states that whenever a new modifier is parsed,
-    # it should be added to the end of the list of modifiers. For
-    # example:
+    # The standard states that whenever a new modifier is parsed, it should be
+    # added to the end of the list of modifiers. For example:
     #
     # K&R2 A.8.6.2: Array Declarators
     #
@@ -236,7 +242,6 @@
     # useful for pointers, that can come as a chain from the rule
     # p_pointer. In this case, the whole modifier list is spliced
     # into the new location.
-    #
     def _type_modify_decl(self, decl, modifier):
         """ Tacks a type modifier on a declarator, and returns
             the modified declarator.
@@ -983,28 +988,52 @@
         p[0] = p[2]
 
     def p_direct_declarator_3(self, p):
-        """ direct_declarator   : direct_declarator LBRACKET assignment_expression_opt RBRACKET
+        """ direct_declarator   : direct_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET
         """
+        quals = (p[3] if len(p) > 5 else []) or []
+        # Accept dimension qualifiers
+        # Per C99 6.7.5.3 p7
         arr = c_ast.ArrayDecl(
             type=None,
-            dim=p[3],
+            dim=p[4] if len(p) > 5 else p[3],
+            dim_quals=quals,
+            coord=p[1].coord)
+
+        p[0] = self._type_modify_decl(decl=p[1], modifier=arr)
+
+    def p_direct_declarator_4(self, p):
+        """ direct_declarator   : direct_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET
+                                | direct_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET
+        """
+        # Using slice notation for PLY objects doesn't work in Python 3 for the
+        # version of PLY embedded with pycparser; see PLY Google Code issue 30.
+        # Work around that here by listing the two elements separately.
+        listed_quals = [item if isinstance(item, list) else [item]
+            for item in [p[3],p[4]]]
+        dim_quals = [qual for sublist in listed_quals for qual in sublist
+            if qual is not None]
+        arr = c_ast.ArrayDecl(
+            type=None,
+            dim=p[5],
+            dim_quals=dim_quals,
             coord=p[1].coord)
 
         p[0] = self._type_modify_decl(decl=p[1], modifier=arr)
 
     # Special for VLAs
     #
-    def p_direct_declarator_4(self, p):
-        """ direct_declarator   : direct_declarator LBRACKET TIMES RBRACKET
+    def p_direct_declarator_5(self, p):
+        """ direct_declarator   : direct_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET
         """
         arr = c_ast.ArrayDecl(
             type=None,
-            dim=c_ast.ID(p[3], self._coord(p.lineno(3))),
+            dim=c_ast.ID(p[4], self._coord(p.lineno(4))),
+            dim_quals=p[3] if p[3] != None else [],
             coord=p[1].coord)
 
         p[0] = self._type_modify_decl(decl=p[1], modifier=arr)
 
-    def p_direct_declarator_5(self, p):
+    def p_direct_declarator_6(self, p):
         """ direct_declarator   : direct_declarator LPAREN parameter_type_list RPAREN
                                 | direct_declarator LPAREN identifier_list_opt RPAREN
         """
@@ -1037,11 +1066,30 @@
                     | TIMES type_qualifier_list_opt pointer
         """
         coord = self._coord(p.lineno(1))
-
-        p[0] = c_ast.PtrDecl(
-            quals=p[2] or [],
-            type=p[3] if len(p) > 3 else None,
-            coord=coord)
+        # Pointer decls nest from inside out. This is important when different
+        # levels have different qualifiers. For example:
+        #
+        #  char * const * p;
+        #
+        # Means "pointer to const pointer to char"
+        #
+        # While: 
+        #
+        #  char ** const p;
+        #
+        # Means "const pointer to pointer to char"
+        #
+        # So when we construct PtrDecl nestings, the leftmost pointer goes in
+        # as the most nested type.
+        nested_type = c_ast.PtrDecl(quals=p[2] or [], type=None, coord=coord)
+        if len(p) > 3:
+            tail_type = p[3]
+            while tail_type.type is not None:
+                tail_type = tail_type.type
+            tail_type.type = nested_type
+            p[0] = p[3]
+        else:
+            p[0] = nested_type
 
     def p_type_qualifier_list(self, p):
         """ type_qualifier_list : type_qualifier
@@ -1101,6 +1149,7 @@
         #
         else:
             decl = c_ast.Typename(
+                name='',
                 quals=spec['qual'],
                 type=p[2] or c_ast.TypeDecl(None, None, None),
                 coord=self._coord(p.lineno(2)))
@@ -1125,10 +1174,13 @@
         p[0] = p[1]
 
     def p_initializer_2(self, p):
-        """ initializer : brace_open initializer_list brace_close
+        """ initializer : brace_open initializer_list_opt brace_close
                         | brace_open initializer_list COMMA brace_close
         """
-        p[0] = p[2]
+        if p[2] is None:
+            p[0] = c_ast.InitList([], self._coord(p.lineno(1)))
+        else:
+            p[0] = p[2]
 
     def p_initializer_list(self, p):
         """ initializer_list    : designation_opt initializer
@@ -1172,6 +1224,7 @@
         #~ print '=========='
 
         typename = c_ast.Typename(
+            name='',
             quals=p[1]['qual'],
             type=p[2] or c_ast.TypeDecl(None, None, None),
             coord=self._coord(p.lineno(2)))
@@ -1211,6 +1264,7 @@
         arr = c_ast.ArrayDecl(
             type=None,
             dim=p[3],
+            dim_quals=[],
             coord=p[1].coord)
 
         p[0] = self._type_modify_decl(decl=p[1], modifier=arr)
@@ -1221,6 +1275,7 @@
         p[0] = c_ast.ArrayDecl(
             type=c_ast.TypeDecl(None, None, None),
             dim=p[2],
+            dim_quals=[],
             coord=self._coord(p.lineno(1)))
 
     def p_direct_abstract_declarator_4(self, p):
@@ -1229,6 +1284,7 @@
         arr = c_ast.ArrayDecl(
             type=None,
             dim=c_ast.ID(p[3], self._coord(p.lineno(3))),
+            dim_quals=[],
             coord=p[1].coord)
 
         p[0] = self._type_modify_decl(decl=p[1], modifier=arr)
@@ -1239,6 +1295,7 @@
         p[0] = c_ast.ArrayDecl(
             type=c_ast.TypeDecl(None, None, None),
             dim=c_ast.ID(p[3], self._coord(p.lineno(3))),
+            dim_quals=[],
             coord=self._coord(p.lineno(1)))
 
     def p_direct_abstract_declarator_6(self, p):
@@ -1322,7 +1379,8 @@
 
     def p_iteration_statement_4(self, p):
         """ iteration_statement : FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN statement """
-        p[0] = c_ast.For(c_ast.DeclList(p[3]), p[4], p[6], p[8], self._coord(p.lineno(1)))
+        p[0] = c_ast.For(c_ast.DeclList(p[3], self._coord(p.lineno(1))),
+                         p[4], p[6], p[8], self._coord(p.lineno(1)))
 
     def p_jump_statement_1(self, p):
         """ jump_statement  : GOTO ID SEMI """
@@ -1525,6 +1583,14 @@
         """ primary_expression  : LPAREN expression RPAREN """
         p[0] = p[2]
 
+    def p_primary_expression_5(self, p):
+        """ primary_expression  : OFFSETOF LPAREN type_name COMMA identifier RPAREN
+        """
+        coord = self._coord(p.lineno(1))
+        p[0] = c_ast.FuncCall(c_ast.ID(p[1], coord),
+                              c_ast.ExprList([p[3], p[5]], coord),
+                              coord)
+
     def p_argument_expression_list(self, p):
         """ argument_expression_list    : assignment_expression
                                         | argument_expression_list COMMA assignment_expression
@@ -1543,6 +1609,7 @@
         """ constant    : INT_CONST_DEC
                         | INT_CONST_OCT
                         | INT_CONST_HEX
+                        | INT_CONST_BIN
         """
         p[0] = c_ast.Constant(
             'int', p[1], self._coord(p.lineno(1)))
@@ -1585,7 +1652,7 @@
             p[0] = c_ast.Constant(
                 'string', p[1], self._coord(p.lineno(1)))
         else:
-            p[1].value = p[1].value.rstrip[:-1] + p[2][1:]
+            p[1].value = p[1].value.rstrip()[:-1] + p[2][2:]
             p[0] = p[1]
 
     def p_brace_open(self, p):
diff --git a/lib_pypy/cffi/_pycparser/lextab.py b/lib_pypy/cffi/_pycparser/lextab.py
--- a/lib_pypy/cffi/_pycparser/lextab.py
+++ b/lib_pypy/cffi/_pycparser/lextab.py
@@ -1,9 +1,9 @@
 # pycparser.lextab.py. This file automatically created by PLY (version 3.4). Don't edit!
 _tabversion   = '3.4'
-_lextokens    = {'VOID': 1, 'LBRACKET': 1, 'WCHAR_CONST': 1, 'FLOAT_CONST': 1, 'MINUS': 1, 'RPAREN': 1, 'LONG': 1, 'PLUS': 1, 'ELLIPSIS': 1, 'GT': 1, 'GOTO': 1, 'ENUM': 1, 'PERIOD': 1, 'GE': 1, 'INT_CONST_DEC': 1, 'ARROW': 1, 'HEX_FLOAT_CONST': 1, 'DOUBLE': 1, 'MINUSEQUAL': 1, 'INT_CONST_OCT': 1, 'TIMESEQUAL': 1, 'OR': 1, 'SHORT': 1, 'RETURN': 1, 'RSHIFTEQUAL': 1, 'RESTRICT': 1, 'STATIC': 1, 'SIZEOF': 1, 'UNSIGNED': 1, 'UNION': 1, 'COLON': 1, 'WSTRING_LITERAL': 1, 'DIVIDE': 1, 'FOR': 1, 'PLUSPLUS': 1, 'EQUALS': 1, 'ELSE': 1, 'INLINE': 1, 'EQ': 1, 'AND': 1, 'TYPEID': 1, 'LBRACE': 1, 'PPHASH': 1, 'INT': 1, 'SIGNED': 1, 'CONTINUE': 1, 'NOT': 1, 'OREQUAL': 1, 'MOD': 1, 'RSHIFT': 1, 'DEFAULT': 1, 'CHAR': 1, 'WHILE': 1, 'DIVEQUAL': 1, 'EXTERN': 1, 'CASE': 1, 'LAND': 1, 'REGISTER': 1, 'MODEQUAL': 1, 'NE': 1, 'SWITCH': 1, 'INT_CONST_HEX': 1, '_COMPLEX': 1, 'PLUSEQUAL': 1, 'STRUCT': 1, 'CONDOP': 1, 'BREAK': 1, 'VOLATILE': 1, 'ANDEQUAL': 1, 'DO': 1, 'LNOT': 1, 'CONST': 1, 'LOR': 1, 'CHAR_CONST': 1, 'LSHIFT': 1, 'RBRACE': 1, '_BOOL': 1, 'LE': 1, 'SEMI': 1, 'LT': 1, 'COMMA': 1, 'TYPEDEF': 1, 'XOR': 1, 'AUTO': 1, 'TIMES': 1, 'LPAREN': 1, 'MINUSMINUS': 1, 'ID': 1, 'IF': 1, 'STRING_LITERAL': 1, 'FLOAT': 1, 'XOREQUAL': 1, 'LSHIFTEQUAL': 1, 'RBRACKET': 1}
+_lextokens    = {'VOID': 1, 'LBRACKET': 1, 'WCHAR_CONST': 1, 'FLOAT_CONST': 1, 'MINUS': 1, 'RPAREN': 1, 'LONG': 1, 'PLUS': 1, 'ELLIPSIS': 1, 'GT': 1, 'GOTO': 1, 'ENUM': 1, 'PERIOD': 1, 'GE': 1, 'INT_CONST_DEC': 1, 'ARROW': 1, 'HEX_FLOAT_CONST': 1, 'DOUBLE': 1, 'MINUSEQUAL': 1, 'INT_CONST_OCT': 1, 'TIMESEQUAL': 1, 'OR': 1, 'SHORT': 1, 'RETURN': 1, 'RSHIFTEQUAL': 1, 'RESTRICT': 1, 'STATIC': 1, 'SIZEOF': 1, 'UNSIGNED': 1, 'UNION': 1, 'COLON': 1, 'WSTRING_LITERAL': 1, 'DIVIDE': 1, 'FOR': 1, 'PLUSPLUS': 1, 'EQUALS': 1, 'ELSE': 1, 'INLINE': 1, 'EQ': 1, 'AND': 1, 'TYPEID': 1, 'LBRACE': 1, 'PPHASH': 1, 'INT': 1, 'SIGNED': 1, 'CONTINUE': 1, 'NOT': 1, 'OREQUAL': 1, 'MOD': 1, 'RSHIFT': 1, 'DEFAULT': 1, 'CHAR': 1, 'WHILE': 1, 'DIVEQUAL': 1, 'EXTERN': 1, 'CASE': 1, 'LAND': 1, 'REGISTER': 1, 'MODEQUAL': 1, 'NE': 1, 'SWITCH': 1, 'INT_CONST_HEX': 1, '_COMPLEX': 1, 'PLUSEQUAL': 1, 'STRUCT': 1, 'CONDOP': 1, 'BREAK': 1, 'VOLATILE': 1, 'ANDEQUAL': 1, 'INT_CONST_BIN': 1, 'DO': 1, 'LNOT': 1, 'CONST': 1, 'LOR': 1, 'CHAR_CONST': 1, 'LSHIFT': 1, 'RBRACE': 1, '_BOOL': 1, 'LE': 1, 'SEMI': 1, 'LT': 1, 'COMMA': 1, 'OFFSETOF': 1, 'TYPEDEF': 1, 'XOR': 1, 'AUTO': 1, 'TIMES': 1, 'LPAREN': 1, 'MINUSMINUS': 1, 'ID': 1, 'IF': 1, 'STRING_LITERAL': 1, 'FLOAT': 1, 'XOREQUAL': 1, 'LSHIFTEQUAL': 1, 'RBRACKET': 1}
 _lexreflags   = 0
 _lexliterals  = ''
 _lexstateinfo = {'ppline': 'exclusive', 'pppragma': 'exclusive', 'INITIAL': 'inclusive'}
-_lexstatere   = {'ppline': [('(?P<t_ppline_FILENAME>"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P<t_ppline_LINE_NUMBER>(0(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|([1-9][0-9]*(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?))|(?P<t_ppline_NEWLINE>\\n)|(?P<t_ppline_PPLINE>line)', [None, ('t_ppline_FILENAME', 'FILENAME'), None, None, None, None, None, None, ('t_ppline_LINE_NUMBER', 'LINE_NUMBER'), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_ppline_NEWLINE', 'NEWLINE'), ('t_ppline_PPLINE', 'PPLINE')])], 'pppragma': [('(?P<t_pppragma_NEWLINE>\\n)|(?P<t_pppragma_PPPRAGMA>pragma)|(?P<t_pppragma_STR>"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P<t_pppragma_ID>[a-zA-Z_$][0-9a-zA-Z_$]*)', [None, ('t_pppragma_NEWLINE', 'NEWLINE'), ('t_pppragma_PPPRAGMA', 'PPPRAGMA'), ('t_pppragma_STR', 'STR'), None, None, None, None, None, None, ('t_pppragma_ID', 'ID')])], 'INITIAL': [('(?P<t_PPHASH>[ \\t]*\\#)|(?P<t_NEWLINE>\\n+)|(?P<t_LBRACE>\\{)|(?P<t_RBRACE>\\})|(?P<t_FLOAT_CONST>((((([0-9]*\\.[0-9]+)|([0-9]+\\.))([eE][-+]?[0-9]+)?)|([0-9]+([eE][-+]?[0-9]+)))[FfLl]?))|(?P<t_HEX_FLOAT_CONST>(0[xX]([0-9a-fA-F]+|((([0-9a-fA-F]+)?\\.[0-9a-fA-F]+)|([0-9a-fA-F]+\\.)))([pP][+-]?[0-9]+)[FfLl]?))|(?P<t_INT_CONST_HEX>0[xX][0-9a-fA-F]+(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)', [None, ('t_PPHASH', 'PPHASH'), ('t_NEWLINE', 'NEWLINE'), ('t_LBRACE', 'LBRACE'), ('t_RBRACE', 'RBRACE'), ('t_FLOAT_CONST', 'FLOAT_CONST'), None, None, None, None, None, None, None, None, None, ('t_HEX_FLOAT_CONST', 'HEX_FLOAT_CONST'), None, None, None, None, None, None, None, ('t_INT_CONST_HEX', 'INT_CONST_HEX')]), ('(?P<t_BAD_CONST_OCT>0[0-7]*[89])|(?P<t_INT_CONST_OCT>0[0-7]*(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|(?P<t_INT_CONST_DEC>(0(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|([1-9][0-9]*(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?))|(?P<t_CHAR_CONST>\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))\')|(?P<t_WCHAR_CONST>L\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))\')|(?P<t_UNMATCHED_QUOTE>(\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*\\n)|(\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*$))|(?P<t_BAD_CHAR_CONST>(\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))[^\'\n]+\')|(\'\')|(\'([\\\\][^a-zA-Z._~^!=&\\^\\-\\\\?\'"x0-7])[^\'\\n]*\'))|(?P<t_WSTRING_LITERAL>L"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")', [None, ('t_BAD_CONST_OCT', 'BAD_CONST_OCT'), ('t_INT_CONST_OCT', 'INT_CONST_OCT'), None, None, None, None, None, None, None, ('t_INT_CONST_DEC', 'INT_CONST_DEC'), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_CHAR_CONST', 'CHAR_CONST'), None, None, None, None, None, None, ('t_WCHAR_CONST', 'WCHAR_CONST'), None, None, None, None, None, None, ('t_UNMATCHED_QUOTE', 'UNMATCHED_QUOTE'), None, None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_BAD_CHAR_CONST', 'BAD_CHAR_CONST'), None, None, None, None, None, None, None, None, None, None, ('t_WSTRING_LITERAL', 'WSTRING_LITERAL')]), ('(?P<t_BAD_STRING_LITERAL>"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*([\\\\][^a-zA-Z._~^!=&\\^\\-\\\\?\'"x0-7])([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P<t_ID>[a-zA-Z_$][0-9a-zA-Z_$]*)|(?P<t_STRING_LITERAL>"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P<t_ELLIPSIS>\\.\\.\\.)|(?P<t_PLUSPLUS>\\+\\+)|(?P<t_LOR>\\|\\|)|(?P<t_XOREQUAL>\\^=)|(?P<t_OREQUAL>\\|=)|(?P<t_LSHIFTEQUAL><<=)|(?P<t_RSHIFTEQUAL>>>=)|(?P<t_PLUSEQUAL>\\+=)|(?P<t_TIMESEQUAL>\\*=)|(?P<t_PLUS>\\+)|(?P<t_MODEQUAL>%=)|(?P<t_DIVEQUAL>/=)|(?P<t_RBRACKET>\\])', [None, ('t_BAD_STRING_LITERAL', 'BAD_STRING_LITERAL'), None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_ID', 'ID'), (None, 'STRING_LITERAL'), None, None, None, None, None, None, (None, 'ELLIPSIS'), (None, 'PLUSPLUS'), (None, 'LOR'), (None, 'XOREQUAL'), (None, 'OREQUAL'), (None, 'LSHIFTEQUAL'), (None, 'RSHIFTEQUAL'), (None, 'PLUSEQUAL'), (None, 'TIMESEQUAL'), (None, 'PLUS'), (None, 'MODEQUAL'), (None, 'DIVEQUAL'), (None, 'RBRACKET')]), ('(?P<t_CONDOP>\\?)|(?P<t_XOR>\\^)|(?P<t_LSHIFT><<)|(?P<t_LE><=)|(?P<t_LPAREN>\\()|(?P<t_ARROW>->)|(?P<t_EQ>==)|(?P<t_NE>!=)|(?P<t_MINUSMINUS>--)|(?P<t_OR>\\|)|(?P<t_TIMES>\\*)|(?P<t_LBRACKET>\\[)|(?P<t_GE>>=)|(?P<t_RPAREN>\\))|(?P<t_LAND>&&)|(?P<t_RSHIFT>>>)|(?P<t_ANDEQUAL>&=)|(?P<t_MINUSEQUAL>-=)|(?P<t_PERIOD>\\.)|(?P<t_EQUALS>=)|(?P<t_LT><)|(?P<t_COMMA>,)|(?P<t_DIVIDE>/)|(?P<t_AND>&)|(?P<t_MOD>%)|(?P<t_SEMI>;)|(?P<t_MINUS>-)|(?P<t_GT>>)|(?P<t_COLON>:)|(?P<t_NOT>~)|(?P<t_LNOT>!)', [None, (None, 'CONDOP'), (None, 'XOR'), (None, 'LSHIFT'), (None, 'LE'), (None, 'LPAREN'), (None, 'ARROW'), (None, 'EQ'), (None, 'NE'), (None, 'MINUSMINUS'), (None, 'OR'), (None, 'TIMES'), (None, 'LBRACKET'), (None, 'GE'), (None, 'RPAREN'), (None, 'LAND'), (None, 'RSHIFT'), (None, 'ANDEQUAL'), (None, 'MINUSEQUAL'), (None, 'PERIOD'), (None, 'EQUALS'), (None, 'LT'), (None, 'COMMA'), (None, 'DIVIDE'), (None, 'AND'), (None, 'MOD'), (None, 'SEMI'), (None, 'MINUS'), (None, 'GT'), (None, 'COLON'), (None, 'NOT'), (None, 'LNOT')])]}
-_lexstateignore = {'ppline': ' \t', 'pppragma': ' \t<>.-{}();+-*/$%@&^~!?:,0123456789', 'INITIAL': ' \t'}
+_lexstatere   = {'ppline': [('(?P<t_ppline_FILENAME>"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P<t_ppline_LINE_NUMBER>(0(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|([1-9][0-9]*(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?))|(?P<t_ppline_NEWLINE>\\n)|(?P<t_ppline_PPLINE>line)', [None, ('t_ppline_FILENAME', 'FILENAME'), None, None, None, None, None, None, ('t_ppline_LINE_NUMBER', 'LINE_NUMBER'), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_ppline_NEWLINE', 'NEWLINE'), ('t_ppline_PPLINE', 'PPLINE')])], 'pppragma': [('(?P<t_pppragma_NEWLINE>\\n)|(?P<t_pppragma_PPPRAGMA>pragma)|(?P<t_pppragma_STR>"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P<t_pppragma_ID>[a-zA-Z_$][0-9a-zA-Z_$]*)', [None, ('t_pppragma_NEWLINE', 'NEWLINE'), ('t_pppragma_PPPRAGMA', 'PPPRAGMA'), ('t_pppragma_STR', 'STR'), None, None, None, None, None, None, ('t_pppragma_ID', 'ID')])], 'INITIAL': [('(?P<t_PPHASH>[ \\t]*\\#)|(?P<t_NEWLINE>\\n+)|(?P<t_LBRACE>\\{)|(?P<t_RBRACE>\\})|(?P<t_FLOAT_CONST>((((([0-9]*\\.[0-9]+)|([0-9]+\\.))([eE][-+]?[0-9]+)?)|([0-9]+([eE][-+]?[0-9]+)))[FfLl]?))|(?P<t_HEX_FLOAT_CONST>(0[xX]([0-9a-fA-F]+|((([0-9a-fA-F]+)?\\.[0-9a-fA-F]+)|([0-9a-fA-F]+\\.)))([pP][+-]?[0-9]+)[FfLl]?))|(?P<t_INT_CONST_HEX>0[xX][0-9a-fA-F]+(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)', [None, ('t_PPHASH', 'PPHASH'), ('t_NEWLINE', 'NEWLINE'), ('t_LBRACE', 'LBRACE'), ('t_RBRACE', 'RBRACE'), ('t_FLOAT_CONST', 'FLOAT_CONST'), None, None, None, None, None, None, None, None, None, ('t_HEX_FLOAT_CONST', 'HEX_FLOAT_CONST'), None, None, None, None, None, None, None, ('t_INT_CONST_HEX', 'INT_CONST_HEX')]), ('(?P<t_INT_CONST_BIN>0[bB][01]+(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|(?P<t_BAD_CONST_OCT>0[0-7]*[89])|(?P<t_INT_CONST_OCT>0[0-7]*(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|(?P<t_INT_CONST_DEC>(0(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|([1-9][0-9]*(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?))|(?P<t_CHAR_CONST>\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))\')|(?P<t_WCHAR_CONST>L\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))\')|(?P<t_UNMATCHED_QUOTE>(\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*\\n)|(\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*$))|(?P<t_BAD_CHAR_CONST>(\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))[^\'\n]+\')|(\'\')|(\'([\\\\][^a-zA-Z._~^!=&\\^\\-\\\\?\'"x0-7])[^\'\\n]*\'))', [None, ('t_INT_CONST_BIN', 'INT_CONST_BIN'), None, None, None, None, None, None, None, ('t_BAD_CONST_OCT', 'BAD_CONST_OCT'), ('t_INT_CONST_OCT', 'INT_CONST_OCT'), None, None, None, None, None, None, None, ('t_INT_CONST_DEC', 'INT_CONST_DEC'), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_CHAR_CONST', 'CHAR_CONST'), None, None, None, None, None, None, ('t_WCHAR_CONST', 'WCHAR_CONST'), None, None, None, None, None, None, ('t_UNMATCHED_QUOTE', 'UNMATCHED_QUOTE'), None, None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_BAD_CHAR_CONST', 'BAD_CHAR_CONST')]), ('(?P<t_WSTRING_LITERAL>L"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P<t_BAD_STRING_LITERAL>"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*([\\\\][^a-zA-Z._~^!=&\\^\\-\\\\?\'"x0-7])([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P<t_ID>[a-zA-Z_$][0-9a-zA-Z_$]*)|(?P<t_STRING_LITERAL>"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P<t_ELLIPSIS>\\.\\.\\.)|(?P<t_PLUSPLUS>\\+\\+)|(?P<t_LOR>\\|\\|)|(?P<t_XOREQUAL>\\^=)|(?P<t_OREQUAL>\\|=)|(?P<t_LSHIFTEQUAL><<=)|(?P<t_RSHIFTEQUAL>>>=)|(?P<t_PLUSEQUAL>\\+=)|(?P<t_TIMESEQUAL>\\*=)|(?P<t_PLUS>\\+)|(?P<t_MODEQUAL>%=)|(?P<t_DIVEQUAL>/=)', [None, ('t_WSTRING_LITERAL', 'WSTRING_LITERAL'), None, None, None, None, None, None, ('t_BAD_STRING_LITERAL', 'BAD_STRING_LITERAL'), None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_ID', 'ID'), (None, 'STRING_LITERAL'), None, None, None, None, None, None, (None, 'ELLIPSIS'), (None, 'PLUSPLUS'), (None, 'LOR'), (None, 'XOREQUAL'), (None, 'OREQUAL'), (None, 'LSHIFTEQUAL'), (None, 'RSHIFTEQUAL'), (None, 'PLUSEQUAL'), (None, 'TIMESEQUAL'), (None, 'PLUS'), (None, 'MODEQUAL'), (None, 'DIVEQUAL')]), ('(?P<t_RBRACKET>\\])|(?P<t_CONDOP>\\?)|(?P<t_XOR>\\^)|(?P<t_LSHIFT><<)|(?P<t_LE><=)|(?P<t_LPAREN>\\()|(?P<t_ARROW>->)|(?P<t_EQ>==)|(?P<t_NE>!=)|(?P<t_MINUSMINUS>--)|(?P<t_OR>\\|)|(?P<t_TIMES>\\*)|(?P<t_LBRACKET>\\[)|(?P<t_GE>>=)|(?P<t_RPAREN>\\))|(?P<t_LAND>&&)|(?P<t_RSHIFT>>>)|(?P<t_MINUSEQUAL>-=)|(?P<t_PERIOD>\\.)|(?P<t_ANDEQUAL>&=)|(?P<t_EQUALS>=)|(?P<t_LT><)|(?P<t_COMMA>,)|(?P<t_DIVIDE>/)|(?P<t_AND>&)|(?P<t_MOD>%)|(?P<t_SEMI>;)|(?P<t_MINUS>-)|(?P<t_GT>>)|(?P<t_COLON>:)|(?P<t_NOT>~)|(?P<t_LNOT>!)', [None, (None, 'RBRACKET'), (None, 'CONDOP'), (None, 'XOR'), (None, 'LSHIFT'), (None, 'LE'), (None, 'LPAREN'), (None, 'ARROW'), (None, 'EQ'), (None, 'NE'), (None, 'MINUSMINUS'), (None, 'OR'), (None, 'TIMES'), (None, 'LBRACKET'), (None, 'GE'), (None, 'RPAREN'), (None, 'LAND'), (None, 'RSHIFT'), (None, 'MINUSEQUAL'), (None, 'PERIOD'), (None, 'ANDEQUAL'), (None, 'EQUALS'), (None, 'LT'), (None, 'COMMA'), (None, 'DIVIDE'), (None, 'AND'), (None, 'MOD'), (None, 'SEMI'), (None, 'MINUS'), (None, 'GT'), (None, 'COLON'), (None, 'NOT'), (None, 'LNOT')])]}
+_lexstateignore = {'ppline': ' \t', 'pppragma': ' \t<>.-{}();=+-*/$%@&^~!?:,0123456789', 'INITIAL': ' \t'}
 _lexstateerrorf = {'ppline': 't_ppline_error', 'pppragma': 't_pppragma_error', 'INITIAL': 't_error'}
diff --git a/lib_pypy/cffi/_pycparser/plyparser.py b/lib_pypy/cffi/_pycparser/plyparser.py
--- a/lib_pypy/cffi/_pycparser/plyparser.py
+++ b/lib_pypy/cffi/_pycparser/plyparser.py
@@ -4,7 +4,7 @@
 # PLYParser class and other utilites for simplifying programming
 # parsers with PLY
 #
-# Copyright (C) 2008-2012, Eli Bendersky
+# Copyright (C) 2008-2015, Eli Bendersky
 # License: BSD
 #-----------------------------------------------------------------
 
@@ -15,6 +15,7 @@
             - Line number
             - (optional) column number, for the Lexer
     """
+    __slots__ = ('file', 'line', 'column', '__weakref__')
     def __init__(self, file, line, column=None):
         self.file = file
         self.line = line
@@ -52,4 +53,3 @@
 
     def _parse_error(self, msg, coord):
         raise ParseError("%s: %s" % (coord, msg))
-
diff --git a/lib_pypy/cffi/_pycparser/yacctab.py b/lib_pypy/cffi/_pycparser/yacctab.py
--- a/lib_pypy/cffi/_pycparser/yacctab.py
+++ b/lib_pypy/cffi/_pycparser/yacctab.py
@@ -5,9 +5,9 @@
 
 _lr_method = 'LALR'
 
-_lr_signature = '"\xce\xf2\x9e\xca\x17\xf7\xe0\x81\x1f\r\xc4\x0b+;\x87'
+_lr_signature = '\x11\x82\x05\xfb:\x10\xfeo5\xb4\x11N\xe7S\xb4b'
     
-_lr_action_items = {'VOID':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,76,78,82,87,89,90,91,92,93,94,95,96,119,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[6,6,-61,-72,-71,-58,-54,-55,-33,-29,-59,6,-34,-53,-68,-63,-52,6,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,6,-67,6,-70,-74,6,-57,-84,-255,-83,6,-111,-110,-30,6,-100,-99,6,6,-45,-46,6,-113,6,6,6,6,-90,6,6,6,6,-36,6,-47,6,6,-85,-91,-256,6,-114,6,6,-115,-117,-116,6,-101,-37,-39,-42,-38,-40,6,-152,-151,-43,-153,-41,-87,-86,-92,-93,6,-103,-102,-171,-170,6,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'LBRACKET':([1,2,3,5,6,9,10,13,14,17,18,19,21,23,24,25,27,28,29,30,32,33,35,37,39,40,42,43,44,45,46,49,50,51,52,54,55,56,58,60,64,65,67,68,69,70,74,78,81,83,84,86,90,94,96,97,100,101,102,103,104,105,108,109,116,118,121,122,124,125,127,128,136,145,146,150,154,163,164,171,173,174,175,176,177,197,200,201,203,207,213,217,238,239,249,252,253,257,263,264,265,293,295,296,305,306,307,308,311,315,319,320,343,344,347,350,352,354,355,356,377,378,384,386,411,412,419,],[-257,-61,-72,-71,-58,-54,-55,-59,-257,-53,-68,-63,-52,-56,-174,62,-66,-257,-69,72,-73,-112,-64,-60,-62,-65,-257,-67,-257,-70,-74,-57,-50,-9,-10,-84,-255,-83,-49,62,-100,-99,-26,-118,-120,-25,72,72,161,-48,-51,72,-113,-257,-257,72,-239,-249,-253,-250,-247,-237,-238,205,-246,-224,-243,-251,-244,-236,-248,-245,72,-121,-119,161,259,72,72,-85,-256,-21,-82,-22,-81,-254,-252,-233,-232,-114,-115,72,-117,-116,-101,-146,-148,-136,259,-150,-144,-243,-87,-86,-231,-230,-229,-228,-227,-240,72,72,-103,-102,-139,259,-137,-145,-147,-149,-225,-226,259,-138,259,-234,-235,]),'WCHAR_CONST':([55,62,72,77,82,98,106,107,112,113,115,117,119,120,123,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,302,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,414,415,416,418,420,423,425,426,427,428,429,430,],[-255,103,103,103,-45,-223,103,-221,103,-220,103,-219,103,103,-218,-222,-219,103,-257,-219,103,103,-256,103,-180,-183,-181,-177,-178,-182,-184,103,-186,-187,-179,-185,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,-12,103,103,-11,-219,-39,-42,-38,103,-40,103,103,-152,-151,-43,-153,103,-41,103,103,103,-257,-135,-171,-170,103,-168,103,103,-154,103,-167,-155,103,103,103,103,-257,103,103,-166,-169,103,-158,103,-156,103,103,-157,103,103,103,-257,103,-162,-161,-159,103,103,103,-163,-160,103,-165,-164,]),'FLOAT_CONST':([55,62,72,77,82,98,106,107,112,113,115,117,119,120,123,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,302,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,414,415,416,418,420,423,425,426,427,428,429,430,],[-255,104,104,104,-45,-223,104,-221,104,-220,104,-219,104,104,-218,-222,-219,104,-257,-219,104,104,-256,104,-180,-183,-181,-177,-178,-182,-184,104,-186,-187,-179,-185,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,-12,104,104,-11,-219,-39,-42,-38,104,-40,104,104,-152,-151,-43,-153,104,-41,104,104,104,-257,-135,-171,-170,104,-168,104,104,-154,104,-167,-155,104,104,104,104,-257,104,104,-166,-169,104,-158,104,-156,104,104,-157,104,104,104,-257,104,-162,-161,-159,104,104,104,-163,-160,104,-165,-164,]),'MINUS':([55,62,72,77,82,98,99,100,101,102,103,104,105,106,107,108,109,111,112,113,115,116,117,118,119,120,121,122,123,124,125,126,127,128,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,203,205,206,208,209,210,211,212,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,293,302,305,306,307,308,311,315,316,317,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,350,353,358,359,361,362,363,364,367,368,369,371,372,373,376,377,378,379,380,383,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,412,414,415,416,418,419,420,423,425,426,427,428,429,430,],[-255,107,107,107,-45,-223,-210,-239,-249,-253,-250,-247,-237,107,-221,-238,-212,-191,107,-220,107,-246,-219,-224,107,107,-243,-251,-218,-244,-236,222,-248,-245,-222,-219,107,-257,-219,107,107,-256,107,-180,-183,-181,-177,-178,-182,-184,107,-186,-187,-179,-185,-254,107,-216,-252,-233,-232,107,107,107,-210,-215,107,-213,-214,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,-12,107,107,-11,-219,-39,-42,-38,107,-40,107,107,-152,-151,-43,-153,107,-41,-243,107,-231,-230,-229,-228,-227,-240,107,107,222,222,222,-196,222,222,222,-195,222,222,-193,-192,222,222,222,222,222,-194,-257,-135,-171,-170,107,-168,107,107,-154,107,-167,-155,107,107,-217,-225,-226,107,107,-211,-257,107,107,-166,-169,107,-158,107,-156,107,107,-157,107,107,107,-257,-234,107,-162,-161,-159,-235,107,107,107,-163,-160,107,-165,-164,]),'RPAREN':([1,2,3,5,6,9,10,13,14,17,18,19,21,23,24,25,27,28,29,32,33,35,37,39,40,42,43,44,45,46,49,50,51,52,53,54,56,58,59,60,63,64,65,67,68,69,70,74,78,81,83,84,90,94,96,99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,130,132,133,134,135,136,137,138,139,145,146,150,157,158,159,160,162,163,164,171,173,174,175,176,177,197,199,200,201,203,206,207,209,210,212,213,214,215,216,217,218,238,239,240,241,242,243,249,252,253,264,265,268,278,295,296,303,304,305,306,307,308,310,311,312,313,314,315,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,340,341,342,343,344,354,355,356,366,376,377,378,382,383,394,396,399,400,402,412,414,417,419,420,421,424,],[-257,-61,-72,-71,-58,-54,-55,-59,-257,-53,-68,-63,-52,-56,-174,-109,-66,-257,-69,-73,-112,-64,-60,-62,-65,-257,-67,-257,-70,-74,-57,-50,-9,-10,90,-84,-83,-49,-111,-110,-257,-100,-99,-26,-118,-120,-25,-141,-257,-143,-48,-51,-113,-257,-257,-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,-189,-248,-245,-175,238,-15,239,-124,-257,-16,-122,-128,-121,-119,-142,-19,-20,264,265,-257,-141,-257,-85,-256,-21,-82,-22,-81,-254,-216,-252,-233,-232,311,-114,-210,-215,-213,-115,315,317,-172,-257,-214,-117,-116,-127,-2,-126,-1,-101,-146,-148,-150,-144,356,-14,-87,-86,-176,376,-231,-230,-229,-228,-241,-227,378,380,381,-240,-140,-257,-141,-197,-209,-198,-196,-200,-204,-199,-195,-202,-207,-193,-192,-201,-208,-203,-205,-206,-194,-129,-123,-125,-103,-102,-145,-147,-149,-13,-217,-225,-226,-173,-211,406,408,410,-242,-190,-234,-257,422,-235,-257,425,428,]),'LONG':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,76,78,82,87,89,90,91,92,93,94,95,96,119,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[19,19,-61,-72,-71,-58,-54,-55,-33,-29,-59,19,-34,-53,-68,-63,-52,19,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,19,-67,19,-70,-74,19,-57,-84,-255,-83,19,-111,-110,-30,19,-100,-99,19,19,-45,-46,19,-113,19,19,19,19,-90,19,19,19,19,-36,19,-47,19,19,-85,-91,-256,19,-114,19,19,-115,-117,-116,19,-101,-37,-39,-42,-38,-40,19,-152,-151,-43,-153,-41,-87,-86,-92,-93,19,-103,-102,-171,-170,19,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'PLUS':([55,62,72,77,82,98,99,100,101,102,103,104,105,106,107,108,109,111,112,113,115,116,117,118,119,120,121,122,123,124,125,126,127,128,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,203,205,206,208,209,210,211,212,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,293,302,305,306,307,308,311,315,316,317,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,350,353,358,359,361,362,363,364,367,368,369,371,372,373,376,377,378,379,380,383,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,412,414,415,416,418,419,420,423,425,426,427,428,429,430,],[-255,113,113,113,-45,-223,-210,-239,-249,-253,-250,-247,-237,113,-221,-238,-212,-191,113,-220,113,-246,-219,-224,113,113,-243,-251,-218,-244,-236,226,-248,-245,-222,-219,113,-257,-219,113,113,-256,113,-180,-183,-181,-177,-178,-182,-184,113,-186,-187,-179,-185,-254,113,-216,-252,-233,-232,113,113,113,-210,-215,113,-213,-214,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,-12,113,113,-11,-219,-39,-42,-38,113,-40,113,113,-152,-151,-43,-153,113,-41,-243,113,-231,-230,-229,-228,-227,-240,113,113,226,226,226,-196,226,226,226,-195,226,226,-193,-192,226,226,226,226,226,-194,-257,-135,-171,-170,113,-168,113,113,-154,113,-167,-155,113,113,-217,-225,-226,113,113,-211,-257,113,113,-166,-169,113,-158,113,-156,113,113,-157,113,113,113,-257,-234,113,-162,-161,-159,-235,113,113,113,-163,-160,113,-165,-164,]),'ELLIPSIS':([245,],[341,]),'GT':([99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,376,377,378,383,412,419,],[-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,227,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-197,227,-198,-196,-200,227,-199,-195,-202,227,-193,-192,-201,227,227,227,227,-194,-217,-225,-226,-211,-234,-235,]),'GOTO':([55,82,167,173,269,270,273,275,282,284,285,286,288,290,291,358,359,362,363,367,369,371,372,389,390,393,395,398,406,407,408,410,415,416,418,423,425,426,427,428,429,430,],[-255,-45,271,-256,-39,-42,-38,-40,271,-152,-151,-43,-153,271,-41,-171,-170,-168,271,-154,-167,-155,271,-166,-169,-158,271,-156,271,-157,271,271,-162,-161,-159,271,271,-163,-160,271,-165,-164,]),'ENUM':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,76,78,82,87,89,90,91,92,93,94,95,96,119,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[26,26,-61,-72,-71,-58,-54,-55,-33,-29,-59,26,-34,-53,-68,-63,-52,26,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,26,-67,26,-70,-74,26,-57,-84,-255,-83,26,-111,-110,-30,26,-100,-99,26,26,-45,-46,26,-113,26,26,26,26,-90,26,26,26,26,-36,26,-47,26,26,-85,-91,-256,26,-114,26,26,-115,-117,-116,26,-101,-37,-39,-42,-38,-40,26,-152,-151,-43,-153,-41,-87,-86,-92,-93,26,-103,-102,-171,-170,26,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'PERIOD':([55,100,101,102,103,104,105,108,109,116,118,121,122,124,125,127,128,154,173,197,200,201,203,257,263,293,305,306,307,308,311,315,347,350,352,377,378,384,386,411,412,419,],[-255,-239,-249,-253,-250,-247,-237,-238,204,-246,-224,-243,-251,-244,-236,-248,-245,258,-256,-254,-252,-233,-232,-136,258,-243,-231,-230,-229,-228,-227,-240,-139,258,-137,-225,-226,258,-138,258,-234,-235,]),'GE':([99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,376,377,378,383,412,419,],[-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,231,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-197,231,-198,-196,-200,231,-199,-195,-202,231,-193,-192,-201,231,231,231,231,-194,-217,-225,-226,-211,-234,-235,]),'INT_CONST_DEC':([55,62,72,77,82,98,106,107,112,113,115,117,119,120,123,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,302,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,414,415,416,418,420,423,425,426,427,428,429,430,],[-255,124,124,124,-45,-223,124,-221,124,-220,124,-219,124,124,-218,-222,-219,124,-257,-219,124,124,-256,124,-180,-183,-181,-177,-178,-182,-184,124,-186,-187,-179,-185,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,-12,124,124,-11,-219,-39,-42,-38,124,-40,124,124,-152,-151,-43,-153,124,-41,124,124,124,-257,-135,-171,-170,124,-168,124,124,-154,124,-167,-155,124,124,124,124,-257,124,124,-166,-169,124,-158,124,-156,124,124,-157,124,124,124,-257,124,-162,-161,-159,124,124,124,-163,-160,124,-165,-164,]),'ARROW':([100,101,102,103,104,105,108,109,116,118,121,122,124,125,127,128,173,197,200,201,203,293,305,306,307,308,311,315,377,378,412,419,],[-239,-249,-253,-250,-247,-237,-238,202,-246,-224,-243,-251,-244,-236,-248,-245,-256,-254,-252,-233,-232,-243,-231,-230,-229,-228,-227,-240,-225,-226,-234,-235,]),'HEX_FLOAT_CONST':([55,62,72,77,82,98,106,107,112,113,115,117,119,120,123,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,302,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,414,415,416,418,420,423,425,426,427,428,429,430,],[-255,127,127,127,-45,-223,127,-221,127,-220,127,-219,127,127,-218,-222,-219,127,-257,-219,127,127,-256,127,-180,-183,-181,-177,-178,-182,-184,127,-186,-187,-179,-185,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,-12,127,127,-11,-219,-39,-42,-38,127,-40,127,127,-152,-151,-43,-153,127,-41,127,127,127,-257,-135,-171,-170,127,-168,127,127,-154,127,-167,-155,127,127,127,127,-257,127,127,-166,-169,127,-158,127,-156,127,127,-157,127,127,127,-257,127,-162,-161,-159,127,127,127,-163,-160,127,-165,-164,]),'DOUBLE':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,76,78,82,87,89,90,91,92,93,94,95,96,119,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[40,40,-61,-72,-71,-58,-54,-55,-33,-29,-59,40,-34,-53,-68,-63,-52,40,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,40,-67,40,-70,-74,40,-57,-84,-255,-83,40,-111,-110,-30,40,-100,-99,40,40,-45,-46,40,-113,40,40,40,40,-90,40,40,40,40,-36,40,-47,40,40,-85,-91,-256,40,-114,40,40,-115,-117,-116,40,-101,-37,-39,-42,-38,-40,40,-152,-151,-43,-153,-41,-87,-86,-92,-93,40,-103,-102,-171,-170,40,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'MINUSEQUAL':([99,100,101,102,103,104,105,108,109,116,118,121,122,124,125,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,376,377,378,383,412,419,],[186,-239,-249,-253,-250,-247,-237,-238,-212,-246,-224,-243,-251,-244,-236,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-217,-225,-226,-211,-234,-235,]),'INT_CONST_OCT':([55,62,72,77,82,98,106,107,112,113,115,117,119,120,123,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,302,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,414,415,416,418,420,423,425,426,427,428,429,430,],[-255,128,128,128,-45,-223,128,-221,128,-220,128,-219,128,128,-218,-222,-219,128,-257,-219,128,128,-256,128,-180,-183,-181,-177,-178,-182,-184,128,-186,-187,-179,-185,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,-12,128,128,-11,-219,-39,-42,-38,128,-40,128,128,-152,-151,-43,-153,128,-41,128,128,128,-257,-135,-171,-170,128,-168,128,128,-154,128,-167,-155,128,128,128,128,-257,128,128,-166,-169,128,-158,128,-156,128,128,-157,128,128,128,-257,128,-162,-161,-159,128,128,128,-163,-160,128,-165,-164,]),'TIMESEQUAL':([99,100,101,102,103,104,105,108,109,116,118,121,122,124,125,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,376,377,378,383,412,419,],[195,-239,-249,-253,-250,-247,-237,-238,-212,-246,-224,-243,-251,-244,-236,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-217,-225,-226,-211,-234,-235,]),'OR':([99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,376,377,378,383,412,419,],[-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,236,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-197,236,-198,-196,-200,-204,-199,-195,-202,-207,-193,-192,-201,236,-203,-205,-206,-194,-217,-225,-226,-211,-234,-235,]),'SHORT':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,76,78,82,87,89,90,91,92,93,94,95,96,119,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[2,2,-61,-72,-71,-58,-54,-55,-33,-29,-59,2,-34,-53,-68,-63,-52,2,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,2,-67,2,-70,-74,2,-57,-84,-255,-83,2,-111,-110,-30,2,-100,-99,2,2,-45,-46,2,-113,2,2,2,2,-90,2,2,2,2,-36,2,-47,2,2,-85,-91,-256,2,-114,2,2,-115,-117,-116,2,-101,-37,-39,-42,-38,-40,2,-152,-151,-43,-153,-41,-87,-86,-92,-93,2,-103,-102,-171,-170,2,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'RETURN':([55,82,167,173,269,270,273,275,282,284,285,286,288,290,291,358,359,362,363,367,369,371,372,389,390,393,395,398,406,407,408,410,415,416,418,423,425,426,427,428,429,430,],[-255,-45,274,-256,-39,-42,-38,-40,274,-152,-151,-43,-153,274,-41,-171,-170,-168,274,-154,-167,-155,274,-166,-169,-158,274,-156,274,-157,274,274,-162,-161,-159,274,274,-163,-160,274,-165,-164,]),'RSHIFTEQUAL':([99,100,101,102,103,104,105,108,109,116,118,121,122,124,125,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,376,377,378,383,412,419,],[196,-239,-249,-253,-250,-247,-237,-238,-212,-246,-224,-243,-251,-244,-236,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-217,-225,-226,-211,-234,-235,]),'RESTRICT':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,28,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,67,69,76,78,82,87,89,90,91,92,93,94,95,96,119,145,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[32,32,-61,-72,-71,-58,-54,-55,-33,-29,-59,32,-34,-53,-68,-63,-52,32,-56,-174,-109,-66,32,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,32,-67,32,-70,-74,32,-57,-84,-255,-83,32,-111,-110,-30,32,-100,-99,32,-120,32,32,-45,-46,32,-113,32,32,32,32,-90,32,32,-121,32,32,-36,32,-47,32,32,-85,-91,-256,32,-114,32,32,-115,-117,-116,32,-101,-37,-39,-42,-38,-40,32,-152,-151,-43,-153,-41,-87,-86,-92,-93,32,-103,-102,-171,-170,32,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'STATIC':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,59,60,61,63,64,65,76,78,82,87,89,90,162,164,166,167,168,171,173,207,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[9,9,-61,-72,-71,-58,-54,-55,-33,-29,-59,9,-34,-53,-68,-63,-52,9,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,9,-67,9,-70,-74,9,-57,-84,-255,-83,-111,-110,-30,9,-100,-99,9,9,-45,-46,9,-113,9,9,-36,9,-47,-85,-256,-114,-115,-117,-116,9,-101,-37,-39,-42,-38,-40,9,-152,-151,-43,-153,-41,-87,-86,9,-103,-102,-171,-170,9,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'SIZEOF':([55,62,72,77,82,98,106,107,112,113,115,117,119,120,123,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,302,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,414,415,416,418,420,423,425,426,427,428,429,430,],[-255,106,106,106,-45,-223,106,-221,106,-220,106,-219,106,106,-218,-222,-219,106,-257,-219,106,106,-256,106,-180,-183,-181,-177,-178,-182,-184,106,-186,-187,-179,-185,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,-12,106,106,-11,-219,-39,-42,-38,106,-40,106,106,-152,-151,-43,-153,106,-41,106,106,106,-257,-135,-171,-170,106,-168,106,106,-154,106,-167,-155,106,106,106,106,-257,106,106,-166,-169,106,-158,106,-156,106,106,-157,106,106,106,-257,106,-162,-161,-159,106,106,106,-163,-160,106,-165,-164,]),'UNSIGNED':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,76,78,82,87,89,90,91,92,93,94,95,96,119,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[18,18,-61,-72,-71,-58,-54,-55,-33,-29,-59,18,-34,-53,-68,-63,-52,18,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,18,-67,18,-70,-74,18,-57,-84,-255,-83,18,-111,-110,-30,18,-100,-99,18,18,-45,-46,18,-113,18,18,18,18,-90,18,18,18,18,-36,18,-47,18,18,-85,-91,-256,18,-114,18,18,-115,-117,-116,18,-101,-37,-39,-42,-38,-40,18,-152,-151,-43,-153,-41,-87,-86,-92,-93,18,-103,-102,-171,-170,18,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'UNION':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,76,78,82,87,89,90,91,92,93,94,95,96,119,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[20,20,-61,-72,-71,-58,-54,-55,-33,-29,-59,20,-34,-53,-68,-63,-52,20,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,20,-67,20,-70,-74,20,-57,-84,-255,-83,20,-111,-110,-30,20,-100,-99,20,20,-45,-46,20,-113,20,20,20,20,-90,20,20,20,20,-36,20,-47,20,20,-85,-91,-256,20,-114,20,20,-115,-117,-116,20,-101,-37,-39,-42,-38,-40,20,-152,-151,-43,-153,-41,-87,-86,-92,-93,20,-103,-102,-171,-170,20,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'COLON':([2,3,5,6,13,18,19,24,25,27,29,32,33,35,37,39,40,43,45,46,54,56,59,60,64,65,90,94,96,97,99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,130,171,173,174,175,176,177,184,197,199,200,201,203,207,209,210,212,213,216,218,238,239,249,279,293,295,296,298,299,303,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,343,344,365,376,377,378,382,383,402,412,419,],[-61,-72,-71,-58,-59,-68,-63,-174,-109,-66,-69,-73,-112,-64,-60,-62,-65,-67,-70,-74,-84,-83,-111,-110,-100,-99,-113,-257,-257,178,-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,-189,-248,-245,-175,-85,-256,-21,-82,-22,-81,302,-254,-216,-252,-233,-232,-114,-210,-215,-213,-115,-172,-214,-117,-116,-101,363,372,-87,-86,-188,178,-176,-231,-230,-229,-228,-227,-240,-197,-209,-198,-196,-200,-204,-199,-195,-202,-207,-193,-192,-201,-208,-203,-205,385,-206,-194,-103,-102,395,-217,-225,-226,-173,-211,-190,-234,-235,]),'$end':([0,8,11,12,15,22,31,36,38,47,61,82,166,173,255,371,],[-257,0,-33,-29,-34,-27,-32,-31,-35,-28,-30,-45,-36,-256,-37,-155,]),'WSTRING_LITERAL':([55,62,72,77,82,98,100,102,106,107,112,113,115,117,119,120,123,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,197,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,302,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,414,415,416,418,420,423,425,426,427,428,429,430,],[-255,102,102,102,-45,-223,197,-253,102,-221,102,-220,102,-219,102,102,-218,-222,-219,102,-257,-219,102,102,-256,102,-180,-183,-181,-177,-178,-182,-184,102,-186,-187,-179,-185,-254,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,-12,102,102,-11,-219,-39,-42,-38,102,-40,102,102,-152,-151,-43,-153,102,-41,102,102,102,-257,-135,-171,-170,102,-168,102,102,-154,102,-167,-155,102,102,102,102,-257,102,102,-166,-169,102,-158,102,-156,102,102,-157,102,102,102,-257,102,-162,-161,-159,102,102,102,-163,-160,102,-165,-164,]),'DIVIDE':([99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,376,377,378,383,412,419,],[-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,229,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,229,229,229,229,229,229,229,229,229,229,-193,-192,229,229,229,229,229,-194,-217,-225,-226,-211,-234,-235,]),'FOR':([55,82,167,173,269,270,273,275,282,284,285,286,288,290,291,358,359,362,363,367,369,371,372,389,390,393,395,398,406,407,408,410,415,416,418,423,425,426,427,428,429,430,],[-255,-45,276,-256,-39,-42,-38,-40,276,-152,-151,-43,-153,276,-41,-171,-170,-168,276,-154,-167,-155,276,-166,-169,-158,276,-156,276,-157,276,276,-162,-161,-159,276,276,-163,-160,276,-165,-164,]),'PLUSPLUS':([55,62,72,77,82,98,100,101,102,103,104,105,106,107,108,109,112,113,115,116,117,118,119,120,121,122,123,124,125,127,128,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,197,198,200,201,203,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,293,302,305,306,307,308,311,315,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,377,378,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,412,414,415,416,418,419,420,423,425,426,427,428,429,430,],[-255,115,115,115,-45,-223,-239,-249,-253,-250,-247,-237,115,-221,-238,203,115,-220,115,-246,-219,-224,115,115,-243,-251,-218,-244,-236,-248,-245,-222,-219,115,-257,-219,115,115,-256,115,-180,-183,-181,-177,-178,-182,-184,115,-186,-187,-179,-185,-254,115,-252,-233,-232,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,-12,115,115,-11,-219,-39,-42,-38,115,-40,115,115,-152,-151,-43,-153,115,-41,-243,115,-231,-230,-229,-228,-227,-240,115,115,-257,-135,-171,-170,115,-168,115,115,-154,115,-167,-155,115,115,-225,-226,115,115,-257,115,115,-166,-169,115,-158,115,-156,115,115,-157,115,115,115,-257,-234,115,-162,-161,-159,-235,115,115,115,-163,-160,115,-165,-164,]),'EQUALS':([1,2,3,5,6,9,10,13,14,17,18,19,21,23,24,25,27,29,30,32,33,35,37,39,40,42,43,44,45,46,49,50,51,52,54,56,58,59,60,64,65,76,83,84,86,90,99,100,101,102,103,104,105,108,109,116,118,121,122,124,125,127,128,144,165,171,173,197,199,200,201,203,207,209,210,212,213,218,238,239,249,257,263,293,295,296,305,306,307,308,311,315,343,344,347,352,376,377,378,383,386,412,419,],[-257,-61,-72,-71,-58,-54,-55,-59,-257,-53,-68,-63,-52,-56,-174,-109,-66,-69,77,-73,-112,-64,-60,-62,-65,-257,-67,-257,-70,-74,-57,-50,-9,-10,-84,-83,-49,-111,-110,-100,-99,151,-48,-51,77,-113,188,-239,-249,-253,-250,-247,-237,-238,-212,-246,-224,-243,-251,-244,-236,-248,-245,250,151,-85,-256,-254,-216,-252,-233,-232,-114,-210,-215,-213,-115,-214,-117,-116,-101,-136,353,-243,-87,-86,-231,-230,-229,-228,-227,-240,-103,-102,-139,-137,-217,-225,-226,-211,-138,-234,-235,]),'ELSE':([173,269,270,273,275,286,291,358,359,362,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[-256,-39,-42,-38,-40,-43,-41,-171,-170,-168,-167,-155,-166,-169,-158,-156,-157,-162,-161,423,-163,-160,-165,-164,]),'ANDEQUAL':([99,100,101,102,103,104,105,108,109,116,118,121,122,124,125,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,376,377,378,383,412,419,],[193,-239,-249,-253,-250,-247,-237,-238,-212,-246,-224,-243,-251,-244,-236,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-217,-225,-226,-211,-234,-235,]),'EQ':([99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,376,377,378,383,412,419,],[-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,233,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-197,233,-198,-196,-200,-204,-199,-195,-202,233,-193,-192,-201,233,-203,233,233,-194,-217,-225,-226,-211,-234,-235,]),'AND':([55,62,72,77,82,98,99,100,101,102,103,104,105,106,107,108,109,111,112,113,115,116,117,118,119,120,121,122,123,124,125,126,127,128,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,203,205,206,208,209,210,211,212,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,293,302,305,306,307,308,311,315,316,317,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,350,353,358,359,361,362,363,364,367,368,369,371,372,373,376,377,378,379,380,383,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,412,414,415,416,418,419,420,423,425,426,427,428,429,430,],[-255,123,123,123,-45,-223,-210,-239,-249,-253,-250,-247,-237,123,-221,-238,-212,-191,123,-220,123,-246,-219,-224,123,123,-243,-251,-218,-244,-236,234,-248,-245,-222,-219,123,-257,-219,123,123,-256,123,-180,-183,-181,-177,-178,-182,-184,123,-186,-187,-179,-185,-254,123,-216,-252,-233,-232,123,123,123,-210,-215,123,-213,-214,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,-12,123,123,-11,-219,-39,-42,-38,123,-40,123,123,-152,-151,-43,-153,123,-41,-243,123,-231,-230,-229,-228,-227,-240,123,123,-197,234,-198,-196,-200,-204,-199,-195,-202,234,-193,-192,-201,234,-203,-205,234,-194,-257,-135,-171,-170,123,-168,123,123,-154,123,-167,-155,123,123,-217,-225,-226,123,123,-211,-257,123,123,-166,-169,123,-158,123,-156,123,123,-157,123,123,123,-257,-234,123,-162,-161,-159,-235,123,123,123,-163,-160,123,-165,-164,]),'TYPEID':([0,1,2,3,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,31,32,33,34,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,67,68,69,70,74,76,78,82,87,89,90,91,92,93,94,95,96,119,145,146,162,163,164,166,167,168,169,170,171,172,173,198,202,204,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[24,24,-61,-72,-71,-58,54,-54,-55,-33,-29,-59,24,-34,59,-53,-68,-63,-89,-52,24,-56,-174,-109,64,-66,-257,-69,-32,-73,-112,-88,-64,-31,-60,-35,-62,-65,24,-67,24,-70,-74,24,-57,-84,-255,-83,24,-111,-110,-30,24,-100,-99,-26,-118,-120,-25,59,24,24,-45,-46,24,-113,24,24,24,24,-90,24,24,-121,-119,24,59,24,-36,24,-47,24,24,-85,-91,-256,24,305,307,-114,24,24,-115,-117,-116,24,-101,-37,-39,-42,-38,-40,24,-152,-151,-43,-153,-41,-87,-86,-92,-93,24,-103,-102,-171,-170,24,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'LBRACE':([7,20,25,26,33,34,48,54,55,56,59,60,64,65,76,77,82,85,87,88,89,90,151,152,154,167,168,173,207,213,238,239,256,260,261,269,270,273,275,282,284,285,286,288,290,291,317,350,353,358,359,362,363,367,369,371,372,376,380,381,384,387,389,390,393,395,398,406,407,408,410,411,415,416,418,423,425,426,427,428,429,430,],[55,-89,-109,55,-112,-88,-257,55,-255,55,-111,-110,55,55,-257,55,-45,-7,-46,55,-8,-113,55,55,-257,55,-47,-256,-114,-115,-117,-116,-12,55,-11,-39,-42,-38,-40,55,-152,-151,-43,-153,55,-41,55,-257,-135,-171,-170,-168,55,-154,-167,-155,55,55,55,55,-257,55,-166,-169,-158,55,-156,55,-157,55,55,-257,-162,-161,-159,55,55,-163,-160,55,-165,-164,]),'PPHASH':([0,11,12,15,22,31,36,38,61,82,166,173,255,371,],[38,-33,-29,-34,38,-32,-31,-35,-30,-45,-36,-256,-37,-155,]),'INT':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,76,78,82,87,89,90,91,92,93,94,95,96,119,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[39,39,-61,-72,-71,-58,-54,-55,-33,-29,-59,39,-34,-53,-68,-63,-52,39,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,39,-67,39,-70,-74,39,-57,-84,-255,-83,39,-111,-110,-30,39,-100,-99,39,39,-45,-46,39,-113,39,39,39,39,-90,39,39,39,39,-36,39,-47,39,39,-85,-91,-256,39,-114,39,39,-115,-117,-116,39,-101,-37,-39,-42,-38,-40,39,-152,-151,-43,-153,-41,-87,-86,-92,-93,39,-103,-102,-171,-170,39,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'SIGNED':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,76,78,82,87,89,90,91,92,93,94,95,96,119,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[43,43,-61,-72,-71,-58,-54,-55,-33,-29,-59,43,-34,-53,-68,-63,-52,43,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,43,-67,43,-70,-74,43,-57,-84,-255,-83,43,-111,-110,-30,43,-100,-99,43,43,-45,-46,43,-113,43,43,43,43,-90,43,43,43,43,-36,43,-47,43,43,-85,-91,-256,43,-114,43,43,-115,-117,-116,43,-101,-37,-39,-42,-38,-40,43,-152,-151,-43,-153,-41,-87,-86,-92,-93,43,-103,-102,-171,-170,43,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'CONTINUE':([55,82,167,173,269,270,273,275,282,284,285,286,288,290,291,358,359,362,363,367,369,371,372,389,390,393,395,398,406,407,408,410,415,416,418,423,425,426,427,428,429,430,],[-255,-45,277,-256,-39,-42,-38,-40,277,-152,-151,-43,-153,277,-41,-171,-170,-168,277,-154,-167,-155,277,-166,-169,-158,277,-156,277,-157,277,277,-162,-161,-159,277,277,-163,-160,277,-165,-164,]),'NOT':([55,62,72,77,82,98,106,107,112,113,115,117,119,120,123,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,302,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,414,415,416,418,420,423,425,426,427,428,429,430,],[-255,131,131,131,-45,-223,131,-221,131,-220,131,-219,131,131,-218,-222,-219,131,-257,-219,131,131,-256,131,-180,-183,-181,-177,-178,-182,-184,131,-186,-187,-179,-185,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,-12,131,131,-11,-219,-39,-42,-38,131,-40,131,131,-152,-151,-43,-153,131,-41,131,131,131,-257,-135,-171,-170,131,-168,131,131,-154,131,-167,-155,131,131,131,131,-257,131,131,-166,-169,131,-158,131,-156,131,131,-157,131,131,131,-257,131,-162,-161,-159,131,131,131,-163,-160,131,-165,-164,]),'OREQUAL':([99,100,101,102,103,104,105,108,109,116,118,121,122,124,125,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,376,377,378,383,412,419,],[194,-239,-249,-253,-250,-247,-237,-238,-212,-246,-224,-243,-251,-244,-236,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-217,-225,-226,-211,-234,-235,]),'MOD':([99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,376,377,378,383,412,419,],[-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,237,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,237,237,237,237,237,237,237,237,237,237,-193,-192,237,237,237,237,237,-194,-217,-225,-226,-211,-234,-235,]),'RSHIFT':([99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,376,377,378,383,412,419,],[-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,219,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-197,219,-198,-196,219,219,219,-195,219,219,-193,-192,219,219,219,219,219,-194,-217,-225,-226,-211,-234,-235,]),'DEFAULT':([55,82,167,173,269,270,273,275,282,284,285,286,288,290,291,358,359,362,363,367,369,371,372,389,390,393,395,398,406,407,408,410,415,416,418,423,425,426,427,428,429,430,],[-255,-45,279,-256,-39,-42,-38,-40,279,-152,-151,-43,-153,279,-41,-171,-170,-168,279,-154,-167,-155,279,-166,-169,-158,279,-156,279,-157,279,279,-162,-161,-159,279,279,-163,-160,279,-165,-164,]),'CHAR':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,76,78,82,87,89,90,91,92,93,94,95,96,119,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[37,37,-61,-72,-71,-58,-54,-55,-33,-29,-59,37,-34,-53,-68,-63,-52,37,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,37,-67,37,-70,-74,37,-57,-84,-255,-83,37,-111,-110,-30,37,-100,-99,37,37,-45,-46,37,-113,37,37,37,37,-90,37,37,37,37,-36,37,-47,37,37,-85,-91,-256,37,-114,37,37,-115,-117,-116,37,-101,-37,-39,-42,-38,-40,37,-152,-151,-43,-153,-41,-87,-86,-92,-93,37,-103,-102,-171,-170,37,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'WHILE':([55,82,167,173,269,270,273,275,282,284,285,286,288,290,291,358,359,362,363,367,369,370,371,372,389,390,393,395,398,406,407,408,410,415,416,418,423,425,426,427,428,429,430,],[-255,-45,280,-256,-39,-42,-38,-40,280,-152,-151,-43,-153,280,-41,-171,-170,-168,280,-154,-167,397,-155,280,-166,-169,-158,280,-156,280,-157,280,280,-162,-161,-159,280,280,-163,-160,280,-165,-164,]),'DIVEQUAL':([99,100,101,102,103,104,105,108,109,116,118,121,122,124,125,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,376,377,378,383,412,419,],[185,-239,-249,-253,-250,-247,-237,-238,-212,-246,-224,-243,-251,-244,-236,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-217,-225,-226,-211,-234,-235,]),'EXTERN':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,59,60,61,63,64,65,76,78,82,87,89,90,162,164,166,167,168,171,173,207,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[10,10,-61,-72,-71,-58,-54,-55,-33,-29,-59,10,-34,-53,-68,-63,-52,10,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,10,-67,10,-70,-74,10,-57,-84,-255,-83,-111,-110,-30,10,-100,-99,10,10,-45,-46,10,-113,10,10,-36,10,-47,-85,-256,-114,-115,-117,-116,10,-101,-37,-39,-42,-38,-40,10,-152,-151,-43,-153,-41,-87,-86,10,-103,-102,-171,-170,10,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'CASE':([55,82,167,173,269,270,273,275,282,284,285,286,288,290,291,358,359,362,363,367,369,371,372,389,390,393,395,398,406,407,408,410,415,416,418,423,425,426,427,428,429,430,],[-255,-45,281,-256,-39,-42,-38,-40,281,-152,-151,-43,-153,281,-41,-171,-170,-168,281,-154,-167,-155,281,-166,-169,-158,281,-156,281,-157,281,281,-162,-161,-159,281,281,-163,-160,281,-165,-164,]),'LAND':([99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,376,377,378,383,412,419,],[-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,232,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-197,232,-198,-196,-200,-204,-199,-195,-202,-207,-193,-192,-201,-208,-203,-205,-206,-194,-217,-225,-226,-211,-234,-235,]),'REGISTER':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,59,60,61,63,64,65,76,78,82,87,89,90,162,164,166,167,168,171,173,207,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[17,17,-61,-72,-71,-58,-54,-55,-33,-29,-59,17,-34,-53,-68,-63,-52,17,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,17,-67,17,-70,-74,17,-57,-84,-255,-83,-111,-110,-30,17,-100,-99,17,17,-45,-46,17,-113,17,17,-36,17,-47,-85,-256,-114,-115,-117,-116,17,-101,-37,-39,-42,-38,-40,17,-152,-151,-43,-153,-41,-87,-86,17,-103,-102,-171,-170,17,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'MODEQUAL':([99,100,101,102,103,104,105,108,109,116,118,121,122,124,125,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,376,377,378,383,412,419,],[187,-239,-249,-253,-250,-247,-237,-238,-212,-246,-224,-243,-251,-244,-236,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-217,-225,-226,-211,-234,-235,]),'NE':([99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,376,377,378,383,412,419,],[-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,224,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-197,224,-198,-196,-200,-204,-199,-195,-202,224,-193,-192,-201,224,-203,224,224,-194,-217,-225,-226,-211,-234,-235,]),'SWITCH':([55,82,167,173,269,270,273,275,282,284,285,286,288,290,291,358,359,362,363,367,369,371,372,389,390,393,395,398,406,407,408,410,415,416,418,423,425,426,427,428,429,430,],[-255,-45,283,-256,-39,-42,-38,-40,283,-152,-151,-43,-153,283,-41,-171,-170,-168,283,-154,-167,-155,283,-166,-169,-158,283,-156,283,-157,283,283,-162,-161,-159,283,283,-163,-160,283,-165,-164,]),'INT_CONST_HEX':([55,62,72,77,82,98,106,107,112,113,115,117,119,120,123,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,302,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,414,415,416,418,420,423,425,426,427,428,429,430,],[-255,116,116,116,-45,-223,116,-221,116,-220,116,-219,116,116,-218,-222,-219,116,-257,-219,116,116,-256,116,-180,-183,-181,-177,-178,-182,-184,116,-186,-187,-179,-185,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,-12,116,116,-11,-219,-39,-42,-38,116,-40,116,116,-152,-151,-43,-153,116,-41,116,116,116,-257,-135,-171,-170,116,-168,116,116,-154,116,-167,-155,116,116,116,116,-257,116,116,-166,-169,116,-158,116,-156,116,116,-157,116,116,116,-257,116,-162,-161,-159,116,116,116,-163,-160,116,-165,-164,]),'_COMPLEX':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,76,78,82,87,89,90,91,92,93,94,95,96,119,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[27,27,-61,-72,-71,-58,-54,-55,-33,-29,-59,27,-34,-53,-68,-63,-52,27,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,27,-67,27,-70,-74,27,-57,-84,-255,-83,27,-111,-110,-30,27,-100,-99,27,27,-45,-46,27,-113,27,27,27,27,-90,27,27,27,27,-36,27,-47,27,27,-85,-91,-256,27,-114,27,27,-115,-117,-116,27,-101,-37,-39,-42,-38,-40,27,-152,-151,-43,-153,-41,-87,-86,-92,-93,27,-103,-102,-171,-170,27,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'PLUSEQUAL':([99,100,101,102,103,104,105,108,109,116,118,121,122,124,125,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,376,377,378,383,412,419,],[190,-239,-249,-253,-250,-247,-237,-238,-212,-246,-224,-243,-251,-244,-236,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-217,-225,-226,-211,-234,-235,]),'STRUCT':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,76,78,82,87,89,90,91,92,93,94,95,96,119,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[34,34,-61,-72,-71,-58,-54,-55,-33,-29,-59,34,-34,-53,-68,-63,-52,34,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,34,-67,34,-70,-74,34,-57,-84,-255,-83,34,-111,-110,-30,34,-100,-99,34,34,-45,-46,34,-113,34,34,34,34,-90,34,34,34,34,-36,34,-47,34,34,-85,-91,-256,34,-114,34,34,-115,-117,-116,34,-101,-37,-39,-42,-38,-40,34,-152,-151,-43,-153,-41,-87,-86,-92,-93,34,-103,-102,-171,-170,34,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'CONDOP':([99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,376,377,378,383,412,419,],[-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,235,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-197,-209,-198,-196,-200,-204,-199,-195,-202,-207,-193,-192,-201,-208,-203,-205,-206,-194,-217,-225,-226,-211,-234,-235,]),'BREAK':([55,82,167,173,269,270,273,275,282,284,285,286,288,290,291,358,359,362,363,367,369,371,372,389,390,393,395,398,406,407,408,410,415,416,418,423,425,426,427,428,429,430,],[-255,-45,287,-256,-39,-42,-38,-40,287,-152,-151,-43,-153,287,-41,-171,-170,-168,287,-154,-167,-155,287,-166,-169,-158,287,-156,287,-157,287,287,-162,-161,-159,287,287,-163,-160,287,-165,-164,]),'VOLATILE':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,28,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,67,69,76,78,82,87,89,90,91,92,93,94,95,96,119,145,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[46,46,-61,-72,-71,-58,-54,-55,-33,-29,-59,46,-34,-53,-68,-63,-52,46,-56,-174,-109,-66,46,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,46,-67,46,-70,-74,46,-57,-84,-255,-83,46,-111,-110,-30,46,-100,-99,46,-120,46,46,-45,-46,46,-113,46,46,46,46,-90,46,46,-121,46,46,-36,46,-47,46,46,-85,-91,-256,46,-114,46,46,-115,-117,-116,46,-101,-37,-39,-42,-38,-40,46,-152,-151,-43,-153,-41,-87,-86,-92,-93,46,-103,-102,-171,-170,46,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'INLINE':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,59,60,61,63,64,65,76,78,82,87,89,90,162,164,166,167,168,171,173,207,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[49,49,-61,-72,-71,-58,-54,-55,-33,-29,-59,49,-34,-53,-68,-63,-52,49,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,49,-67,49,-70,-74,49,-57,-84,-255,-83,-111,-110,-30,49,-100,-99,49,49,-45,-46,49,-113,49,49,-36,49,-47,-85,-256,-114,-115,-117,-116,49,-101,-37,-39,-42,-38,-40,49,-152,-151,-43,-153,-41,-87,-86,49,-103,-102,-171,-170,49,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'DO':([55,82,167,173,269,270,273,275,282,284,285,286,288,290,291,358,359,362,363,367,369,371,372,389,390,393,395,398,406,407,408,410,415,416,418,423,425,426,427,428,429,430,],[-255,-45,290,-256,-39,-42,-38,-40,290,-152,-151,-43,-153,290,-41,-171,-170,-168,290,-154,-167,-155,290,-166,-169,-158,290,-156,290,-157,290,290,-162,-161,-159,290,290,-163,-160,290,-165,-164,]),'LNOT':([55,62,72,77,82,98,106,107,112,113,115,117,119,120,123,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,302,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,414,415,416,418,420,423,425,426,427,428,429,430,],[-255,98,98,98,-45,-223,98,-221,98,-220,98,-219,98,98,-218,-222,-219,98,-257,-219,98,98,-256,98,-180,-183,-181,-177,-178,-182,-184,98,-186,-187,-179,-185,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,-12,98,98,-11,-219,-39,-42,-38,98,-40,98,98,-152,-151,-43,-153,98,-41,98,98,98,-257,-135,-171,-170,98,-168,98,98,-154,98,-167,-155,98,98,98,98,-257,98,98,-166,-169,98,-158,98,-156,98,98,-157,98,98,98,-257,98,-162,-161,-159,98,98,98,-163,-160,98,-165,-164,]),'CONST':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,28,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,67,69,76,78,82,87,89,90,91,92,93,94,95,96,119,145,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[3,3,-61,-72,-71,-58,-54,-55,-33,-29,-59,3,-34,-53,-68,-63,-52,3,-56,-174,-109,-66,3,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,3,-67,3,-70,-74,3,-57,-84,-255,-83,3,-111,-110,-30,3,-100,-99,3,-120,3,3,-45,-46,3,-113,3,3,3,3,-90,3,3,-121,3,3,-36,3,-47,3,3,-85,-91,-256,3,-114,3,3,-115,-117,-116,3,-101,-37,-39,-42,-38,-40,3,-152,-151,-43,-153,-41,-87,-86,-92,-93,3,-103,-102,-171,-170,3,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'LOR':([99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,376,377,378,383,412,419,],[-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,220,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-197,-209,-198,-196,-200,-204,-199,-195,-202,-207,-193,-192,-201,-208,-203,-205,-206,-194,-217,-225,-226,-211,-234,-235,]),'CHAR_CONST':([55,62,72,77,82,98,106,107,112,113,115,117,119,120,123,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,302,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,414,415,416,418,420,423,425,426,427,428,429,430,],[-255,101,101,101,-45,-223,101,-221,101,-220,101,-219,101,101,-218,-222,-219,101,-257,-219,101,101,-256,101,-180,-183,-181,-177,-178,-182,-184,101,-186,-187,-179,-185,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,-12,101,101,-11,-219,-39,-42,-38,101,-40,101,101,-152,-151,-43,-153,101,-41,101,101,101,-257,-135,-171,-170,101,-168,101,101,-154,101,-167,-155,101,101,101,101,-257,101,101,-166,-169,101,-158,101,-156,101,101,-157,101,101,101,-257,101,-162,-161,-159,101,101,101,-163,-160,101,-165,-164,]),'LSHIFT':([99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,376,377,378,383,412,419,],[-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,221,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-197,221,-198,-196,221,221,221,-195,221,221,-193,-192,221,221,221,221,221,-194,-217,-225,-226,-211,-234,-235,]),'RBRACE':([55,82,93,95,99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,130,142,143,144,155,167,169,170,172,173,197,199,200,201,203,209,210,212,218,246,247,248,262,269,270,273,275,282,284,285,286,288,289,291,292,298,300,301,303,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,345,346,349,350,351,358,359,362,367,369,371,376,377,378,383,388,389,390,393,398,401,402,403,407,411,412,415,416,418,419,426,427,429,430,],[-255,-45,173,-90,-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,-189,-248,-245,-175,-104,173,-107,-130,-257,173,173,-91,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,173,173,-105,173,-39,-42,-38,-40,-6,-152,-151,-43,-153,-5,-41,173,-188,-92,-93,-176,-231,-230,-229,-228,-227,-240,-197,-209,-198,-196,-200,-204,-199,-195,-202,-207,-193,-192,-201,-208,-203,-205,-206,-194,-106,-108,-133,173,-131,-171,-170,-168,-154,-167,-155,-217,-225,-226,-211,-132,-166,-169,-158,-156,173,-190,-134,-157,173,-234,-162,-161,-159,-235,-163,-160,-165,-164,]),'_BOOL':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,76,78,82,87,89,90,91,92,93,94,95,96,119,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[13,13,-61,-72,-71,-58,-54,-55,-33,-29,-59,13,-34,-53,-68,-63,-52,13,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,13,-67,13,-70,-74,13,-57,-84,-255,-83,13,-111,-110,-30,13,-100,-99,13,13,-45,-46,13,-113,13,13,13,13,-90,13,13,13,13,-36,13,-47,13,13,-85,-91,-256,13,-114,13,13,-115,-117,-116,13,-101,-37,-39,-42,-38,-40,13,-152,-151,-43,-153,-41,-87,-86,-92,-93,13,-103,-102,-171,-170,13,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'LE':([99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,376,377,378,383,412,419,],[-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,223,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-197,223,-198,-196,-200,223,-199,-195,-202,223,-193,-192,-201,223,223,223,223,-194,-217,-225,-226,-211,-234,-235,]),'SEMI':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,49,50,51,52,54,55,56,58,59,60,61,64,65,67,68,69,70,71,73,74,75,76,79,80,81,82,83,84,86,90,94,96,97,99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,130,145,146,150,153,155,163,165,166,167,171,173,174,175,176,177,179,180,181,182,183,184,197,199,200,201,203,207,209,210,212,213,216,218,238,239,249,251,252,253,254,255,264,265,269,270,272,273,274,275,277,278,282,284,285,286,287,288,289,290,291,293,295,296,297,298,303,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,343,344,351,354,355,356,357,358,359,360,361,362,363,366,367,369,371,372,374,375,376,377,378,382,383,388,389,390,391,392,393,395,398,402,404,405,406,407,408,410,412,413,415,416,418,419,422,423,425,426,427,428,429,430,],[15,-257,-61,-72,-71,-58,-54,-55,-33,-29,-59,-257,-34,-53,-68,-63,-52,15,-56,-174,-109,-66,-257,-69,-257,-32,-73,-112,-64,-31,-60,-35,-62,-65,82,-257,-67,-257,-70,-74,-57,-50,-9,-10,-84,-255,-83,-49,-111,-110,-30,-100,-99,-26,-118,-120,-25,-18,-44,-141,-17,-79,-78,-75,-143,-45,-48,-51,-257,-113,-257,-257,-257,-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,-189,-248,-245,-175,-121,-119,-142,-77,-130,-141,-79,-36,-257,-85,-256,-21,-82,-22,-81,-24,300,-94,301,-23,-96,-254,-216,-252,-233,-232,-114,-210,-215,-213,-115,-172,-214,-117,-116,-101,-76,-146,-148,-80,-37,-150,-144,-39,-42,358,-38,359,-40,362,-14,-257,-152,-151,-43,369,-153,-13,-257,-41,-243,-87,-86,-98,-188,-176,-231,-230,-229,-228,-227,-240,-197,-209,-198,-196,-200,-204,-199,-195,-202,-207,-193,-192,-201,-208,-203,-205,-206,-194,-103,-102,-131,-145,-147,-149,389,-171,-170,390,-257,-168,-257,-13,-154,-167,-155,-257,-95,-97,-217,-225,-226,-173,-211,-132,-166,-169,404,-257,-158,-257,-156,-190,-257,414,-257,-157,-257,-257,-234,420,-162,-161,-159,-235,426,-257,-257,-163,-160,-257,-165,-164,]),'LT':([99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,376,377,378,383,412,419,],[-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,225,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-197,225,-198,-196,-200,225,-199,-195,-202,225,-193,-192,-201,225,225,225,225,-194,-217,-225,-226,-211,-234,-235,]),'COMMA':([1,2,3,5,6,9,10,13,14,17,18,19,21,23,24,25,27,28,29,32,33,35,37,39,40,42,43,44,45,46,49,50,51,52,54,56,58,59,60,64,65,67,68,69,70,71,74,76,79,80,81,83,84,90,99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,130,135,136,137,138,139,142,143,144,145,146,150,153,155,163,165,171,173,179,181,184,197,199,200,201,203,207,209,210,212,213,214,216,218,238,239,240,241,242,243,246,247,248,249,251,252,253,254,262,264,265,278,293,295,296,297,298,303,305,306,307,308,309,310,311,312,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,342,343,344,345,346,349,351,354,355,356,360,374,375,376,377,378,382,383,388,394,396,399,400,401,402,403,412,417,419,],[-257,-61,-72,-71,-58,-54,-55,-59,-257,-53,-68,-63,-52,-56,-174,-109,-66,-257,-69,-73,-112,-64,-60,-62,-65,-257,-67,-257,-70,-74,-57,-50,-9,-10,-84,-83,-49,-111,-110,-100,-99,-26,-118,-120,-25,147,-141,-79,-78,-75,-143,-48,-51,-113,-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,-189,-248,-245,-175,-124,-257,244,245,-128,-104,248,-107,-121,-119,-142,-77,-130,-141,-79,-85,-256,299,-94,-96,-254,-216,-252,-233,-232,-114,-210,-215,-213,-115,316,-172,-214,-117,-116,-127,-2,-126,-1,248,248,-105,-101,-76,-146,-148,-80,350,-150,-144,316,-243,-87,-86,-98,-188,-176,-231,-230,-229,-228,316,-241,-227,379,-240,-197,-209,-198,-196,-200,-204,-199,-195,-202,-207,-193,-192,-201,-208,-203,-205,316,-206,-194,-129,-125,-103,-102,-106,-108,-133,-131,-145,-147,-149,316,-95,-97,-217,-225,-226,-173,-211,-132,316,316,316,-242,411,-190,-134,-234,316,-235,]),'TYPEDEF':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,59,60,61,63,64,65,76,78,82,87,89,90,162,164,166,167,168,171,173,207,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[23,23,-61,-72,-71,-58,-54,-55,-33,-29,-59,23,-34,-53,-68,-63,-52,23,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,23,-67,23,-70,-74,23,-57,-84,-255,-83,-111,-110,-30,23,-100,-99,23,23,-45,-46,23,-113,23,23,-36,23,-47,-85,-256,-114,-115,-117,-116,23,-101,-37,-39,-42,-38,-40,23,-152,-151,-43,-153,-41,-87,-86,23,-103,-102,-171,-170,23,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'XOR':([99,100,101,102,103,104,105,108,109,111,116,118,121,122,124,125,126,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,376,377,378,383,412,419,],[-210,-239,-249,-253,-250,-247,-237,-238,-212,-191,-246,-224,-243,-251,-244,-236,228,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-197,228,-198,-196,-200,-204,-199,-195,-202,-207,-193,-192,-201,228,-203,-205,228,-194,-217,-225,-226,-211,-234,-235,]),'AUTO':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,59,60,61,63,64,65,76,78,82,87,89,90,162,164,166,167,168,171,173,207,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[21,21,-61,-72,-71,-58,-54,-55,-33,-29,-59,21,-34,-53,-68,-63,-52,21,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,21,-67,21,-70,-74,21,-57,-84,-255,-83,-111,-110,-30,21,-100,-99,21,21,-45,-46,21,-113,21,21,-36,21,-47,-85,-256,-114,-115,-117,-116,21,-101,-37,-39,-42,-38,-40,21,-152,-151,-43,-153,-41,-87,-86,21,-103,-102,-171,-170,21,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'TIMES':([0,1,2,3,4,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,27,28,29,30,31,32,35,36,37,38,39,40,42,43,44,45,46,49,50,51,52,54,55,56,58,61,62,64,65,67,68,69,70,72,77,78,82,83,84,86,94,96,97,98,99,100,101,102,103,104,105,106,107,108,109,111,112,113,115,116,117,118,119,120,121,122,123,124,125,126,127,128,131,136,145,147,149,151,154,156,161,164,166,167,171,173,174,175,176,177,178,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,203,205,206,208,209,210,211,212,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,249,250,255,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,293,295,296,299,302,305,306,307,308,311,315,316,317,319,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,343,344,350,353,358,359,361,362,363,364,367,368,369,371,372,373,376,377,378,379,380,383,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,412,414,415,416,418,419,420,423,425,426,427,428,429,430,],[28,-257,-61,-72,28,-71,-58,-54,-55,-33,-29,-59,-257,-34,-53,-68,-63,-52,28,-56,-174,-66,-257,-69,28,-32,-73,-64,-31,-60,-35,-62,-65,-257,-67,-257,-70,-74,-57,-50,-9,-10,-84,-255,-83,-49,-30,117,-100,-99,-26,28,-120,-25,149,156,28,-45,-48,-51,28,-257,-257,28,-223,-210,-239,-249,-253,-250,-247,-237,156,-221,-238,-212,-191,156,-220,156,-246,-219,-224,156,156,-243,-251,-218,-244,-236,230,-248,-245,-222,28,-121,28,-219,156,-257,-219,267,28,-36,156,-85,-256,-21,-82,-22,-81,156,-180,-183,-181,-177,-178,-182,-184,156,-186,-187,-179,-185,-254,156,-216,-252,-233,-232,156,156,156,-210,-215,156,-213,28,-214,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,-101,156,-37,-12,156,156,-11,-219,-39,-42,-38,156,-40,156,156,-152,-151,-43,-153,156,-41,-243,-87,-86,28,156,-231,-230,-229,-228,-227,-240,156,156,28,230,230,230,230,230,230,230,230,230,230,-193,-192,230,230,230,230,230,-194,-103,-102,-257,-135,-171,-170,156,-168,156,156,-154,156,-167,-155,156,156,-217,-225,-226,156,156,-211,-257,156,156,-166,-169,156,-158,156,-156,156,156,-157,156,156,156,-257,-234,156,-162,-161,-159,-235,156,156,156,-163,-160,156,-165,-164,]),'LPAREN':([0,1,2,3,4,5,6,9,10,11,12,13,14,15,16,17,18,19,21,22,23,24,25,27,28,29,30,31,32,33,35,36,37,38,39,40,42,43,44,45,46,49,50,51,52,54,55,56,58,60,61,62,64,65,67,68,69,70,72,74,77,78,81,82,83,84,86,90,94,96,97,98,100,101,102,103,104,105,106,107,108,109,112,113,115,116,117,118,119,120,121,122,123,124,125,127,128,131,136,145,146,147,149,150,151,154,156,161,163,164,166,167,171,173,174,175,176,177,178,185,186,187,188,189,190,191,192,193,194,195,196,197,198,200,201,203,205,206,207,208,211,213,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,249,250,252,253,255,256,259,260,261,264,265,267,269,270,273,274,275,276,280,281,282,283,284,285,286,288,290,291,293,294,295,296,299,302,305,306,307,308,311,315,316,317,319,320,343,344,350,353,354,355,356,358,359,361,362,363,364,367,368,369,371,372,373,377,378,379,380,384,385,387,389,390,392,393,395,397,398,404,406,407,408,409,410,411,412,414,415,416,418,419,420,423,425,426,427,428,429,430,],[4,-257,-61,-72,4,-71,-58,-54,-55,-33,-29,-59,-257,-34,4,-53,-68,-63,-52,4,-56,-174,63,-66,-257,-69,78,-32,-73,-112,-64,-31,-60,-35,-62,-65,-257,-67,-257,-70,-74,-57,-50,-9,-10,-84,-255,-83,-49,63,-30,119,-100,-99,-26,-118,-120,-25,119,78,119,78,162,-45,-48,-51,164,-113,-257,-257,164,-223,-239,-249,-253,-250,-247,-237,198,-221,-238,206,208,-220,211,-246,-219,-224,119,211,-243,-251,-218,-244,-236,-248,-245,-222,78,-121,-119,4,-219,162,119,-257,-219,119,164,164,-36,119,-85,-256,-21,-82,-22,-81,208,-180,-183,-181,-177,-178,-182,-184,119,-186,-187,-179,-185,-254,119,-252,-233,-232,119,119,-114,119,119,-115,319,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,119,208,208,-117,-116,-101,208,-146,-148,-37,-12,208,119,-11,-150,-144,-219,-39,-42,-38,119,-40,361,364,208,119,368,-152,-151,-43,-153,119,-41,-243,373,-87,-86,4,208,-231,-230,-229,-228,-227,-240,119,208,319,319,-103,-102,-257,-135,-145,-147,-149,-171,-170,119,-168,119,119,-154,119,-167,-155,119,119,-225,-226,119,208,-257,208,119,-166,-169,119,-158,119,409,-156,119,119,-157,119,119,119,-257,-234,119,-162,-161,-159,-235,119,119,119,-163,-160,119,-165,-164,]),'MINUSMINUS':([55,62,72,77,82,98,100,101,102,103,104,105,106,107,108,109,112,113,115,116,117,118,119,120,121,122,123,124,125,127,128,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,197,198,200,201,203,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,293,302,305,306,307,308,311,315,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,377,378,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,412,414,415,416,418,419,420,423,425,426,427,428,429,430,],[-255,120,120,120,-45,-223,-239,-249,-253,-250,-247,-237,120,-221,-238,201,120,-220,120,-246,-219,-224,120,120,-243,-251,-218,-244,-236,-248,-245,-222,-219,120,-257,-219,120,120,-256,120,-180,-183,-181,-177,-178,-182,-184,120,-186,-187,-179,-185,-254,120,-252,-233,-232,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,-12,120,120,-11,-219,-39,-42,-38,120,-40,120,120,-152,-151,-43,-153,120,-41,-243,120,-231,-230,-229,-228,-227,-240,120,120,-257,-135,-171,-170,120,-168,120,120,-154,120,-167,-155,120,120,-225,-226,120,120,-257,120,120,-166,-169,120,-158,120,-156,120,120,-157,120,120,120,-257,-234,120,-162,-161,-159,-235,120,120,120,-163,-160,120,-165,-164,]),'ID':([0,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,28,29,30,31,32,34,35,36,37,38,39,40,42,43,44,45,46,49,50,51,52,54,55,56,58,61,62,63,64,65,66,67,68,69,70,72,74,77,78,82,83,84,86,94,96,97,98,106,107,112,113,115,117,119,120,123,131,136,140,141,145,146,147,149,151,154,156,161,163,164,166,167,171,173,174,175,176,177,178,185,186,187,188,189,190,191,192,193,194,195,196,198,202,204,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,244,248,249,250,255,256,258,259,260,261,267,269,270,271,273,274,275,281,282,284,285,286,288,290,291,295,296,299,302,316,317,343,344,350,353,358,359,361,362,363,364,367,368,369,371,372,373,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,414,415,416,418,420,423,425,426,427,428,429,430,],[33,-257,-61,-72,33,-71,-58,56,-54,-55,-33,-29,-59,-257,-34,33,-53,-68,-63,-89,-52,33,-56,-174,65,-66,-257,-69,33,-32,-73,-88,-64,-31,-60,-35,-62,-65,-257,-67,-257,-70,-74,-57,-50,-9,-10,-84,-255,-83,-49,-30,121,121,-100,-99,144,-26,-118,-120,-25,121,33,121,33,-45,-48,-51,33,-257,-257,33,-223,121,-221,121,-220,121,-219,121,121,-218,-222,33,144,144,-121,-119,33,-219,121,-257,-219,121,33,33,-36,293,-85,-256,-21,-82,-22,-81,121,-180,-183,-181,-177,-178,-182,-184,121,-186,-187,-179,-185,121,306,308,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,144,-101,121,-37,-12,121,121,121,-11,-219,-39,-42,357,-38,121,-40,121,293,-152,-151,-43,-153,293,-41,-87,-86,33,121,121,121,-103,-102,-257,-135,-171,-170,121,-168,293,121,-154,121,-167,-155,293,121,121,121,-257,121,121,-166,-169,121,-158,293,-156,121,293,-157,293,121,293,-257,121,-162,-161,-159,121,293,293,-163,-160,293,-165,-164,]),'IF':([55,82,167,173,269,270,273,275,282,284,285,286,288,290,291,358,359,362,363,367,369,371,372,389,390,393,395,398,406,407,408,410,415,416,418,423,425,426,427,428,429,430,],[-255,-45,294,-256,-39,-42,-38,-40,294,-152,-151,-43,-153,294,-41,-171,-170,-168,294,-154,-167,-155,294,-166,-169,-158,294,-156,294,-157,294,294,-162,-161,-159,294,294,-163,-160,294,-165,-164,]),'STRING_LITERAL':([55,62,72,77,82,98,106,107,108,112,113,115,117,119,120,122,123,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,198,200,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,302,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,414,415,416,418,420,423,425,426,427,428,429,430,],[-255,122,122,122,-45,-223,122,-221,200,122,-220,122,-219,122,122,-251,-218,-222,-219,122,-257,-219,122,122,-256,122,-180,-183,-181,-177,-178,-182,-184,122,-186,-187,-179,-185,122,-252,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,-12,122,122,-11,-219,-39,-42,-38,122,-40,122,122,-152,-151,-43,-153,122,-41,122,122,122,-257,-135,-171,-170,122,-168,122,122,-154,122,-167,-155,122,122,122,122,-257,122,122,-166,-169,122,-158,122,-156,122,122,-157,122,122,122,-257,122,-162,-161,-159,122,122,122,-163,-160,122,-165,-164,]),'FLOAT':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,76,78,82,87,89,90,91,92,93,94,95,96,119,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[35,35,-61,-72,-71,-58,-54,-55,-33,-29,-59,35,-34,-53,-68,-63,-52,35,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,35,-67,35,-70,-74,35,-57,-84,-255,-83,35,-111,-110,-30,35,-100,-99,35,35,-45,-46,35,-113,35,35,35,35,-90,35,35,35,35,-36,35,-47,35,35,-85,-91,-256,35,-114,35,35,-115,-117,-116,35,-101,-37,-39,-42,-38,-40,35,-152,-151,-43,-153,-41,-87,-86,-92,-93,35,-103,-102,-171,-170,35,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'XOREQUAL':([99,100,101,102,103,104,105,108,109,116,118,121,122,124,125,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,376,377,378,383,412,419,],[189,-239,-249,-253,-250,-247,-237,-238,-212,-246,-224,-243,-251,-244,-236,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-217,-225,-226,-211,-234,-235,]),'LSHIFTEQUAL':([99,100,101,102,103,104,105,108,109,116,118,121,122,124,125,127,128,173,197,199,200,201,203,209,210,212,218,293,305,306,307,308,311,315,376,377,378,383,412,419,],[191,-239,-249,-253,-250,-247,-237,-238,-212,-246,-224,-243,-251,-244,-236,-248,-245,-256,-254,-216,-252,-233,-232,-210,-215,-213,-214,-243,-231,-230,-229,-228,-227,-240,-217,-225,-226,-211,-234,-235,]),'RBRACKET':([62,72,99,100,101,102,103,104,105,108,109,110,111,114,116,117,118,121,122,124,125,126,127,128,129,130,148,149,161,173,197,199,200,201,203,209,210,212,216,218,266,267,298,303,305,306,307,308,309,311,315,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,338,339,348,376,377,378,382,383,402,412,419,],[-257,-257,-210,-239,-249,-253,-250,-247,-237,-238,-212,207,-191,-4,-246,213,-224,-243,-251,-244,-236,-189,-248,-245,-3,-175,252,253,-257,-256,-254,-216,-252,-233,-232,-210,-215,-213,-172,-214,354,355,-188,-176,-231,-230,-229,-228,377,-227,-240,-197,-209,-198,-196,-200,-204,-199,-195,-202,-207,-193,-192,-201,-208,-203,-205,-206,-194,386,-217,-225,-226,-173,-211,-190,-234,-235,]),}
+_lr_action_items = {'VOID':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,66,78,80,82,87,89,90,91,92,93,94,95,96,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[6,6,-63,-74,-73,-60,-56,-57,-35,-31,-61,6,-36,-55,-70,-65,-54,6,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,6,-69,6,-72,-76,6,-59,-86,-261,-85,6,-113,-112,-32,-102,-101,6,6,6,-47,-48,6,-115,6,6,6,6,-92,6,6,6,6,-38,6,-49,6,6,-87,-93,-262,-103,-121,-120,6,6,6,6,6,-39,-41,-44,-40,-42,6,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,6,-175,-174,6,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'LBRACKET':([1,2,3,5,6,9,10,13,14,17,18,19,21,23,25,26,27,28,29,30,32,33,35,37,39,40,42,43,44,45,46,49,50,51,52,54,55,56,58,60,62,63,67,68,69,70,74,78,81,83,84,86,90,94,96,97,110,112,115,116,118,121,122,123,124,125,126,129,130,138,140,143,145,146,148,149,153,155,166,167,174,176,177,178,179,180,191,197,198,218,221,222,224,228,235,239,262,267,269,270,300,302,303,310,311,314,315,323,324,325,326,329,334,338,339,360,362,364,366,367,368,388,389,391,392,399,401,428,429,430,437,],[-263,-63,-74,-73,-60,-56,-57,-61,-263,-55,-70,-65,-54,-58,-178,65,-68,-263,-71,72,-75,-114,-66,-62,-64,-67,-263,-69,-263,-72,-76,-59,-52,-9,-10,-86,-261,-85,-51,65,-102,-101,-28,-122,-124,-27,72,72,164,-50,-53,72,-115,-263,-263,72,72,-248,-125,-123,-252,-243,-255,-259,-256,-253,-241,-242,226,-251,-228,-257,-249,-240,-254,-250,164,264,72,72,-87,-262,-23,-84,-24,-83,-103,-121,-120,-260,-258,-237,-236,-150,-152,72,-140,264,-154,-148,-248,-89,-88,-105,-104,-116,-119,-235,-234,-233,-232,-231,-244,72,72,-143,264,-141,-149,-151,-153,-118,-117,-229,-230,264,-142,-245,264,-238,-239,]),'WCHAR_CONST':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,115,119,127,128,134,135,137,139,141,142,144,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,309,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,429,432,433,434,436,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,124,124,-47,124,-28,-263,-125,-227,124,-225,124,-224,124,-223,124,124,-222,-226,-263,-223,124,124,124,-262,124,124,-223,124,124,-184,-187,-185,-181,-182,-186,-188,124,-190,-191,-183,-189,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,-12,124,124,-11,-223,-41,-44,-40,124,-42,124,124,-156,-155,-45,-157,124,-43,124,124,124,-263,-139,-175,-174,124,-172,124,124,-158,124,-171,-159,124,124,124,124,-263,124,124,-11,-170,-173,124,-162,124,-160,124,124,-161,124,124,124,-263,124,-166,-165,-163,124,124,124,-167,-164,124,-169,-168,]),'FLOAT_CONST':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,115,119,127,128,134,135,137,139,141,142,144,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,309,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,429,432,433,434,436,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,125,125,-47,125,-28,-263,-125,-227,125,-225,125,-224,125,-223,125,125,-222,-226,-263,-223,125,125,125,-262,125,125,-223,125,125,-184,-187,-185,-181,-182,-186,-188,125,-190,-191,-183,-189,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,-12,125,125,-11,-223,-41,-44,-40,125,-42,125,125,-156,-155,-45,-157,125,-43,125,125,125,-263,-139,-175,-174,125,-172,125,125,-158,125,-171,-159,125,125,125,125,-263,125,125,-11,-170,-173,125,-162,125,-160,125,125,-161,125,125,125,-263,125,-166,-165,-163,125,125,125,-167,-164,125,-169,-168,]),'MINUS':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,112,115,118,119,120,121,122,123,124,125,126,127,128,129,130,132,134,135,137,138,139,140,141,142,143,144,145,146,147,148,149,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,224,226,227,230,231,232,233,234,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,300,309,323,324,325,326,329,334,335,336,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,362,365,370,371,373,374,375,376,379,380,381,383,384,385,390,391,392,393,395,398,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,428,429,430,432,433,434,436,437,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,128,128,-47,128,-28,-263,-248,-125,-252,-227,-214,-243,-255,-259,-256,-253,-241,128,-225,-242,-216,-195,128,-224,128,-251,-223,-228,128,128,-257,-222,-249,-240,244,-254,-250,-226,-263,-223,128,128,128,-262,128,128,-223,128,128,-184,-187,-185,-181,-182,-186,-188,128,-190,-191,-183,-189,-260,128,-220,-258,-237,-236,128,128,128,-214,-219,128,-217,-218,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,-12,128,128,-11,-223,-41,-44,-40,128,-42,128,128,-156,-155,-45,-157,128,-43,-248,128,-235,-234,-233,-232,-231,-244,128,128,244,244,244,-200,244,244,244,-199,244,244,-197,-196,244,244,244,244,244,-198,-263,-139,-175,-174,128,-172,128,128,-158,128,-171,-159,128,128,-221,-229,-230,128,128,-215,-263,128,128,-11,-170,-173,128,-162,128,-160,128,128,-161,128,128,128,-245,-263,-238,128,-166,-165,-163,-239,128,128,128,-167,-164,128,-169,-168,]),'RPAREN':([1,2,3,5,6,9,10,13,14,17,18,19,21,23,25,26,27,28,29,32,33,35,37,39,40,42,43,44,45,46,49,50,51,52,53,54,56,58,59,60,62,63,66,67,68,69,70,74,78,81,83,84,90,94,96,106,107,108,109,110,111,112,113,114,115,116,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,151,153,158,159,160,161,165,166,167,174,176,177,178,179,180,191,197,198,199,200,201,202,218,220,221,222,224,227,228,231,232,234,235,236,237,238,239,240,269,270,275,285,302,303,310,311,314,315,318,319,320,321,322,323,324,325,326,328,329,330,332,333,334,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,366,367,368,378,388,389,390,391,392,397,398,410,412,415,416,417,419,428,430,432,435,437,438,439,442,],[-263,-63,-74,-73,-60,-56,-57,-61,-263,-55,-70,-65,-54,-58,-178,-111,-68,-263,-71,-75,-114,-66,-62,-64,-67,-263,-69,-263,-72,-76,-59,-52,-9,-10,90,-86,-85,-51,-113,-112,-102,-101,-263,-28,-122,-124,-27,-145,-263,-147,-50,-53,-115,-263,-263,197,-15,198,-128,-263,-16,-248,-126,-132,-125,-123,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,-193,-254,-250,-179,-146,-21,-22,269,270,-263,-145,-263,-87,-262,-23,-84,-24,-83,-103,-121,-120,-131,-1,-2,-130,-260,-220,-258,-237,-236,329,-150,-214,-219,-217,-152,334,336,-176,-263,-218,-154,-148,368,-14,-89,-88,-105,-104,-116,-119,-133,-127,-129,-180,390,-235,-234,-233,-232,-246,-231,392,395,396,-244,-144,-263,-145,-201,-213,-202,-200,-204,-208,-203,-199,-206,-211,-197,-196,-205,-212,-207,-209,-210,-198,-149,-151,-153,-13,-118,-117,-221,-229,-230,-177,-215,423,425,427,-247,428,-194,-245,-238,-263,440,-239,-263,443,446,]),'LONG':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,66,78,80,82,87,89,90,91,92,93,94,95,96,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[19,19,-63,-74,-73,-60,-56,-57,-35,-31,-61,19,-36,-55,-70,-65,-54,19,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,19,-69,19,-72,-76,19,-59,-86,-261,-85,19,-113,-112,-32,-102,-101,19,19,19,-47,-48,19,-115,19,19,19,19,-92,19,19,19,19,-38,19,-49,19,19,-87,-93,-262,-103,-121,-120,19,19,19,19,19,-39,-41,-44,-40,-42,19,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,19,-175,-174,19,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'PLUS':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,112,115,118,119,120,121,122,123,124,125,126,127,128,129,130,132,134,135,137,138,139,140,141,142,143,144,145,146,147,148,149,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,224,226,227,230,231,232,233,234,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,300,309,323,324,325,326,329,334,335,336,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,362,365,370,371,373,374,375,376,379,380,381,383,384,385,390,391,392,393,395,398,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,428,429,430,432,433,434,436,437,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,135,135,-47,135,-28,-263,-248,-125,-252,-227,-214,-243,-255,-259,-256,-253,-241,135,-225,-242,-216,-195,135,-224,135,-251,-223,-228,135,135,-257,-222,-249,-240,248,-254,-250,-226,-263,-223,135,135,135,-262,135,135,-223,135,135,-184,-187,-185,-181,-182,-186,-188,135,-190,-191,-183,-189,-260,135,-220,-258,-237,-236,135,135,135,-214,-219,135,-217,-218,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,-12,135,135,-11,-223,-41,-44,-40,135,-42,135,135,-156,-155,-45,-157,135,-43,-248,135,-235,-234,-233,-232,-231,-244,135,135,248,248,248,-200,248,248,248,-199,248,248,-197,-196,248,248,248,248,248,-198,-263,-139,-175,-174,135,-172,135,135,-158,135,-171,-159,135,135,-221,-229,-230,135,135,-215,-263,135,135,-11,-170,-173,135,-162,135,-160,135,135,-161,135,135,135,-245,-263,-238,135,-166,-165,-163,-239,135,135,135,-167,-164,135,-169,-168,]),'ELLIPSIS':([204,],[319,]),'GT':([112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,390,391,392,398,428,430,437,],[-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,249,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-201,249,-202,-200,-204,249,-203,-199,-206,249,-197,-196,-205,249,249,249,249,-198,-221,-229,-230,-215,-245,-238,-239,]),'GOTO':([55,82,170,176,276,277,280,282,289,291,292,293,295,297,298,370,371,374,375,379,381,383,384,405,406,409,411,414,423,424,425,427,433,434,436,441,443,444,445,446,447,448,],[-261,-47,278,-262,-41,-44,-40,-42,278,-156,-155,-45,-157,278,-43,-175,-174,-172,278,-158,-171,-159,278,-170,-173,-162,278,-160,278,-161,278,278,-166,-165,-163,278,278,-167,-164,278,-169,-168,]),'ENUM':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,66,78,80,82,87,89,90,91,92,93,94,95,96,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[24,24,-63,-74,-73,-60,-56,-57,-35,-31,-61,24,-36,-55,-70,-65,-54,24,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,24,-69,24,-72,-76,24,-59,-86,-261,-85,24,-113,-112,-32,-102,-101,24,24,24,-47,-48,24,-115,24,24,24,24,-92,24,24,24,24,-38,24,-49,24,24,-87,-93,-262,-103,-121,-120,24,24,24,24,24,-39,-41,-44,-40,-42,24,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,24,-175,-174,24,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'PERIOD':([55,112,118,121,122,123,124,125,126,129,130,138,140,143,145,146,148,149,155,176,218,221,222,224,262,267,300,323,324,325,326,329,334,360,362,364,391,392,399,401,428,429,430,437,],[-261,-248,-252,-243,-255,-259,-256,-253,-241,-242,225,-251,-228,-257,-249,-240,-254,-250,263,-262,-260,-258,-237,-236,-140,263,-248,-235,-234,-233,-232,-231,-244,-143,263,-141,-229,-230,263,-142,-245,263,-238,-239,]),'GE':([112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,390,391,392,398,428,430,437,],[-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,253,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-201,253,-202,-200,-204,253,-203,-199,-206,253,-197,-196,-205,253,253,253,253,-198,-221,-229,-230,-215,-245,-238,-239,]),'INT_CONST_DEC':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,115,119,127,128,134,135,137,139,141,142,144,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,309,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,429,432,433,434,436,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,145,145,-47,145,-28,-263,-125,-227,145,-225,145,-224,145,-223,145,145,-222,-226,-263,-223,145,145,145,-262,145,145,-223,145,145,-184,-187,-185,-181,-182,-186,-188,145,-190,-191,-183,-189,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,-12,145,145,-11,-223,-41,-44,-40,145,-42,145,145,-156,-155,-45,-157,145,-43,145,145,145,-263,-139,-175,-174,145,-172,145,145,-158,145,-171,-159,145,145,145,145,-263,145,145,-11,-170,-173,145,-162,145,-160,145,145,-161,145,145,145,-263,145,-166,-165,-163,145,145,145,-167,-164,145,-169,-168,]),'ARROW':([112,118,121,122,123,124,125,126,129,130,138,140,143,145,146,148,149,176,218,221,222,224,300,323,324,325,326,329,334,391,392,428,430,437,],[-248,-252,-243,-255,-259,-256,-253,-241,-242,223,-251,-228,-257,-249,-240,-254,-250,-262,-260,-258,-237,-236,-248,-235,-234,-233,-232,-231,-244,-229,-230,-245,-238,-239,]),'HEX_FLOAT_CONST':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,115,119,127,128,134,135,137,139,141,142,144,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,309,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,429,432,433,434,436,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,148,148,-47,148,-28,-263,-125,-227,148,-225,148,-224,148,-223,148,148,-222,-226,-263,-223,148,148,148,-262,148,148,-223,148,148,-184,-187,-185,-181,-182,-186,-188,148,-190,-191,-183,-189,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,-12,148,148,-11,-223,-41,-44,-40,148,-42,148,148,-156,-155,-45,-157,148,-43,148,148,148,-263,-139,-175,-174,148,-172,148,148,-158,148,-171,-159,148,148,148,148,-263,148,148,-11,-170,-173,148,-162,148,-160,148,148,-161,148,148,148,-263,148,-166,-165,-163,148,148,148,-167,-164,148,-169,-168,]),'DOUBLE':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,66,78,80,82,87,89,90,91,92,93,94,95,96,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[40,40,-63,-74,-73,-60,-56,-57,-35,-31,-61,40,-36,-55,-70,-65,-54,40,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,40,-69,40,-72,-76,40,-59,-86,-261,-85,40,-113,-112,-32,-102,-101,40,40,40,-47,-48,40,-115,40,40,40,40,-92,40,40,40,40,-38,40,-49,40,40,-87,-93,-262,-103,-121,-120,40,40,40,40,40,-39,-41,-44,-40,-42,40,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,40,-175,-174,40,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'MINUSEQUAL':([112,118,120,121,122,123,124,125,126,129,130,138,140,143,145,146,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,390,391,392,398,428,430,437,],[-248,-252,207,-243,-255,-259,-256,-253,-241,-242,-216,-251,-228,-257,-249,-240,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-221,-229,-230,-215,-245,-238,-239,]),'INT_CONST_OCT':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,115,119,127,128,134,135,137,139,141,142,144,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,309,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,429,432,433,434,436,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,149,149,-47,149,-28,-263,-125,-227,149,-225,149,-224,149,-223,149,149,-222,-226,-263,-223,149,149,149,-262,149,149,-223,149,149,-184,-187,-185,-181,-182,-186,-188,149,-190,-191,-183,-189,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,-12,149,149,-11,-223,-41,-44,-40,149,-42,149,149,-156,-155,-45,-157,149,-43,149,149,149,-263,-139,-175,-174,149,-172,149,149,-158,149,-171,-159,149,149,149,149,-263,149,149,-11,-170,-173,149,-162,149,-160,149,149,-161,149,149,149,-263,149,-166,-165,-163,149,149,149,-167,-164,149,-169,-168,]),'TIMESEQUAL':([112,118,120,121,122,123,124,125,126,129,130,138,140,143,145,146,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,390,391,392,398,428,430,437,],[-248,-252,216,-243,-255,-259,-256,-253,-241,-242,-216,-251,-228,-257,-249,-240,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-221,-229,-230,-215,-245,-238,-239,]),'OR':([112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,390,391,392,398,428,430,437,],[-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,258,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-201,258,-202,-200,-204,-208,-203,-199,-206,-211,-197,-196,-205,258,-207,-209,-210,-198,-221,-229,-230,-215,-245,-238,-239,]),'SHORT':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,66,78,80,82,87,89,90,91,92,93,94,95,96,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[2,2,-63,-74,-73,-60,-56,-57,-35,-31,-61,2,-36,-55,-70,-65,-54,2,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,2,-69,2,-72,-76,2,-59,-86,-261,-85,2,-113,-112,-32,-102,-101,2,2,2,-47,-48,2,-115,2,2,2,2,-92,2,2,2,2,-38,2,-49,2,2,-87,-93,-262,-103,-121,-120,2,2,2,2,2,-39,-41,-44,-40,-42,2,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,2,-175,-174,2,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'RETURN':([55,82,170,176,276,277,280,282,289,291,292,293,295,297,298,370,371,374,375,379,381,383,384,405,406,409,411,414,423,424,425,427,433,434,436,441,443,444,445,446,447,448,],[-261,-47,281,-262,-41,-44,-40,-42,281,-156,-155,-45,-157,281,-43,-175,-174,-172,281,-158,-171,-159,281,-170,-173,-162,281,-160,281,-161,281,281,-166,-165,-163,281,281,-167,-164,281,-169,-168,]),'RSHIFTEQUAL':([112,118,120,121,122,123,124,125,126,129,130,138,140,143,145,146,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,390,391,392,398,428,430,437,],[-248,-252,217,-243,-255,-259,-256,-253,-241,-242,-216,-251,-228,-257,-249,-240,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-221,-229,-230,-215,-245,-238,-239,]),'RESTRICT':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,28,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,65,66,67,69,78,80,82,87,89,90,91,92,93,94,95,96,104,105,115,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[32,32,-63,-74,-73,-60,-56,-57,-35,-31,-61,32,-36,-55,-70,-65,-54,32,-58,-178,-111,-68,32,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,32,-69,32,-72,-76,32,-59,-86,-261,-85,32,-113,-112,-32,-102,-101,32,32,32,-124,32,32,-47,-48,32,-115,32,32,32,32,-92,32,32,32,-125,32,32,32,-38,32,-49,32,32,-87,-93,-262,-103,-121,-120,32,32,32,32,32,-39,-41,-44,-40,-42,32,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,32,-175,-174,32,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'STATIC':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,59,60,61,62,63,65,66,69,78,80,82,87,89,90,104,115,165,167,169,170,171,174,176,191,197,198,204,272,276,277,280,282,289,291,292,293,295,298,302,303,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[9,9,-63,-74,-73,-60,-56,-57,-35,-31,-61,9,-36,-55,-70,-65,-54,9,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,9,-69,9,-72,-76,9,-59,-86,-261,-85,-113,-112,-32,-102,-101,105,9,-124,9,9,-47,-48,9,-115,195,-125,9,9,-38,9,-49,-87,-262,-103,-121,-120,9,-39,-41,-44,-40,-42,9,-156,-155,-45,-157,-43,-89,-88,-105,-104,-116,-119,9,-175,-174,9,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'SIZEOF':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,115,119,127,128,134,135,137,139,141,142,144,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,309,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,429,432,433,434,436,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,127,127,-47,127,-28,-263,-125,-227,127,-225,127,-224,127,-223,127,127,-222,-226,-263,-223,127,127,127,-262,127,127,-223,127,127,-184,-187,-185,-181,-182,-186,-188,127,-190,-191,-183,-189,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,-12,127,127,-11,-223,-41,-44,-40,127,-42,127,127,-156,-155,-45,-157,127,-43,127,127,127,-263,-139,-175,-174,127,-172,127,127,-158,127,-171,-159,127,127,127,127,-263,127,127,-11,-170,-173,127,-162,127,-160,127,127,-161,127,127,127,-263,127,-166,-165,-163,127,127,127,-167,-164,127,-169,-168,]),'UNSIGNED':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,66,78,80,82,87,89,90,91,92,93,94,95,96,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[18,18,-63,-74,-73,-60,-56,-57,-35,-31,-61,18,-36,-55,-70,-65,-54,18,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,18,-69,18,-72,-76,18,-59,-86,-261,-85,18,-113,-112,-32,-102,-101,18,18,18,-47,-48,18,-115,18,18,18,18,-92,18,18,18,18,-38,18,-49,18,18,-87,-93,-262,-103,-121,-120,18,18,18,18,18,-39,-41,-44,-40,-42,18,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,18,-175,-174,18,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'UNION':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,66,78,80,82,87,89,90,91,92,93,94,95,96,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[20,20,-63,-74,-73,-60,-56,-57,-35,-31,-61,20,-36,-55,-70,-65,-54,20,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,20,-69,20,-72,-76,20,-59,-86,-261,-85,20,-113,-112,-32,-102,-101,20,20,20,-47,-48,20,-115,20,20,20,20,-92,20,20,20,20,-38,20,-49,20,20,-87,-93,-262,-103,-121,-120,20,20,20,20,20,-39,-41,-44,-40,-42,20,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,20,-175,-174,20,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'COLON':([2,3,5,6,13,18,19,25,26,27,29,32,33,35,37,39,40,43,45,46,54,56,59,60,62,63,90,94,96,97,112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,151,174,176,177,178,179,180,187,191,197,198,218,220,221,222,224,231,232,234,238,240,286,300,302,303,305,306,310,311,314,315,321,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,377,388,389,390,391,392,397,398,419,428,430,437,],[-63,-74,-73,-60,-61,-70,-65,-178,-111,-68,-71,-75,-114,-66,-62,-64,-67,-69,-72,-76,-86,-85,-113,-112,-102,-101,-115,-263,-263,181,-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,-193,-254,-250,-179,-87,-262,-23,-84,-24,-83,309,-103,-121,-120,-260,-220,-258,-237,-236,-214,-219,-217,-176,-218,375,384,-89,-88,-192,181,-105,-104,-116,-119,-180,-235,-234,-233,-232,-231,-244,-201,-213,-202,-200,-204,-208,-203,-199,-206,-211,-197,-196,-205,-212,-207,-209,400,-210,-198,411,-118,-117,-221,-229,-230,-177,-215,-194,-245,-238,-239,]),'$end':([0,8,11,12,15,22,31,36,38,47,61,82,169,176,272,383,],[-263,0,-35,-31,-36,-29,-34,-33,-37,-30,-32,-47,-38,-262,-39,-159,]),'WSTRING_LITERAL':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,115,119,121,123,127,128,134,135,137,139,141,142,144,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,218,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,309,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,429,432,433,434,436,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,123,123,-47,123,-28,-263,-125,-227,218,-259,123,-225,123,-224,123,-223,123,123,-222,-226,-263,-223,123,123,123,-262,123,123,-223,123,123,-184,-187,-185,-181,-182,-186,-188,123,-190,-191,-183,-189,-260,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,-12,123,123,-11,-223,-41,-44,-40,123,-42,123,123,-156,-155,-45,-157,123,-43,123,123,123,-263,-139,-175,-174,123,-172,123,123,-158,123,-171,-159,123,123,123,123,-263,123,123,-11,-170,-173,123,-162,123,-160,123,123,-161,123,123,123,-263,123,-166,-165,-163,123,123,123,-167,-164,123,-169,-168,]),'DIVIDE':([112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,390,391,392,398,428,430,437,],[-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,251,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,251,251,251,251,251,251,251,251,251,251,-197,-196,251,251,251,251,251,-198,-221,-229,-230,-215,-245,-238,-239,]),'FOR':([55,82,170,176,276,277,280,282,289,291,292,293,295,297,298,370,371,374,375,379,381,383,384,405,406,409,411,414,423,424,425,427,433,434,436,441,443,444,445,446,447,448,],[-261,-47,283,-262,-41,-44,-40,-42,283,-156,-155,-45,-157,283,-43,-175,-174,-172,283,-158,-171,-159,283,-170,-173,-162,283,-160,283,-161,283,283,-166,-165,-163,283,283,-167,-164,283,-169,-168,]),'PLUSPLUS':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,112,115,118,119,121,122,123,124,125,126,127,128,129,130,134,135,137,138,139,140,141,142,143,144,145,146,148,149,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,218,219,221,222,224,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,300,309,323,324,325,326,329,334,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,391,392,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,428,429,430,432,433,434,436,437,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,137,137,-47,137,-28,-263,-248,-125,-252,-227,-243,-255,-259,-256,-253,-241,137,-225,-242,224,137,-224,137,-251,-223,-228,137,137,-257,-222,-249,-240,-254,-250,-226,-263,-223,137,137,137,-262,137,137,-223,137,137,-184,-187,-185,-181,-182,-186,-188,137,-190,-191,-183,-189,-260,137,-258,-237,-236,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,-12,137,137,-11,-223,-41,-44,-40,137,-42,137,137,-156,-155,-45,-157,137,-43,-248,137,-235,-234,-233,-232,-231,-244,137,137,-263,-139,-175,-174,137,-172,137,137,-158,137,-171,-159,137,137,-229,-230,137,137,-263,137,137,-11,-170,-173,137,-162,137,-160,137,137,-161,137,137,137,-245,-263,-238,137,-166,-165,-163,-239,137,137,137,-167,-164,137,-169,-168,]),'EQUALS':([1,2,3,5,6,9,10,13,14,17,18,19,21,23,25,26,27,29,30,32,33,35,37,39,40,42,43,44,45,46,49,50,51,52,54,56,58,59,60,62,63,80,83,84,86,90,102,112,118,120,121,122,123,124,125,126,129,130,138,140,143,145,146,148,149,168,174,176,191,197,198,218,220,221,222,224,231,232,234,240,262,267,300,302,303,310,311,314,315,323,324,325,326,329,334,360,364,388,389,390,391,392,398,401,428,430,437,],[-263,-63,-74,-73,-60,-56,-57,-61,-263,-55,-70,-65,-54,-58,-178,-111,-68,-71,77,-75,-114,-66,-62,-64,-67,-263,-69,-263,-72,-76,-59,-52,-9,-10,-86,-85,-51,-113,-112,-102,-101,162,-50,-53,77,-115,192,-248,-252,209,-243,-255,-259,-256,-253,-241,-242,-216,-251,-228,-257,-249,-240,-254,-250,162,-87,-262,-103,-121,-120,-260,-220,-258,-237,-236,-214,-219,-217,-218,-140,365,-248,-89,-88,-105,-104,-116,-119,-235,-234,-233,-232,-231,-244,-143,-141,-118,-117,-221,-229,-230,-215,-142,-245,-238,-239,]),'ELSE':([176,276,277,280,282,293,298,370,371,374,381,383,405,406,409,414,424,433,434,436,444,445,447,448,],[-262,-41,-44,-40,-42,-45,-43,-175,-174,-172,-171,-159,-170,-173,-162,-160,-161,-166,-165,441,-167,-164,-169,-168,]),'ANDEQUAL':([112,118,120,121,122,123,124,125,126,129,130,138,140,143,145,146,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,390,391,392,398,428,430,437,],[-248,-252,214,-243,-255,-259,-256,-253,-241,-242,-216,-251,-228,-257,-249,-240,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-221,-229,-230,-215,-245,-238,-239,]),'EQ':([112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,390,391,392,398,428,430,437,],[-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,255,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-201,255,-202,-200,-204,-208,-203,-199,-206,255,-197,-196,-205,255,-207,255,255,-198,-221,-229,-230,-215,-245,-238,-239,]),'AND':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,112,115,118,119,120,121,122,123,124,125,126,127,128,129,130,132,134,135,137,138,139,140,141,142,143,144,145,146,147,148,149,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,224,226,227,230,231,232,233,234,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,300,309,323,324,325,326,329,334,335,336,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,362,365,370,371,373,374,375,376,379,380,381,383,384,385,390,391,392,393,395,398,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,428,429,430,432,433,434,436,437,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,144,144,-47,144,-28,-263,-248,-125,-252,-227,-214,-243,-255,-259,-256,-253,-241,144,-225,-242,-216,-195,144,-224,144,-251,-223,-228,144,144,-257,-222,-249,-240,256,-254,-250,-226,-263,-223,144,144,144,-262,144,144,-223,144,144,-184,-187,-185,-181,-182,-186,-188,144,-190,-191,-183,-189,-260,144,-220,-258,-237,-236,144,144,144,-214,-219,144,-217,-218,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,-12,144,144,-11,-223,-41,-44,-40,144,-42,144,144,-156,-155,-45,-157,144,-43,-248,144,-235,-234,-233,-232,-231,-244,144,144,-201,256,-202,-200,-204,-208,-203,-199,-206,256,-197,-196,-205,256,-207,-209,256,-198,-263,-139,-175,-174,144,-172,144,144,-158,144,-171,-159,144,144,-221,-229,-230,144,144,-215,-263,144,144,-11,-170,-173,144,-162,144,-160,144,144,-161,144,144,144,-245,-263,-238,144,-166,-165,-163,-239,144,144,144,-167,-164,144,-169,-168,]),'TYPEID':([0,1,2,3,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,31,32,33,34,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,66,67,68,69,70,74,78,80,82,87,89,90,91,92,93,94,95,96,115,116,141,165,166,167,169,170,171,172,173,174,175,176,191,197,198,204,219,223,225,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[25,25,-63,-74,-73,-60,54,-56,-57,-35,-31,-61,25,-36,59,-55,-70,-65,-91,-54,25,-58,62,-178,-111,-68,-263,-71,-34,-75,-114,-90,-66,-33,-62,-37,-64,-67,25,-69,25,-72,-76,25,-59,-86,-261,-85,25,-113,-112,-32,-102,-101,25,-28,-122,-124,-27,59,25,25,-47,-48,25,-115,25,25,25,25,-92,25,-125,-123,25,25,59,25,-38,25,-49,25,25,-87,-93,-262,-103,-121,-120,25,25,323,325,25,25,25,-39,-41,-44,-40,-42,25,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,25,-175,-174,25,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'LBRACE':([7,20,24,26,33,34,48,54,55,56,59,60,62,63,77,80,82,85,87,88,89,90,155,162,163,170,171,176,197,198,260,266,268,276,277,280,282,289,291,292,293,295,297,298,314,315,336,362,365,370,371,374,375,379,381,383,384,388,389,390,395,396,399,402,403,405,406,409,411,414,423,424,425,427,429,433,434,436,441,443,444,445,446,447,448,],[55,-91,55,-111,-114,-90,-263,55,-261,55,-113,-112,55,55,55,-263,-47,-7,-48,55,-8,-115,-263,55,55,55,-49,-262,-121,-120,-12,55,-11,-41,-44,-40,-42,55,-156,-155,-45,-157,55,-43,-116,-119,55,-263,-139,-175,-174,-172,55,-158,-171,-159,55,-118,-117,55,55,55,-263,55,-11,-170,-173,-162,55,-160,55,-161,55,55,-263,-166,-165,-163,55,55,-167,-164,55,-169,-168,]),'PPHASH':([0,11,12,15,22,31,36,38,61,82,169,176,272,383,],[38,-35,-31,-36,38,-34,-33,-37,-32,-47,-38,-262,-39,-159,]),'INT':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,66,78,80,82,87,89,90,91,92,93,94,95,96,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[39,39,-63,-74,-73,-60,-56,-57,-35,-31,-61,39,-36,-55,-70,-65,-54,39,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,39,-69,39,-72,-76,39,-59,-86,-261,-85,39,-113,-112,-32,-102,-101,39,39,39,-47,-48,39,-115,39,39,39,39,-92,39,39,39,39,-38,39,-49,39,39,-87,-93,-262,-103,-121,-120,39,39,39,39,39,-39,-41,-44,-40,-42,39,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,39,-175,-174,39,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'SIGNED':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,66,78,80,82,87,89,90,91,92,93,94,95,96,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[43,43,-63,-74,-73,-60,-56,-57,-35,-31,-61,43,-36,-55,-70,-65,-54,43,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,43,-69,43,-72,-76,43,-59,-86,-261,-85,43,-113,-112,-32,-102,-101,43,43,43,-47,-48,43,-115,43,43,43,43,-92,43,43,43,43,-38,43,-49,43,43,-87,-93,-262,-103,-121,-120,43,43,43,43,43,-39,-41,-44,-40,-42,43,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,43,-175,-174,43,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'CONTINUE':([55,82,170,176,276,277,280,282,289,291,292,293,295,297,298,370,371,374,375,379,381,383,384,405,406,409,411,414,423,424,425,427,433,434,436,441,443,444,445,446,447,448,],[-261,-47,284,-262,-41,-44,-40,-42,284,-156,-155,-45,-157,284,-43,-175,-174,-172,284,-158,-171,-159,284,-170,-173,-162,284,-160,284,-161,284,284,-166,-165,-163,284,284,-167,-164,284,-169,-168,]),'NOT':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,115,119,127,128,134,135,137,139,141,142,144,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,309,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,429,432,433,434,436,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,152,152,-47,152,-28,-263,-125,-227,152,-225,152,-224,152,-223,152,152,-222,-226,-263,-223,152,152,152,-262,152,152,-223,152,152,-184,-187,-185,-181,-182,-186,-188,152,-190,-191,-183,-189,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,-12,152,152,-11,-223,-41,-44,-40,152,-42,152,152,-156,-155,-45,-157,152,-43,152,152,152,-263,-139,-175,-174,152,-172,152,152,-158,152,-171,-159,152,152,152,152,-263,152,152,-11,-170,-173,152,-162,152,-160,152,152,-161,152,152,152,-263,152,-166,-165,-163,152,152,152,-167,-164,152,-169,-168,]),'OREQUAL':([112,118,120,121,122,123,124,125,126,129,130,138,140,143,145,146,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,390,391,392,398,428,430,437,],[-248,-252,215,-243,-255,-259,-256,-253,-241,-242,-216,-251,-228,-257,-249,-240,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-221,-229,-230,-215,-245,-238,-239,]),'MOD':([112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,390,391,392,398,428,430,437,],[-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,259,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,259,259,259,259,259,259,259,259,259,259,-197,-196,259,259,259,259,259,-198,-221,-229,-230,-215,-245,-238,-239,]),'RSHIFT':([112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,390,391,392,398,428,430,437,],[-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,241,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-201,241,-202,-200,241,241,241,-199,241,241,-197,-196,241,241,241,241,241,-198,-221,-229,-230,-215,-245,-238,-239,]),'DEFAULT':([55,82,170,176,276,277,280,282,289,291,292,293,295,297,298,370,371,374,375,379,381,383,384,405,406,409,411,414,423,424,425,427,433,434,436,441,443,444,445,446,447,448,],[-261,-47,286,-262,-41,-44,-40,-42,286,-156,-155,-45,-157,286,-43,-175,-174,-172,286,-158,-171,-159,286,-170,-173,-162,286,-160,286,-161,286,286,-166,-165,-163,286,286,-167,-164,286,-169,-168,]),'CHAR':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,66,78,80,82,87,89,90,91,92,93,94,95,96,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[37,37,-63,-74,-73,-60,-56,-57,-35,-31,-61,37,-36,-55,-70,-65,-54,37,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,37,-69,37,-72,-76,37,-59,-86,-261,-85,37,-113,-112,-32,-102,-101,37,37,37,-47,-48,37,-115,37,37,37,37,-92,37,37,37,37,-38,37,-49,37,37,-87,-93,-262,-103,-121,-120,37,37,37,37,37,-39,-41,-44,-40,-42,37,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,37,-175,-174,37,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'WHILE':([55,82,170,176,276,277,280,282,289,291,292,293,295,297,298,370,371,374,375,379,381,382,383,384,405,406,409,411,414,423,424,425,427,433,434,436,441,443,444,445,446,447,448,],[-261,-47,287,-262,-41,-44,-40,-42,287,-156,-155,-45,-157,287,-43,-175,-174,-172,287,-158,-171,413,-159,287,-170,-173,-162,287,-160,287,-161,287,287,-166,-165,-163,287,287,-167,-164,287,-169,-168,]),'DIVEQUAL':([112,118,120,121,122,123,124,125,126,129,130,138,140,143,145,146,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,390,391,392,398,428,430,437,],[-248,-252,206,-243,-255,-259,-256,-253,-241,-242,-216,-251,-228,-257,-249,-240,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-221,-229,-230,-215,-245,-238,-239,]),'EXTERN':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,59,60,61,62,63,66,78,80,82,87,89,90,165,167,169,170,171,174,176,191,197,198,204,272,276,277,280,282,289,291,292,293,295,298,302,303,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[10,10,-63,-74,-73,-60,-56,-57,-35,-31,-61,10,-36,-55,-70,-65,-54,10,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,10,-69,10,-72,-76,10,-59,-86,-261,-85,-113,-112,-32,-102,-101,10,10,10,-47,-48,10,-115,10,10,-38,10,-49,-87,-262,-103,-121,-120,10,-39,-41,-44,-40,-42,10,-156,-155,-45,-157,-43,-89,-88,-105,-104,-116,-119,10,-175,-174,10,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'CASE':([55,82,170,176,276,277,280,282,289,291,292,293,295,297,298,370,371,374,375,379,381,383,384,405,406,409,411,414,423,424,425,427,433,434,436,441,443,444,445,446,447,448,],[-261,-47,288,-262,-41,-44,-40,-42,288,-156,-155,-45,-157,288,-43,-175,-174,-172,288,-158,-171,-159,288,-170,-173,-162,288,-160,288,-161,288,288,-166,-165,-163,288,288,-167,-164,288,-169,-168,]),'LAND':([112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,390,391,392,398,428,430,437,],[-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,254,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-201,254,-202,-200,-204,-208,-203,-199,-206,-211,-197,-196,-205,-212,-207,-209,-210,-198,-221,-229,-230,-215,-245,-238,-239,]),'REGISTER':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,59,60,61,62,63,66,78,80,82,87,89,90,165,167,169,170,171,174,176,191,197,198,204,272,276,277,280,282,289,291,292,293,295,298,302,303,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[17,17,-63,-74,-73,-60,-56,-57,-35,-31,-61,17,-36,-55,-70,-65,-54,17,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,17,-69,17,-72,-76,17,-59,-86,-261,-85,-113,-112,-32,-102,-101,17,17,17,-47,-48,17,-115,17,17,-38,17,-49,-87,-262,-103,-121,-120,17,-39,-41,-44,-40,-42,17,-156,-155,-45,-157,-43,-89,-88,-105,-104,-116,-119,17,-175,-174,17,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'MODEQUAL':([112,118,120,121,122,123,124,125,126,129,130,138,140,143,145,146,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,390,391,392,398,428,430,437,],[-248,-252,208,-243,-255,-259,-256,-253,-241,-242,-216,-251,-228,-257,-249,-240,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-221,-229,-230,-215,-245,-238,-239,]),'NE':([112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,390,391,392,398,428,430,437,],[-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,246,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-201,246,-202,-200,-204,-208,-203,-199,-206,246,-197,-196,-205,246,-207,246,246,-198,-221,-229,-230,-215,-245,-238,-239,]),'SWITCH':([55,82,170,176,276,277,280,282,289,291,292,293,295,297,298,370,371,374,375,379,381,383,384,405,406,409,411,414,423,424,425,427,433,434,436,441,443,444,445,446,447,448,],[-261,-47,290,-262,-41,-44,-40,-42,290,-156,-155,-45,-157,290,-43,-175,-174,-172,290,-158,-171,-159,290,-170,-173,-162,290,-160,290,-161,290,290,-166,-165,-163,290,290,-167,-164,290,-169,-168,]),'INT_CONST_HEX':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,115,119,127,128,134,135,137,139,141,142,144,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,309,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,429,432,433,434,436,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,138,138,-47,138,-28,-263,-125,-227,138,-225,138,-224,138,-223,138,138,-222,-226,-263,-223,138,138,138,-262,138,138,-223,138,138,-184,-187,-185,-181,-182,-186,-188,138,-190,-191,-183,-189,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,-12,138,138,-11,-223,-41,-44,-40,138,-42,138,138,-156,-155,-45,-157,138,-43,138,138,138,-263,-139,-175,-174,138,-172,138,138,-158,138,-171,-159,138,138,138,138,-263,138,138,-11,-170,-173,138,-162,138,-160,138,138,-161,138,138,138,-263,138,-166,-165,-163,138,138,138,-167,-164,138,-169,-168,]),'_COMPLEX':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,66,78,80,82,87,89,90,91,92,93,94,95,96,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[27,27,-63,-74,-73,-60,-56,-57,-35,-31,-61,27,-36,-55,-70,-65,-54,27,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,27,-69,27,-72,-76,27,-59,-86,-261,-85,27,-113,-112,-32,-102,-101,27,27,27,-47,-48,27,-115,27,27,27,27,-92,27,27,27,27,-38,27,-49,27,27,-87,-93,-262,-103,-121,-120,27,27,27,27,27,-39,-41,-44,-40,-42,27,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,27,-175,-174,27,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'PLUSEQUAL':([112,118,120,121,122,123,124,125,126,129,130,138,140,143,145,146,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,390,391,392,398,428,430,437,],[-248,-252,211,-243,-255,-259,-256,-253,-241,-242,-216,-251,-228,-257,-249,-240,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-221,-229,-230,-215,-245,-238,-239,]),'STRUCT':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,66,78,80,82,87,89,90,91,92,93,94,95,96,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[34,34,-63,-74,-73,-60,-56,-57,-35,-31,-61,34,-36,-55,-70,-65,-54,34,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,34,-69,34,-72,-76,34,-59,-86,-261,-85,34,-113,-112,-32,-102,-101,34,34,34,-47,-48,34,-115,34,34,34,34,-92,34,34,34,34,-38,34,-49,34,34,-87,-93,-262,-103,-121,-120,34,34,34,34,34,-39,-41,-44,-40,-42,34,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,34,-175,-174,34,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'CONDOP':([112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,390,391,392,398,428,430,437,],[-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,257,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-201,-213,-202,-200,-204,-208,-203,-199,-206,-211,-197,-196,-205,-212,-207,-209,-210,-198,-221,-229,-230,-215,-245,-238,-239,]),'BREAK':([55,82,170,176,276,277,280,282,289,291,292,293,295,297,298,370,371,374,375,379,381,383,384,405,406,409,411,414,423,424,425,427,433,434,436,441,443,444,445,446,447,448,],[-261,-47,294,-262,-41,-44,-40,-42,294,-156,-155,-45,-157,294,-43,-175,-174,-172,294,-158,-171,-159,294,-170,-173,-162,294,-160,294,-161,294,294,-166,-165,-163,294,294,-167,-164,294,-169,-168,]),'VOLATILE':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,28,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,65,66,67,69,78,80,82,87,89,90,91,92,93,94,95,96,104,105,115,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[46,46,-63,-74,-73,-60,-56,-57,-35,-31,-61,46,-36,-55,-70,-65,-54,46,-58,-178,-111,-68,46,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,46,-69,46,-72,-76,46,-59,-86,-261,-85,46,-113,-112,-32,-102,-101,46,46,46,-124,46,46,-47,-48,46,-115,46,46,46,46,-92,46,46,46,-125,46,46,46,-38,46,-49,46,46,-87,-93,-262,-103,-121,-120,46,46,46,46,46,-39,-41,-44,-40,-42,46,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,46,-175,-174,46,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'INLINE':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,59,60,61,62,63,66,78,80,82,87,89,90,165,167,169,170,171,174,176,191,197,198,204,272,276,277,280,282,289,291,292,293,295,298,302,303,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[49,49,-63,-74,-73,-60,-56,-57,-35,-31,-61,49,-36,-55,-70,-65,-54,49,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,49,-69,49,-72,-76,49,-59,-86,-261,-85,-113,-112,-32,-102,-101,49,49,49,-47,-48,49,-115,49,49,-38,49,-49,-87,-262,-103,-121,-120,49,-39,-41,-44,-40,-42,49,-156,-155,-45,-157,-43,-89,-88,-105,-104,-116,-119,49,-175,-174,49,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'INT_CONST_BIN':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,115,119,127,128,134,135,137,139,141,142,144,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,309,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,429,432,433,434,436,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,118,118,-47,118,-28,-263,-125,-227,118,-225,118,-224,118,-223,118,118,-222,-226,-263,-223,118,118,118,-262,118,118,-223,118,118,-184,-187,-185,-181,-182,-186,-188,118,-190,-191,-183,-189,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,-12,118,118,-11,-223,-41,-44,-40,118,-42,118,118,-156,-155,-45,-157,118,-43,118,118,118,-263,-139,-175,-174,118,-172,118,118,-158,118,-171,-159,118,118,118,118,-263,118,118,-11,-170,-173,118,-162,118,-160,118,118,-161,118,118,118,-263,118,-166,-165,-163,118,118,118,-167,-164,118,-169,-168,]),'DO':([55,82,170,176,276,277,280,282,289,291,292,293,295,297,298,370,371,374,375,379,381,383,384,405,406,409,411,414,423,424,425,427,433,434,436,441,443,444,445,446,447,448,],[-261,-47,297,-262,-41,-44,-40,-42,297,-156,-155,-45,-157,297,-43,-175,-174,-172,297,-158,-171,-159,297,-170,-173,-162,297,-160,297,-161,297,297,-166,-165,-163,297,297,-167,-164,297,-169,-168,]),'LNOT':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,115,119,127,128,134,135,137,139,141,142,144,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,309,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,429,432,433,434,436,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,119,119,-47,119,-28,-263,-125,-227,119,-225,119,-224,119,-223,119,119,-222,-226,-263,-223,119,119,119,-262,119,119,-223,119,119,-184,-187,-185,-181,-182,-186,-188,119,-190,-191,-183,-189,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,-12,119,119,-11,-223,-41,-44,-40,119,-42,119,119,-156,-155,-45,-157,119,-43,119,119,119,-263,-139,-175,-174,119,-172,119,119,-158,119,-171,-159,119,119,119,119,-263,119,119,-11,-170,-173,119,-162,119,-160,119,119,-161,119,119,119,-263,119,-166,-165,-163,119,119,119,-167,-164,119,-169,-168,]),'CONST':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,28,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,65,66,67,69,78,80,82,87,89,90,91,92,93,94,95,96,104,105,115,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[3,3,-63,-74,-73,-60,-56,-57,-35,-31,-61,3,-36,-55,-70,-65,-54,3,-58,-178,-111,-68,3,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,3,-69,3,-72,-76,3,-59,-86,-261,-85,3,-113,-112,-32,-102,-101,3,3,3,-124,3,3,-47,-48,3,-115,3,3,3,3,-92,3,3,3,-125,3,3,3,-38,3,-49,3,3,-87,-93,-262,-103,-121,-120,3,3,3,3,3,-39,-41,-44,-40,-42,3,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,3,-175,-174,3,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'LOR':([112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,390,391,392,398,428,430,437,],[-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,242,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-201,-213,-202,-200,-204,-208,-203,-199,-206,-211,-197,-196,-205,-212,-207,-209,-210,-198,-221,-229,-230,-215,-245,-238,-239,]),'CHAR_CONST':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,115,119,127,128,134,135,137,139,141,142,144,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,309,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,429,432,433,434,436,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,122,122,-47,122,-28,-263,-125,-227,122,-225,122,-224,122,-223,122,122,-222,-226,-263,-223,122,122,122,-262,122,122,-223,122,122,-184,-187,-185,-181,-182,-186,-188,122,-190,-191,-183,-189,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,-12,122,122,-11,-223,-41,-44,-40,122,-42,122,122,-156,-155,-45,-157,122,-43,122,122,122,-263,-139,-175,-174,122,-172,122,122,-158,122,-171,-159,122,122,122,122,-263,122,122,-11,-170,-173,122,-162,122,-160,122,122,-161,122,122,122,-263,122,-166,-165,-163,122,122,122,-167,-164,122,-169,-168,]),'LSHIFT':([112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,390,391,392,398,428,430,437,],[-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,243,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-201,243,-202,-200,243,243,243,-199,243,243,-197,-196,243,243,243,243,243,-198,-221,-229,-230,-215,-245,-238,-239,]),'RBRACE':([55,82,93,95,100,101,102,112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,151,155,156,170,172,173,175,176,188,189,190,218,220,221,222,224,231,232,234,240,261,265,268,276,277,280,282,289,291,292,293,295,296,298,299,305,307,308,312,313,321,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,359,362,363,370,371,374,379,381,383,390,391,392,398,404,405,406,409,414,418,419,420,424,428,429,430,433,434,436,437,444,445,447,448,],[-261,-47,176,-92,-106,176,-109,-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,-193,-254,-250,-179,-263,-134,-263,176,176,-93,-262,176,176,-107,-260,-220,-258,-237,-236,-214,-219,-217,-218,176,-20,-19,-41,-44,-40,-42,-6,-156,-155,-45,-157,-5,-43,176,-192,-94,-95,-108,-110,-180,-235,-234,-233,-232,-231,-244,-201,-213,-202,-200,-204,-208,-203,-199,-206,-211,-197,-196,-205,-212,-207,-209,-210,-198,-135,176,-137,-175,-174,-172,-158,-171,-159,-221,-229,-230,-215,-136,-170,-173,-162,-160,176,-194,-138,-161,-245,176,-238,-166,-165,-163,-239,-167,-164,-169,-168,]),'_BOOL':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,66,78,80,82,87,89,90,91,92,93,94,95,96,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[13,13,-63,-74,-73,-60,-56,-57,-35,-31,-61,13,-36,-55,-70,-65,-54,13,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,13,-69,13,-72,-76,13,-59,-86,-261,-85,13,-113,-112,-32,-102,-101,13,13,13,-47,-48,13,-115,13,13,13,13,-92,13,13,13,13,-38,13,-49,13,13,-87,-93,-262,-103,-121,-120,13,13,13,13,13,-39,-41,-44,-40,-42,13,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,13,-175,-174,13,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'LE':([112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,390,391,392,398,428,430,437,],[-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,245,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-201,245,-202,-200,-204,245,-203,-199,-206,245,-197,-196,-205,245,245,245,245,-198,-221,-229,-230,-215,-245,-238,-239,]),'SEMI':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,49,50,51,52,54,55,56,58,59,60,61,62,63,67,68,69,70,71,73,74,75,76,79,80,81,82,83,84,86,90,94,96,97,112,115,116,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,151,153,154,156,166,168,169,170,174,176,177,178,179,180,182,183,184,185,186,187,191,197,198,205,218,220,221,222,224,228,231,232,234,235,238,240,269,270,271,272,276,277,279,280,281,282,284,285,289,291,292,293,294,295,296,297,298,300,302,303,304,305,310,311,314,315,321,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,359,366,367,368,369,370,371,372,373,374,375,378,379,381,383,384,386,387,388,389,390,391,392,397,398,404,405,406,407,408,409,411,414,419,421,422,423,424,425,427,428,430,431,433,434,436,437,440,441,443,444,445,446,447,448,],[15,-263,-63,-74,-73,-60,-56,-57,-35,-31,-61,-263,-36,-55,-70,-65,-54,15,-58,-178,-111,-68,-263,-71,-263,-34,-75,-114,-66,-33,-62,-37,-64,-67,82,-263,-69,-263,-72,-76,-59,-52,-9,-10,-86,-261,-85,-51,-113,-112,-32,-102,-101,-28,-122,-124,-27,-18,-46,-145,-77,-17,-80,-81,-147,-47,-50,-53,-263,-115,-263,-263,-263,-248,-125,-123,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,-193,-254,-250,-179,-146,-79,-134,-145,-81,-38,-263,-87,-262,-23,-84,-24,-83,-26,307,-96,308,-25,-98,-103,-121,-120,-78,-260,-220,-258,-237,-236,-150,-214,-219,-217,-152,-176,-218,-154,-148,-82,-39,-41,-44,370,-40,371,-42,374,-14,-263,-156,-155,-45,381,-157,-13,-263,-43,-248,-89,-88,-100,-192,-105,-104,-116,-119,-180,-235,-234,-233,-232,-231,-244,-201,-213,-202,-200,-204,-208,-203,-199,-206,-211,-197,-196,-205,-212,-207,-209,-210,-198,-135,-149,-151,-153,405,-175,-174,406,-263,-172,-263,-13,-158,-171,-159,-263,-97,-99,-118,-117,-221,-229,-230,-177,-215,-136,-170,-173,421,-263,-162,-263,-160,-194,-263,432,-263,-161,-263,-263,-245,-238,438,-166,-165,-163,-239,444,-263,-263,-167,-164,-263,-169,-168,]),'LT':([112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,390,391,392,398,428,430,437,],[-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,247,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-201,247,-202,-200,-204,247,-203,-199,-206,247,-197,-196,-205,247,247,247,247,-198,-221,-229,-230,-215,-245,-238,-239,]),'COMMA':([1,2,3,5,6,9,10,13,14,17,18,19,21,23,25,26,27,28,29,32,33,35,37,39,40,42,43,44,45,46,49,50,51,52,54,56,58,59,60,62,63,67,68,69,70,71,74,75,79,80,81,83,84,90,94,96,100,101,102,109,110,111,112,113,114,115,116,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,151,153,154,156,166,168,174,176,177,178,179,180,182,184,187,188,189,190,191,197,198,199,200,201,202,205,218,220,221,222,224,228,231,232,234,235,236,238,239,240,265,269,270,271,285,300,302,303,304,305,310,311,312,313,314,315,318,320,321,323,324,325,326,327,328,329,330,331,334,337,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,363,366,367,368,372,386,387,388,389,390,391,392,397,398,404,410,412,415,416,418,419,420,428,430,435,437,],[-263,-63,-74,-73,-60,-56,-57,-61,-263,-55,-70,-65,-54,-58,-178,-111,-68,-263,-71,-75,-114,-66,-62,-64,-67,-263,-69,-263,-72,-76,-59,-52,-9,-10,-86,-85,-51,-113,-112,-102,-101,-28,-122,-124,-27,117,-145,-77,-80,-81,-147,-50,-53,-115,-263,-263,-106,190,-109,-128,-263,203,-248,204,-132,-125,-123,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,-193,-254,-250,-179,-146,-79,-134,-145,-81,-87,-262,-23,-84,-24,-83,306,-96,-98,190,190,-107,-103,-121,-120,-131,-1,-2,-130,-78,-260,-220,-258,-237,-236,-150,-214,-219,-217,-152,335,-176,-263,-218,362,-154,-148,-82,335,-248,-89,-88,-100,-192,-105,-104,-108,-110,-116,-119,-133,-129,-180,-235,-234,-233,-232,335,-246,-231,393,394,-244,-144,-145,-201,-213,-202,-200,-204,-208,-203,-199,-206,-211,-197,-196,-205,-212,-207,-209,335,-210,-198,-135,-137,-149,-151,-153,335,-97,-99,-118,-117,-221,-229,-230,-177,-215,-136,335,335,335,-247,429,-194,-138,-245,-238,335,-239,]),'OFFSETOF':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,115,119,127,128,134,135,137,139,141,142,144,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,309,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,429,432,433,434,436,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,133,133,-47,133,-28,-263,-125,-227,133,-225,133,-224,133,-223,133,133,-222,-226,-263,-223,133,133,133,-262,133,133,-223,133,133,-184,-187,-185,-181,-182,-186,-188,133,-190,-191,-183,-189,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,-12,133,133,-11,-223,-41,-44,-40,133,-42,133,133,-156,-155,-45,-157,133,-43,133,133,133,-263,-139,-175,-174,133,-172,133,133,-158,133,-171,-159,133,133,133,133,-263,133,133,-11,-170,-173,133,-162,133,-160,133,133,-161,133,133,133,-263,133,-166,-165,-163,133,133,133,-167,-164,133,-169,-168,]),'TYPEDEF':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,59,60,61,62,63,66,78,80,82,87,89,90,165,167,169,170,171,174,176,191,197,198,204,272,276,277,280,282,289,291,292,293,295,298,302,303,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[23,23,-63,-74,-73,-60,-56,-57,-35,-31,-61,23,-36,-55,-70,-65,-54,23,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,23,-69,23,-72,-76,23,-59,-86,-261,-85,-113,-112,-32,-102,-101,23,23,23,-47,-48,23,-115,23,23,-38,23,-49,-87,-262,-103,-121,-120,23,-39,-41,-44,-40,-42,23,-156,-155,-45,-157,-43,-89,-88,-105,-104,-116,-119,23,-175,-174,23,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'XOR':([112,118,120,121,122,123,124,125,126,129,130,132,138,140,143,145,146,147,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,390,391,392,398,428,430,437,],[-248,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,-195,-251,-228,-257,-249,-240,250,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-201,250,-202,-200,-204,-208,-203,-199,-206,-211,-197,-196,-205,250,-207,-209,250,-198,-221,-229,-230,-215,-245,-238,-239,]),'AUTO':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,59,60,61,62,63,66,78,80,82,87,89,90,165,167,169,170,171,174,176,191,197,198,204,272,276,277,280,282,289,291,292,293,295,298,302,303,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[21,21,-63,-74,-73,-60,-56,-57,-35,-31,-61,21,-36,-55,-70,-65,-54,21,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,21,-69,21,-72,-76,21,-59,-86,-261,-85,-113,-112,-32,-102,-101,21,21,21,-47,-48,21,-115,21,21,-38,21,-49,-87,-262,-103,-121,-120,21,-39,-41,-44,-40,-42,21,-156,-155,-45,-157,-43,-89,-88,-105,-104,-116,-119,21,-175,-174,21,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'TIMES':([0,1,2,3,4,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,27,28,29,30,31,32,35,36,37,38,39,40,42,43,44,45,46,49,50,51,52,54,55,56,58,61,62,63,65,67,68,69,70,72,77,78,82,83,84,86,94,96,97,103,104,105,110,112,115,117,118,119,120,121,122,123,124,125,126,127,128,129,130,132,134,135,137,138,139,140,141,142,143,144,145,146,147,148,149,152,155,157,162,164,167,169,170,174,176,177,178,179,180,181,191,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,224,226,227,230,231,232,233,234,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,272,274,276,277,280,281,282,288,289,291,292,293,295,297,298,300,302,303,306,309,310,311,323,324,325,326,329,334,335,336,338,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,362,365,370,371,373,374,375,376,379,380,381,383,384,385,390,391,392,393,395,398,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,428,429,430,432,433,434,436,437,438,441,443,444,445,446,447,448,],[28,-263,-63,-74,28,-73,-60,-56,-57,-35,-31,-61,-263,-36,-55,-70,-65,-54,28,-58,-178,-68,-263,-71,28,-34,-75,-66,-33,-62,-37,-64,-67,-263,-69,-263,-72,-76,-59,-52,-9,-10,-86,-261,-85,-51,-32,-102,-101,-263,-28,28,-124,-27,139,157,28,-47,-50,-53,28,-263,-263,28,194,-28,-263,28,-248,-125,28,-252,-227,-214,-243,-255,-259,-256,-253,-241,157,-225,-242,-216,-195,157,-224,157,-251,-223,-228,157,157,-257,-222,-249,-240,252,-254,-250,-226,-263,-223,157,274,28,-38,157,-87,-262,-23,-84,-24,-83,157,-103,157,-223,157,157,-184,-187,-185,-181,-182,-186,-188,157,-190,-191,-183,-189,-260,157,-220,-258,-237,-236,157,157,157,-214,-219,157,-217,28,-218,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,-12,157,157,-11,-39,-223,-41,-44,-40,157,-42,157,157,-156,-155,-45,-157,157,-43,-248,-89,-88,28,157,-105,-104,-235,-234,-233,-232,-231,-244,157,157,28,252,252,252,252,252,252,252,252,252,252,-197,-196,252,252,252,252,252,-198,-263,-139,-175,-174,157,-172,157,157,-158,157,-171,-159,157,157,-221,-229,-230,157,157,-215,-263,157,157,-11,-170,-173,157,-162,157,-160,157,157,-161,157,157,157,-245,-263,-238,157,-166,-165,-163,-239,157,157,157,-167,-164,157,-169,-168,]),'LPAREN':([0,1,2,3,4,5,6,9,10,11,12,13,14,15,16,17,18,19,21,22,23,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,42,43,44,45,46,49,50,51,52,54,55,56,58,60,61,62,63,65,67,68,69,70,72,74,77,78,81,82,83,84,86,90,94,96,97,103,104,105,110,112,115,116,117,118,119,121,122,123,124,125,126,127,128,129,130,133,134,135,137,138,139,140,141,142,143,144,145,146,148,149,152,153,155,157,162,164,166,167,169,170,174,176,177,178,179,180,181,191,192,194,195,196,197,198,206,207,208,209,210,211,212,213,214,215,216,217,218,219,221,222,224,226,227,228,230,233,235,239,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,269,270,272,274,276,277,280,281,282,283,287,288,289,290,291,292,293,295,297,298,300,301,302,303,306,309,310,311,314,315,323,324,325,326,329,334,335,336,338,339,362,365,366,367,368,370,371,373,374,375,376,379,380,381,383,384,385,388,389,391,392,393,395,399,400,402,403,405,406,408,409,411,413,414,421,423,424,425,426,427,428,429,430,432,433,434,436,437,438,441,443,444,445,446,447,448,],[4,-263,-63,-74,4,-73,-60,-56,-57,-35,-31,-61,-263,-36,4,-55,-70,-65,-54,4,-58,-178,66,-68,-263,-71,78,-34,-75,-114,-66,-33,-62,-37,-64,-67,-263,-69,-263,-72,-76,-59,-52,-9,-10,-86,-261,-85,-51,66,-32,-102,-101,-263,-28,-122,-124,-27,141,78,141,78,165,-47,-50,-53,167,-115,-263,-263,167,141,-28,-263,78,-248,-125,-123,4,-252,-227,-243,-255,-259,-256,-253,-241,219,-225,-242,227,229,230,-224,233,-251,-223,-228,141,233,-257,-222,-249,-240,-254,-250,-226,165,-263,-223,141,141,167,167,-38,141,-87,-262,-23,-84,-24,-83,230,-103,230,-223,141,141,-121,-120,-184,-187,-185,-181,-182,-186,-188,141,-190,-191,-183,-189,-260,141,-258,-237,-236,141,141,-150,141,141,-152,338,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,141,230,230,-12,230,141,-11,-154,-148,-39,-223,-41,-44,-40,141,-42,373,376,230,141,380,-156,-155,-45,-157,141,-43,-248,385,-89,-88,4,230,-105,-104,-116,-119,-235,-234,-233,-232,-231,-244,141,230,338,338,-263,-139,-149,-151,-153,-175,-174,141,-172,141,141,-158,141,-171,-159,141,141,-118,-117,-229,-230,141,230,-263,230,141,-11,-170,-173,141,-162,141,426,-160,141,141,-161,141,141,141,-245,-263,-238,141,-166,-165,-163,-239,141,141,141,-167,-164,141,-169,-168,]),'MINUSMINUS':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,112,115,118,119,121,122,123,124,125,126,127,128,129,130,134,135,137,138,139,140,141,142,143,144,145,146,148,149,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,218,219,221,222,224,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,300,309,323,324,325,326,329,334,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,391,392,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,428,429,430,432,433,434,436,437,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,142,142,-47,142,-28,-263,-248,-125,-252,-227,-243,-255,-259,-256,-253,-241,142,-225,-242,222,142,-224,142,-251,-223,-228,142,142,-257,-222,-249,-240,-254,-250,-226,-263,-223,142,142,142,-262,142,142,-223,142,142,-184,-187,-185,-181,-182,-186,-188,142,-190,-191,-183,-189,-260,142,-258,-237,-236,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,-12,142,142,-11,-223,-41,-44,-40,142,-42,142,142,-156,-155,-45,-157,142,-43,-248,142,-235,-234,-233,-232,-231,-244,142,142,-263,-139,-175,-174,142,-172,142,142,-158,142,-171,-159,142,142,-229,-230,142,142,-263,142,142,-11,-170,-173,142,-162,142,-160,142,142,-161,142,142,142,-245,-263,-238,142,-166,-165,-163,-239,142,142,142,-167,-164,142,-169,-168,]),'ID':([0,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,34,35,36,37,38,39,40,42,43,44,45,46,49,50,51,52,54,55,56,58,61,62,63,64,65,66,67,68,69,70,72,74,77,78,82,83,84,86,94,96,97,98,99,103,104,105,110,115,116,117,119,127,128,134,135,137,139,141,142,144,152,155,157,162,164,166,167,169,170,174,176,177,178,179,180,181,190,191,192,194,195,196,203,206,207,208,209,210,211,212,213,214,215,216,217,219,223,225,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,263,264,266,268,272,274,276,277,278,280,281,282,288,289,291,292,293,295,297,298,302,303,306,309,310,311,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,393,394,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,429,432,433,434,436,438,441,443,444,445,446,447,448,],[33,-263,-63,-74,33,-73,-60,56,-56,-57,-35,-31,-61,-263,-36,33,-55,-70,-65,-91,-54,33,-58,63,-178,-68,-263,-71,33,-34,-75,-90,-66,-33,-62,-37,-64,-67,-263,-69,-263,-72,-76,-59,-52,-9,-10,-86,-261,-85,-51,-32,-102,-101,102,-263,112,-28,-122,-124,-27,112,33,112,33,-47,-50,-53,33,-263,-263,33,102,102,112,-28,-263,33,-125,-123,33,-227,112,-225,112,-224,112,-223,112,112,-222,-226,-263,-223,112,112,33,33,-38,300,-87,-262,-23,-84,-24,-83,112,102,-103,112,-223,112,112,112,-184,-187,-185,-181,-182,-186,-188,112,-190,-191,-183,-189,112,324,326,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,-12,112,112,112,-11,-39,-223,-41,-44,369,-40,112,-42,112,300,-156,-155,-45,-157,300,-43,-89,-88,33,112,-105,-104,112,112,-263,-139,-175,-174,112,-172,300,112,-158,112,-171,-159,300,112,112,112,112,-263,112,112,-11,-170,-173,112,-162,300,-160,112,300,-161,300,112,300,-263,112,-166,-165,-163,112,300,300,-167,-164,300,-169,-168,]),'IF':([55,82,170,176,276,277,280,282,289,291,292,293,295,297,298,370,371,374,375,379,381,383,384,405,406,409,411,414,423,424,425,427,433,434,436,441,443,444,445,446,447,448,],[-261,-47,301,-262,-41,-44,-40,-42,301,-156,-155,-45,-157,301,-43,-175,-174,-172,301,-158,-171,-159,301,-170,-173,-162,301,-160,301,-161,301,301,-166,-165,-163,301,301,-167,-164,301,-169,-168,]),'STRING_LITERAL':([3,32,46,55,65,67,69,70,72,77,82,103,104,105,115,119,127,128,129,134,135,137,139,141,142,143,144,152,155,157,162,164,170,176,181,192,194,195,196,206,207,208,209,210,211,212,213,214,215,216,217,219,221,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,264,266,268,274,276,277,280,281,282,288,289,291,292,293,295,297,298,309,335,336,362,365,370,371,373,374,375,376,379,380,381,383,384,385,393,395,399,400,402,403,405,406,408,409,411,414,421,423,424,425,426,427,429,432,433,434,436,438,441,443,444,445,446,447,448,],[-74,-75,-76,-261,-263,-28,-124,-27,143,143,-47,143,-28,-263,-125,-227,143,-225,221,143,-224,143,-223,143,143,-257,-222,-226,-263,-223,143,143,143,-262,143,143,-223,143,143,-184,-187,-185,-181,-182,-186,-188,143,-190,-191,-183,-189,143,-258,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,-12,143,143,-11,-223,-41,-44,-40,143,-42,143,143,-156,-155,-45,-157,143,-43,143,143,143,-263,-139,-175,-174,143,-172,143,143,-158,143,-171,-159,143,143,143,143,-263,143,143,-11,-170,-173,143,-162,143,-160,143,143,-161,143,143,143,-263,143,-166,-165,-163,143,143,143,-167,-164,143,-169,-168,]),'FLOAT':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,25,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,62,63,66,78,80,82,87,89,90,91,92,93,94,95,96,141,165,167,169,170,171,172,173,174,175,176,191,197,198,204,219,229,230,233,272,276,277,280,282,289,291,292,293,295,298,302,303,307,308,310,311,314,315,338,370,371,373,374,379,381,383,388,389,405,406,409,414,424,433,434,436,444,445,447,448,],[35,35,-63,-74,-73,-60,-56,-57,-35,-31,-61,35,-36,-55,-70,-65,-54,35,-58,-178,-111,-68,-71,-34,-75,-114,-66,-33,-62,-37,-64,-67,35,-69,35,-72,-76,35,-59,-86,-261,-85,35,-113,-112,-32,-102,-101,35,35,35,-47,-48,35,-115,35,35,35,35,-92,35,35,35,35,-38,35,-49,35,35,-87,-93,-262,-103,-121,-120,35,35,35,35,35,-39,-41,-44,-40,-42,35,-156,-155,-45,-157,-43,-89,-88,-94,-95,-105,-104,-116,-119,35,-175,-174,35,-172,-158,-171,-159,-118,-117,-170,-173,-162,-160,-161,-166,-165,-163,-167,-164,-169,-168,]),'XOREQUAL':([112,118,120,121,122,123,124,125,126,129,130,138,140,143,145,146,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,390,391,392,398,428,430,437,],[-248,-252,210,-243,-255,-259,-256,-253,-241,-242,-216,-251,-228,-257,-249,-240,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-221,-229,-230,-215,-245,-238,-239,]),'LSHIFTEQUAL':([112,118,120,121,122,123,124,125,126,129,130,138,140,143,145,146,148,149,176,218,220,221,222,224,231,232,234,240,300,323,324,325,326,329,334,390,391,392,398,428,430,437,],[-248,-252,212,-243,-255,-259,-256,-253,-241,-242,-216,-251,-228,-257,-249,-240,-254,-250,-262,-260,-220,-258,-237,-236,-214,-219,-217,-218,-248,-235,-234,-233,-232,-231,-244,-221,-229,-230,-215,-245,-238,-239,]),'RBRACKET':([3,32,46,65,69,70,72,103,104,112,115,118,120,121,122,123,124,125,126,129,130,131,132,136,138,139,140,143,145,146,147,148,149,150,151,164,176,193,194,218,220,221,222,224,231,232,234,238,240,273,274,305,316,317,321,323,324,325,326,327,329,334,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,361,390,391,392,397,398,419,428,430,437,],[-74,-75,-76,-263,-124,-27,-263,-263,-28,-248,-125,-252,-214,-243,-255,-259,-256,-253,-241,-242,-216,228,-195,-4,-251,235,-228,-257,-249,-240,-193,-254,-250,-3,-179,-263,-262,314,315,-260,-220,-258,-237,-236,-214,-219,-217,-176,-218,366,367,-192,388,389,-180,-235,-234,-233,-232,391,-231,-244,-201,-213,-202,-200,-204,-208,-203,-199,-206,-211,-197,-196,-205,-212,-207,-209,-210,-198,401,-221,-229,-230,-177,-215,-194,-245,-238,-239,]),}
 
 _lr_action = { }
 for _k, _v in _lr_action_items.items():
@@ -16,7 +16,7 @@
       _lr_action[_x][_k] = _y
 del _lr_action_items
 
-_lr_goto_items = {'storage_class_specifier':([0,1,14,22,42,44,48,63,76,78,89,162,164,167,245,282,319,361,],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,]),'identifier_list_opt':([63,],[132,]),'parameter_declaration':([63,78,162,164,245,319,],[135,135,135,135,342,135,]),'selection_statement':([167,282,290,363,372,395,406,408,410,423,425,428,],[291,291,291,291,291,291,291,291,291,291,291,291,]),'constant':([62,72,77,106,112,115,119,120,151,161,167,178,192,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,259,260,274,281,282,290,302,316,317,361,363,364,368,372,373,379,380,385,387,392,395,404,406,408,409,410,414,420,423,425,428,],[105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,]),'unary_expression':([62,72,77,106,112,115,119,120,151,161,167,178,192,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,259,260,274,281,282,290,302,316,317,361,363,364,368,372,373,379,380,385,387,392,395,404,406,408,409,410,414,420,423,425,428,],[99,99,99,199,209,212,99,218,99,99,99,209,99,99,99,99,99,99,209,209,209,209,209,209,209,209,209,209,209,209,209,209,209,209,99,209,209,209,209,99,99,209,99,99,209,99,209,99,99,99,99,99,99,99,209,209,99,99,99,99,99,99,99,99,99,99,99,99,99,]),'conditional_expression':([62,72,77,119,151,161,167,178,192,198,205,206,208,211,235,250,259,260,274,281,282,290,302,316,361,363,364,368,372,373,379,385,387,392,395,404,406,408,409,410,414,420,423,425,428,],[130,130,130,130,130,130,130,298,130,130,130,130,130,130,130,298,298,130,130,298,130,130,298,130,130,130,130,130,130,130,130,402,130,130,130,130,130,130,130,130,130,130,130,130,130,]),'brace_close':([93,143,169,170,246,247,262,292,350,401,411,],[171,249,295,296,343,344,351,371,388,412,419,]),'struct_or_union_specifier':([0,1,14,22,42,44,48,57,63,76,78,89,91,92,93,94,96,119,162,164,167,169,170,198,208,211,245,282,319,361,],[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,]),'unified_wstring_literal':([62,72,77,106,112,115,119,120,151,161,167,178,192,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,259,260,274,281,282,290,302,316,317,361,363,364,368,372,373,379,380,385,387,392,395,404,406,408,409,410,414,420,423,425,428,],[100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,]),'abstract_declarator_opt':([136,217,],[240,318,]),'iteration_statement':([167,282,290,363,372,395,406,408,410,423,425,428,],[270,270,270,270,270,270,270,270,270,270,270,270,]),'init_declarator_list':([30,86,],[71,71,]),'translation_unit_or_empty':([0,],[8,]),'struct_declaration_list':([57,91,92,],[93,169,170,]),'block_item_list_opt':([167,],[292,]),'enumerator':([66,140,141,248,],[142,142,142,345,]),'pp_directive':([0,22,],[11,11,]),'abstract_declarator':([30,78,86,97,136,164,217,319,],[79,160,79,182,241,160,241,160,]),'declaration_specifiers_opt':([1,14,42,44,],[50,58,83,84,]),'external_declaration':([0,22,],[12,61,]),'type_specifier':([0,1,14,22,42,44,48,57,63,76,78,89,91,92,93,94,96,119,162,164,167,169,170,198,208,211,245,282,319,361,],[14,14,14,14,14,14,14,94,14,14,14,14,94,94,94,94,94,94,14,14,14,94,94,94,94,94,14,14,14,14,]),'designation':([154,350,384,411,],[256,256,256,256,]),'compound_statement':([88,152,167,282,290,363,372,395,406,408,410,423,425,428,],[166,255,275,275,275,275,275,275,275,275,275,275,275,275,]),'pointer':([0,4,22,30,68,78,86,97,136,147,164,217,299,319,],[16,16,16,74,146,74,163,163,74,16,163,320,16,320,]),'type_name':([119,198,208,211,],[215,304,313,314,]),'unified_string_literal':([62,72,77,106,112,115,119,120,151,161,167,178,192,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,259,260,274,281,282,290,302,316,317,361,363,364,368,372,373,379,380,385,387,392,395,404,406,408,409,410,414,420,423,425,428,],[108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,]),'postfix_expression':([62,72,77,106,112,115,119,120,151,161,167,178,192,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,259,260,274,281,282,290,302,316,317,361,363,364,368,372,373,379,380,385,387,392,395,404,406,408,409,410,414,420,423,425,428,],[109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,]),'assignment_expression_opt':([62,72,161,],[110,148,266,]),'designation_opt':([154,350,384,411,],[260,387,260,387,]),'expression_statement':([167,282,290,363,372,395,406,408,410,423,425,428,],[269,269,269,269,269,269,269,269,269,269,269,269,]),'unary_operator':([62,72,77,106,112,115,119,120,151,161,167,178,192,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,259,260,274,281,282,290,302,316,317,361,363,364,368,372,373,379,380,385,387,392,395,404,406,408,409,410,414,420,423,425,428,],[112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,]),'cast_expression':([62,72,77,112,119,151,161,167,178,192,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,259,260,274,281,282,290,302,316,317,361,363,364,368,372,373,379,380,385,387,392,395,404,406,408,409,410,414,420,423,425,428,],[111,111,111,210,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,383,111,111,111,111,111,111,111,383,111,111,111,111,111,111,111,111,111,111,111,111,111,111,]),'init_declarator':([30,86,147,],[80,80,251,]),'struct_declarator_list':([97,],[179,]),'brace_open':([7,26,54,56,64,65,77,88,151,152,167,260,282,290,317,363,372,376,380,381,387,395,406,408,410,423,425,428,],[57,66,91,92,140,141,154,167,154,167,167,154,167,167,384,167,167,384,384,384,154,167,167,167,167,167,167,167,]),'assignment_operator':([99,],[192,]),'struct_or_union':([0,1,14,22,42,44,48,57,63,76,78,89,91,92,93,94,96,119,162,164,167,169,170,198,208,211,245,282,319,361,],[7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,]),'identifier':([62,63,72,77,106,112,115,119,120,151,161,167,178,192,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,244,250,258,259,260,274,281,282,290,302,316,317,361,363,364,368,372,373,379,380,385,387,392,395,404,406,408,409,410,414,420,423,425,428,],[125,139,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,340,125,347,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,]),'struct_declaration':([57,91,92,93,169,170,],[95,95,95,172,172,172,]),'assignment_expression':([62,72,77,119,151,161,167,192,198,205,206,208,211,235,260,274,282,290,316,361,363,364,368,372,373,379,387,392,395,404,406,408,409,410,414,420,423,425,428,],[114,114,155,216,155,114,216,303,216,216,310,216,216,216,155,216,216,216,382,216,216,216,216,216,216,400,155,216,216,216,216,216,216,216,216,216,216,216,216,]),'parameter_type_list':([63,78,162,164,319,],[134,158,158,158,158,]),'type_qualifier_list_opt':([28,],[68,]),'direct_declarator':([0,4,16,22,30,74,78,86,97,136,147,163,164,299,],[25,25,60,25,25,60,25,25,25,25,25,60,25,25,]),'type_qualifier_list':([28,],[67,]),'designator':([154,263,350,384,411,],[257,352,257,257,257,]),'argument_expression_list':([206,],[312,]),'initializer':([77,151,260,387,],[153,254,349,403,]),'specifier_qualifier_list_opt':([94,96,],[175,177,]),'constant_expression':([178,250,259,281,302,],[297,346,348,365,375,]),'expression_opt':([167,282,290,361,363,372,392,395,404,406,408,410,414,420,423,425,428,],[272,272,272,391,272,272,405,272,413,272,272,272,421,424,272,272,272,]),'primary_expression':([62,72,77,106,112,115,119,120,151,161,167,178,192,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,259,260,274,281,282,290,302,316,317,361,363,364,368,372,373,379,380,385,387,392,395,404,406,408,409,410,414,420,423,425,428,],[118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,]),'declaration_specifiers':([0,1,14,22,42,44,48,63,76,78,89,162,164,167,245,282,319,361,],[30,52,52,30,52,52,86,136,86,136,86,136,136,86,136,86,136,86,]),'declaration':([0,22,48,76,89,167,282,361,],[31,31,87,87,168,285,285,392,]),'struct_declarator_list_opt':([97,],[180,]),'identifier_list':([63,],[137,]),'typedef_name':([0,1,14,22,42,44,48,57,63,76,78,89,91,92,93,94,96,119,162,164,167,169,170,198,208,211,245,282,319,361,],[29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,]),'parameter_type_list_opt':([78,162,164,319,],[159,268,159,159,]),'jump_statement':([167,282,290,363,372,395,406,408,410,423,425,428,],[286,286,286,286,286,286,286,286,286,286,286,286,]),'declaration_list_opt':([48,76,],[88,152,]),'struct_declarator':([97,299,],[181,374,]),'function_definition':([0,22,],[36,36,]),'binary_expression':([62,72,77,119,151,161,167,178,192,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,259,260,274,281,282,290,302,316,361,363,364,368,372,373,379,385,387,392,395,404,406,408,409,410,414,420,423,425,428,],[126,126,126,126,126,126,126,126,126,126,126,126,126,126,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,126,338,339,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,]),'parameter_list':([63,78,162,164,319,],[138,138,138,138,138,]),'init_declarator_list_opt':([30,86,],[73,73,]),'enum_specifier':([0,1,14,22,42,44,48,57,63,76,78,89,91,92,93,94,96,119,162,164,167,169,170,198,208,211,245,282,319,361,],[45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,]),'decl_body':([0,22,48,76,89,167,282,361,],[41,41,41,41,41,41,41,41,]),'type_qualifier':([0,1,14,22,28,42,44,48,57,63,67,76,78,89,91,92,93,94,96,119,162,164,167,169,170,198,208,211,245,282,319,361,],[42,42,42,42,69,42,42,42,96,42,145,42,42,42,96,96,96,96,96,96,42,42,42,96,96,96,96,96,42,42,42,42,]),'statement':([167,282,290,363,372,395,406,408,410,423,425,428,],[284,284,370,393,398,407,415,416,418,427,429,430,]),'enumerator_list':([66,140,141,],[143,246,247,]),'labeled_statement':([167,282,290,363,372,395,406,408,410,423,425,428,],[273,273,273,273,273,273,273,273,273,273,273,273,]),'function_specifier':([0,1,14,22,42,44,48,63,76,78,89,162,164,167,245,282,319,361,],[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,]),'specifier_qualifier_list':([57,91,92,93,94,96,119,169,170,198,208,211,],[97,97,97,97,176,176,217,97,97,217,217,217,]),'block_item':([167,282,],[288,367,]),'block_item_list':([167,],[282,]),'empty':([0,1,14,28,30,42,44,48,62,63,72,76,78,86,94,96,97,136,154,161,162,164,167,217,282,290,319,350,361,363,372,384,392,395,404,406,408,410,411,414,420,423,425,428,],[47,51,51,70,75,51,51,85,129,133,129,85,157,75,174,174,183,243,261,129,157,157,289,243,366,366,157,261,366,366,366,261,366,366,366,366,366,366,261,366,366,366,366,366,]),'translation_unit':([0,],[22,]),'initializer_list':([154,384,],[262,401,]),'declarator':([0,4,22,30,78,86,97,136,147,164,299,],[48,53,48,76,53,165,184,242,165,53,184,]),'direct_abstract_declarator':([30,74,78,86,97,136,163,164,217,319,320,],[81,150,81,81,81,81,150,81,81,81,150,]),'designator_list':([154,350,384,411,],[263,263,263,263,]),'declaration_list':([48,76,],[89,89,]),'expression':([119,167,198,205,208,211,235,274,282,290,361,363,364,368,372,373,392,395,404,406,408,409,410,414,420,423,425,428,],[214,278,214,309,214,214,337,360,278,278,278,278,394,396,278,399,278,278,278,278,278,417,278,278,278,278,278,278,]),}
+_lr_goto_items = {'storage_class_specifier':([0,1,14,22,42,44,48,66,78,80,89,165,167,170,204,289,338,373,],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,]),'identifier_list_opt':([66,],[106,]),'selection_statement':([170,289,297,375,384,411,423,425,427,441,443,446,],[298,298,298,298,298,298,298,298,298,298,298,298,]),'constant':([72,77,103,127,134,137,141,142,162,164,170,181,192,195,196,213,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,264,266,281,288,289,297,309,335,336,373,375,376,380,384,385,393,395,400,402,408,411,421,423,425,426,427,432,438,441,443,446,],[126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,]),'unary_expression':([72,77,103,127,134,137,141,142,162,164,170,181,192,195,196,213,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,264,266,281,288,289,297,309,335,336,373,375,376,380,384,385,393,395,400,402,408,411,421,423,425,426,427,432,438,441,443,446,],[120,120,120,220,231,234,120,240,120,120,120,231,231,120,120,120,120,120,120,120,120,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,120,231,231,231,120,120,231,120,120,231,120,231,120,120,120,120,120,120,120,231,231,120,120,120,120,120,120,120,120,120,120,120,120,120,]),'conditional_expression':([72,77,103,141,162,164,170,181,192,195,196,213,219,226,227,230,233,257,264,266,281,288,289,297,309,335,373,375,376,380,384,385,393,400,402,408,411,421,423,425,426,427,432,438,441,443,446,],[151,151,151,151,151,151,151,305,305,151,151,151,151,151,151,151,151,151,305,151,151,305,151,151,305,151,151,151,151,151,151,151,151,419,151,151,151,151,151,151,151,151,151,151,151,151,151,]),'brace_close':([93,101,172,173,188,189,261,299,362,418,429,],[174,191,302,303,310,311,359,383,404,430,437,]),'struct_or_union_specifier':([0,1,14,22,42,44,48,57,66,78,80,89,91,92,93,94,96,141,165,167,170,172,173,204,219,229,230,233,289,338,373,],[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,]),'unified_wstring_literal':([72,77,103,127,134,137,141,142,162,164,170,181,192,195,196,213,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,264,266,281,288,289,297,309,335,336,373,375,376,380,384,385,393,395,400,402,408,411,421,423,425,426,427,432,438,441,443,446,],[121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,]),'abstract_declarator_opt':([110,239,],[199,337,]),'iteration_statement':([170,289,297,375,384,411,423,425,427,441,443,446,],[277,277,277,277,277,277,277,277,277,277,277,277,]),'init_declarator_list':([30,86,],[71,71,]),'translation_unit_or_empty':([0,],[8,]),'struct_declaration_list':([57,91,92,],[93,172,173,]),'block_item_list_opt':([170,],[299,]),'enumerator':([64,98,99,190,],[100,100,100,312,]),'pp_directive':([0,22,],[11,11,]),'abstract_declarator':([30,78,86,97,110,167,239,338,],[79,161,79,185,201,161,201,161,]),'declaration_specifiers_opt':([1,14,42,44,],[50,58,83,84,]),'external_declaration':([0,22,],[12,61,]),'type_specifier':([0,1,14,22,42,44,48,57,66,78,80,89,91,92,93,94,96,141,165,167,170,172,173,204,219,229,230,233,289,338,373,],[14,14,14,14,14,14,14,94,14,14,14,14,94,94,94,94,94,94,14,14,14,94,94,14,94,94,94,94,14,14,14,]),'designation':([155,362,399,429,],[260,260,260,260,]),'compound_statement':([88,163,170,289,297,375,384,411,423,425,427,441,443,446,],[169,272,282,282,282,282,282,282,282,282,282,282,282,282,]),'pointer':([0,4,22,30,68,78,86,97,110,117,167,239,306,338,],[16,16,16,74,116,74,166,166,74,16,166,339,16,339,]),'type_name':([141,219,229,230,233,],[237,322,331,332,333,]),'unified_string_literal':([72,77,103,127,134,137,141,142,162,164,170,181,192,195,196,213,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,264,266,281,288,289,297,309,335,336,373,375,376,380,384,385,393,395,400,402,408,411,421,423,425,426,427,432,438,441,443,446,],[129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,]),'postfix_expression':([72,77,103,127,134,137,141,142,162,164,170,181,192,195,196,213,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,264,266,281,288,289,297,309,335,336,373,375,376,380,384,385,393,395,400,402,408,411,421,423,425,426,427,432,438,441,443,446,],[130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,]),'assignment_expression_opt':([72,103,164,],[131,193,273,]),'designation_opt':([155,362,399,429,],[266,402,266,402,]),'expression_statement':([170,289,297,375,384,411,423,425,427,441,443,446,],[276,276,276,276,276,276,276,276,276,276,276,276,]),'parameter_declaration':([66,78,165,167,204,338,],[109,109,109,109,320,109,]),'initializer_list_opt':([155,],[261,]),'cast_expression':([72,77,103,134,141,162,164,170,181,192,195,196,213,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,264,266,281,288,289,297,309,335,336,373,375,376,380,384,385,393,395,400,402,408,411,421,423,425,426,427,432,438,441,443,446,],[132,132,132,232,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,398,132,132,132,132,132,132,132,398,132,132,132,132,132,132,132,132,132,132,132,132,132,132,]),'init_declarator':([30,86,117,],[75,75,205,]),'struct_declarator_list':([97,],[182,]),'unary_operator':([72,77,103,127,134,137,141,142,162,164,170,181,192,195,196,213,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,264,266,281,288,289,297,309,335,336,373,375,376,380,384,385,393,395,400,402,408,411,421,423,425,426,427,432,438,441,443,446,],[134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,]),'brace_open':([7,24,54,56,62,63,77,88,162,163,170,266,289,297,336,375,384,390,395,396,402,411,423,425,427,441,443,446,],[57,64,91,92,98,99,155,170,155,170,170,155,170,170,399,170,170,399,399,399,155,170,170,170,170,170,170,170,]),'assignment_operator':([120,],[213,]),'struct_or_union':([0,1,14,22,42,44,48,57,66,78,80,89,91,92,93,94,96,141,165,167,170,172,173,204,219,229,230,233,289,338,373,],[7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,]),'identifier':([66,72,77,103,127,134,137,141,142,162,164,170,181,192,195,196,203,213,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,263,264,266,281,288,289,297,309,335,336,373,375,376,380,384,385,393,394,395,400,402,408,411,421,423,425,426,427,432,438,441,443,446,],[114,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,318,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,360,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,417,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,]),'struct_declaration':([57,91,92,93,172,173,],[95,95,95,175,175,175,]),'assignment_expression':([72,77,103,141,162,164,170,195,196,213,219,226,227,230,233,257,266,281,289,297,335,373,375,376,380,384,385,393,402,408,411,421,423,425,426,427,432,438,441,443,446,],[136,156,136,238,156,136,238,316,317,321,238,238,328,238,238,238,156,238,238,238,397,238,238,238,238,238,238,416,156,238,238,238,238,238,238,238,238,238,238,238,238,]),'parameter_type_list':([66,78,165,167,338,],[108,159,159,159,159,]),'type_qualifier_list_opt':([28,65,105,],[68,103,196,]),'direct_declarator':([0,4,16,22,30,74,78,86,97,110,117,166,167,306,],[26,26,60,26,26,60,26,26,26,26,26,60,26,26,]),'type_qualifier_list':([28,65,105,],[67,104,67,]),'designator':([155,267,362,399,429,],[262,364,262,262,262,]),'argument_expression_list':([227,],[330,]),'initializer':([77,162,266,402,],[154,271,363,420,]),'specifier_qualifier_list_opt':([94,96,],[178,180,]),'constant_expression':([181,192,264,288,309,],[304,313,361,377,387,]),'expression_opt':([170,289,297,373,375,384,408,411,421,423,425,427,432,438,441,443,446,],[279,279,279,407,279,279,422,279,431,279,279,279,439,442,279,279,279,]),'primary_expression':([72,77,103,127,134,137,141,142,162,164,170,181,192,195,196,213,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,264,266,281,288,289,297,309,335,336,373,375,376,380,384,385,393,395,400,402,408,411,421,423,425,426,427,432,438,441,443,446,],[140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,]),'declaration_specifiers':([0,1,14,22,42,44,48,66,78,80,89,165,167,170,204,289,338,373,],[30,52,52,30,52,52,86,110,110,86,86,110,110,86,110,86,110,86,]),'declaration':([0,22,48,80,89,170,289,373,],[31,31,87,87,171,292,292,408,]),'struct_declarator_list_opt':([97,],[183,]),'identifier_list':([66,],[111,]),'typedef_name':([0,1,14,22,42,44,48,57,66,78,80,89,91,92,93,94,96,141,165,167,170,172,173,204,219,229,230,233,289,338,373,],[29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,]),'parameter_type_list_opt':([78,165,167,338,],[160,275,160,160,]),'jump_statement':([170,289,297,375,384,411,423,425,427,441,443,446,],[293,293,293,293,293,293,293,293,293,293,293,293,]),'declaration_list_opt':([48,80,],[88,163,]),'struct_declarator':([97,306,],[184,386,]),'function_definition':([0,22,],[36,36,]),'binary_expression':([72,77,103,141,162,164,170,181,192,195,196,213,219,226,227,230,233,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,264,266,281,288,289,297,309,335,373,375,376,380,384,385,393,400,402,408,411,421,423,425,426,427,432,438,441,443,446,],[147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,147,357,358,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,]),'parameter_list':([66,78,165,167,338,],[113,113,113,113,113,]),'init_declarator_list_opt':([30,86,],[73,73,]),'enum_specifier':([0,1,14,22,42,44,48,57,66,78,80,89,91,92,93,94,96,141,165,167,170,172,173,204,219,229,230,233,289,338,373,],[45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,]),'decl_body':([0,22,48,80,89,170,289,373,],[41,41,41,41,41,41,41,41,]),'type_qualifier':([0,1,14,22,28,42,44,48,57,65,66,67,78,80,89,91,92,93,94,96,104,105,141,165,167,170,172,173,204,219,229,230,233,289,338,373,],[42,42,42,42,69,42,42,42,96,69,42,115,42,42,42,96,96,96,96,96,115,69,96,42,42,42,96,96,42,96,96,96,96,42,42,42,]),'statement':([170,289,297,375,384,411,423,425,427,441,443,446,],[291,291,382,409,414,424,433,434,436,445,447,448,]),'enumerator_list':([64,98,99,],[101,188,189,]),'labeled_statement':([170,289,297,375,384,411,423,425,427,441,443,446,],[280,280,280,280,280,280,280,280,280,280,280,280,]),'function_specifier':([0,1,14,22,42,44,48,66,78,80,89,165,167,170,204,289,338,373,],[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,]),'specifier_qualifier_list':([57,91,92,93,94,96,141,172,173,219,229,230,233,],[97,97,97,97,179,179,239,97,97,239,239,239,239,]),'block_item':([170,289,],[295,379,]),'block_item_list':([170,],[289,]),'empty':([0,1,14,28,30,42,44,48,65,66,72,78,80,86,94,96,97,103,105,110,155,164,165,167,170,239,289,297,338,362,373,375,384,399,408,411,421,423,425,427,429,432,438,441,443,446,],[47,51,51,70,76,51,51,85,70,107,150,158,85,76,177,177,186,150,70,200,268,150,158,158,296,200,378,378,158,403,378,378,378,403,378,378,378,378,378,378,403,378,378,378,378,378,]),'translation_unit':([0,],[22,]),'initializer_list':([155,399,],[265,418,]),'declarator':([0,4,22,30,78,86,97,110,117,167,306,],[48,53,48,80,53,168,187,202,168,53,187,]),'direct_abstract_declarator':([30,74,78,86,97,110,166,167,239,338,339,],[81,153,81,81,81,81,153,81,81,81,153,]),'designator_list':([155,362,399,429,],[267,267,267,267,]),'declaration_list':([48,80,],[89,89,]),'expression':([141,170,219,226,230,233,257,281,289,297,373,375,376,380,384,385,408,411,421,423,425,426,427,432,438,441,443,446,],[236,285,236,327,236,236,356,372,285,285,285,285,410,412,285,415,285,285,285,285,285,435,285,285,285,285,285,285,]),}
 
 _lr_goto = { }
 for _k, _v in _lr_goto_items.items():
@@ -26,261 +26,267 @@
 del _lr_goto_items
 _lr_productions = [
   ("S' -> translation_unit_or_empty","S'",1,None,None,None),
-  ('abstract_declarator_opt -> empty','abstract_declarator_opt',1,'p_abstract_declarator_opt','../pycparser/plyparser.py',41),
-  ('abstract_declarator_opt -> abstract_declarator','abstract_declarator_opt',1,'p_abstract_declarator_opt','../pycparser/plyparser.py',42),
-  ('assignment_expression_opt -> empty','assignment_expression_opt',1,'p_assignment_expression_opt','../pycparser/plyparser.py',41),
-  ('assignment_expression_opt -> assignment_expression','assignment_expression_opt',1,'p_assignment_expression_opt','../pycparser/plyparser.py',42),
-  ('block_item_list_opt -> empty','block_item_list_opt',1,'p_block_item_list_opt','../pycparser/plyparser.py',41),
-  ('block_item_list_opt -> block_item_list','block_item_list_opt',1,'p_block_item_list_opt','../pycparser/plyparser.py',42),
-  ('declaration_list_opt -> empty','declaration_list_opt',1,'p_declaration_list_opt','../pycparser/plyparser.py',41),
-  ('declaration_list_opt -> declaration_list','declaration_list_opt',1,'p_declaration_list_opt','../pycparser/plyparser.py',42),
-  ('declaration_specifiers_opt -> empty','declaration_specifiers_opt',1,'p_declaration_specifiers_opt','../pycparser/plyparser.py',41),
-  ('declaration_specifiers_opt -> declaration_specifiers','declaration_specifiers_opt',1,'p_declaration_specifiers_opt','../pycparser/plyparser.py',42),
-  ('designation_opt -> empty','designation_opt',1,'p_designation_opt','../pycparser/plyparser.py',41),
-  ('designation_opt -> designation','designation_opt',1,'p_designation_opt','../pycparser/plyparser.py',42),
-  ('expression_opt -> empty','expression_opt',1,'p_expression_opt','../pycparser/plyparser.py',41),
-  ('expression_opt -> expression','expression_opt',1,'p_expression_opt','../pycparser/plyparser.py',42),
-  ('identifier_list_opt -> empty','identifier_list_opt',1,'p_identifier_list_opt','../pycparser/plyparser.py',41),
-  ('identifier_list_opt -> identifier_list','identifier_list_opt',1,'p_identifier_list_opt','../pycparser/plyparser.py',42),
-  ('init_declarator_list_opt -> empty','init_declarator_list_opt',1,'p_init_declarator_list_opt','../pycparser/plyparser.py',41),
-  ('init_declarator_list_opt -> init_declarator_list','init_declarator_list_opt',1,'p_init_declarator_list_opt','../pycparser/plyparser.py',42),
-  ('parameter_type_list_opt -> empty','parameter_type_list_opt',1,'p_parameter_type_list_opt','../pycparser/plyparser.py',41),
-  ('parameter_type_list_opt -> parameter_type_list','parameter_type_list_opt',1,'p_parameter_type_list_opt','../pycparser/plyparser.py',42),
-  ('specifier_qualifier_list_opt -> empty','specifier_qualifier_list_opt',1,'p_specifier_qualifier_list_opt','../pycparser/plyparser.py',41),
-  ('specifier_qualifier_list_opt -> specifier_qualifier_list','specifier_qualifier_list_opt',1,'p_specifier_qualifier_list_opt','../pycparser/plyparser.py',42),
-  ('struct_declarator_list_opt -> empty','struct_declarator_list_opt',1,'p_struct_declarator_list_opt','../pycparser/plyparser.py',41),
-  ('struct_declarator_list_opt -> struct_declarator_list','struct_declarator_list_opt',1,'p_struct_declarator_list_opt','../pycparser/plyparser.py',42),
-  ('type_qualifier_list_opt -> empty','type_qualifier_list_opt',1,'p_type_qualifier_list_opt','../pycparser/plyparser.py',41),
-  ('type_qualifier_list_opt -> type_qualifier_list','type_qualifier_list_opt',1,'p_type_qualifier_list_opt','../pycparser/plyparser.py',42),
-  ('translation_unit_or_empty -> translation_unit','translation_unit_or_empty',1,'p_translation_unit_or_empty','../pycparser/c_parser.py',496),
-  ('translation_unit_or_empty -> empty','translation_unit_or_empty',1,'p_translation_unit_or_empty','../pycparser/c_parser.py',497),
-  ('translation_unit -> external_declaration','translation_unit',1,'p_translation_unit_1','../pycparser/c_parser.py',505),
-  ('translation_unit -> translation_unit external_declaration','translation_unit',2,'p_translation_unit_2','../pycparser/c_parser.py',512),
-  ('external_declaration -> function_definition','external_declaration',1,'p_external_declaration_1','../pycparser/c_parser.py',524),
-  ('external_declaration -> declaration','external_declaration',1,'p_external_declaration_2','../pycparser/c_parser.py',529),
-  ('external_declaration -> pp_directive','external_declaration',1,'p_external_declaration_3','../pycparser/c_parser.py',534),
-  ('external_declaration -> SEMI','external_declaration',1,'p_external_declaration_4','../pycparser/c_parser.py',539),
-  ('pp_directive -> PPHASH','pp_directive',1,'p_pp_directive','../pycparser/c_parser.py',544),
-  ('function_definition -> declarator declaration_list_opt compound_statement','function_definition',3,'p_function_definition_1','../pycparser/c_parser.py',553),
-  ('function_definition -> declaration_specifiers declarator declaration_list_opt compound_statement','function_definition',4,'p_function_definition_2','../pycparser/c_parser.py',570),
-  ('statement -> labeled_statement','statement',1,'p_statement','../pycparser/c_parser.py',581),
-  ('statement -> expression_statement','statement',1,'p_statement','../pycparser/c_parser.py',582),
-  ('statement -> compound_statement','statement',1,'p_statement','../pycparser/c_parser.py',583),
-  ('statement -> selection_statement','statement',1,'p_statement','../pycparser/c_parser.py',584),
-  ('statement -> iteration_statement','statement',1,'p_statement','../pycparser/c_parser.py',585),
-  ('statement -> jump_statement','statement',1,'p_statement','../pycparser/c_parser.py',586),
-  ('decl_body -> declaration_specifiers init_declarator_list_opt','decl_body',2,'p_decl_body','../pycparser/c_parser.py',600),
-  ('declaration -> decl_body SEMI','declaration',2,'p_declaration','../pycparser/c_parser.py',659),
-  ('declaration_list -> declaration','declaration_list',1,'p_declaration_list','../pycparser/c_parser.py',668),
-  ('declaration_list -> declaration_list declaration','declaration_list',2,'p_declaration_list','../pycparser/c_parser.py',669),
-  ('declaration_specifiers -> type_qualifier declaration_specifiers_opt','declaration_specifiers',2,'p_declaration_specifiers_1','../pycparser/c_parser.py',674),
-  ('declaration_specifiers -> type_specifier declaration_specifiers_opt','declaration_specifiers',2,'p_declaration_specifiers_2','../pycparser/c_parser.py',679),
-  ('declaration_specifiers -> storage_class_specifier declaration_specifiers_opt','declaration_specifiers',2,'p_declaration_specifiers_3','../pycparser/c_parser.py',684),
-  ('declaration_specifiers -> function_specifier declaration_specifiers_opt','declaration_specifiers',2,'p_declaration_specifiers_4','../pycparser/c_parser.py',689),
-  ('storage_class_specifier -> AUTO','storage_class_specifier',1,'p_storage_class_specifier','../pycparser/c_parser.py',694),
-  ('storage_class_specifier -> REGISTER','storage_class_specifier',1,'p_storage_class_specifier','../pycparser/c_parser.py',695),
-  ('storage_class_specifier -> STATIC','storage_class_specifier',1,'p_storage_class_specifier','../pycparser/c_parser.py',696),
-  ('storage_class_specifier -> EXTERN','storage_class_specifier',1,'p_storage_class_specifier','../pycparser/c_parser.py',697),
-  ('storage_class_specifier -> TYPEDEF','storage_class_specifier',1,'p_storage_class_specifier','../pycparser/c_parser.py',698),
-  ('function_specifier -> INLINE','function_specifier',1,'p_function_specifier','../pycparser/c_parser.py',703),
-  ('type_specifier -> VOID','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',708),
-  ('type_specifier -> _BOOL','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',709),
-  ('type_specifier -> CHAR','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',710),
-  ('type_specifier -> SHORT','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',711),
-  ('type_specifier -> INT','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',712),
-  ('type_specifier -> LONG','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',713),
-  ('type_specifier -> FLOAT','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',714),
-  ('type_specifier -> DOUBLE','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',715),
-  ('type_specifier -> _COMPLEX','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',716),
-  ('type_specifier -> SIGNED','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',717),
-  ('type_specifier -> UNSIGNED','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',718),
-  ('type_specifier -> typedef_name','type_specifier',1,'p_type_specifier_2','../pycparser/c_parser.py',723),
-  ('type_specifier -> enum_specifier','type_specifier',1,'p_type_specifier_2','../pycparser/c_parser.py',724),
-  ('type_specifier -> struct_or_union_specifier','type_specifier',1,'p_type_specifier_2','../pycparser/c_parser.py',725),
-  ('type_qualifier -> CONST','type_qualifier',1,'p_type_qualifier','../pycparser/c_parser.py',730),
-  ('type_qualifier -> RESTRICT','type_qualifier',1,'p_type_qualifier','../pycparser/c_parser.py',731),
-  ('type_qualifier -> VOLATILE','type_qualifier',1,'p_type_qualifier','../pycparser/c_parser.py',732),
-  ('init_declarator_list -> init_declarator','init_declarator_list',1,'p_init_declarator_list_1','../pycparser/c_parser.py',737),
-  ('init_declarator_list -> init_declarator_list COMMA init_declarator','init_declarator_list',3,'p_init_declarator_list_1','../pycparser/c_parser.py',738),
-  ('init_declarator_list -> EQUALS initializer','init_declarator_list',2,'p_init_declarator_list_2','../pycparser/c_parser.py',748),
-  ('init_declarator_list -> abstract_declarator','init_declarator_list',1,'p_init_declarator_list_3','../pycparser/c_parser.py',756),
-  ('init_declarator -> declarator','init_declarator',1,'p_init_declarator','../pycparser/c_parser.py',764),
-  ('init_declarator -> declarator EQUALS initializer','init_declarator',3,'p_init_declarator','../pycparser/c_parser.py',765),
-  ('specifier_qualifier_list -> type_qualifier specifier_qualifier_list_opt','specifier_qualifier_list',2,'p_specifier_qualifier_list_1','../pycparser/c_parser.py',770),
-  ('specifier_qualifier_list -> type_specifier specifier_qualifier_list_opt','specifier_qualifier_list',2,'p_specifier_qualifier_list_2','../pycparser/c_parser.py',775),
-  ('struct_or_union_specifier -> struct_or_union ID','struct_or_union_specifier',2,'p_struct_or_union_specifier_1','../pycparser/c_parser.py',783),
-  ('struct_or_union_specifier -> struct_or_union TYPEID','struct_or_union_specifier',2,'p_struct_or_union_specifier_1','../pycparser/c_parser.py',784),
-  ('struct_or_union_specifier -> struct_or_union brace_open struct_declaration_list brace_close','struct_or_union_specifier',4,'p_struct_or_union_specifier_2','../pycparser/c_parser.py',793),
-  ('struct_or_union_specifier -> struct_or_union ID brace_open struct_declaration_list brace_close','struct_or_union_specifier',5,'p_struct_or_union_specifier_3','../pycparser/c_parser.py',802),
-  ('struct_or_union_specifier -> struct_or_union TYPEID brace_open struct_declaration_list brace_close','struct_or_union_specifier',5,'p_struct_or_union_specifier_3','../pycparser/c_parser.py',803),
-  ('struct_or_union -> STRUCT','struct_or_union',1,'p_struct_or_union','../pycparser/c_parser.py',812),
-  ('struct_or_union -> UNION','struct_or_union',1,'p_struct_or_union','../pycparser/c_parser.py',813),
-  ('struct_declaration_list -> struct_declaration','struct_declaration_list',1,'p_struct_declaration_list','../pycparser/c_parser.py',820),
-  ('struct_declaration_list -> struct_declaration_list struct_declaration','struct_declaration_list',2,'p_struct_declaration_list','../pycparser/c_parser.py',821),
-  ('struct_declaration -> specifier_qualifier_list struct_declarator_list_opt SEMI','struct_declaration',3,'p_struct_declaration_1','../pycparser/c_parser.py',826),
-  ('struct_declaration -> specifier_qualifier_list abstract_declarator SEMI','struct_declaration',3,'p_struct_declaration_2','../pycparser/c_parser.py',864),
-  ('struct_declarator_list -> struct_declarator','struct_declarator_list',1,'p_struct_declarator_list','../pycparser/c_parser.py',878),
-  ('struct_declarator_list -> struct_declarator_list COMMA struct_declarator','struct_declarator_list',3,'p_struct_declarator_list','../pycparser/c_parser.py',879),
-  ('struct_declarator -> declarator','struct_declarator',1,'p_struct_declarator_1','../pycparser/c_parser.py',887),
-  ('struct_declarator -> declarator COLON constant_expression','struct_declarator',3,'p_struct_declarator_2','../pycparser/c_parser.py',892),
-  ('struct_declarator -> COLON constant_expression','struct_declarator',2,'p_struct_declarator_2','../pycparser/c_parser.py',893),
-  ('enum_specifier -> ENUM ID','enum_specifier',2,'p_enum_specifier_1','../pycparser/c_parser.py',901),
-  ('enum_specifier -> ENUM TYPEID','enum_specifier',2,'p_enum_specifier_1','../pycparser/c_parser.py',902),
-  ('enum_specifier -> ENUM brace_open enumerator_list brace_close','enum_specifier',4,'p_enum_specifier_2','../pycparser/c_parser.py',907),
-  ('enum_specifier -> ENUM ID brace_open enumerator_list brace_close','enum_specifier',5,'p_enum_specifier_3','../pycparser/c_parser.py',912),
-  ('enum_specifier -> ENUM TYPEID brace_open enumerator_list brace_close','enum_specifier',5,'p_enum_specifier_3','../pycparser/c_parser.py',913),
-  ('enumerator_list -> enumerator','enumerator_list',1,'p_enumerator_list','../pycparser/c_parser.py',918),
-  ('enumerator_list -> enumerator_list COMMA','enumerator_list',2,'p_enumerator_list','../pycparser/c_parser.py',919),
-  ('enumerator_list -> enumerator_list COMMA enumerator','enumerator_list',3,'p_enumerator_list','../pycparser/c_parser.py',920),
-  ('enumerator -> ID','enumerator',1,'p_enumerator','../pycparser/c_parser.py',931),
-  ('enumerator -> ID EQUALS constant_expression','enumerator',3,'p_enumerator','../pycparser/c_parser.py',932),
-  ('declarator -> direct_declarator','declarator',1,'p_declarator_1','../pycparser/c_parser.py',947),
-  ('declarator -> pointer direct_declarator','declarator',2,'p_declarator_2','../pycparser/c_parser.py',952),
-  ('declarator -> pointer TYPEID','declarator',2,'p_declarator_3','../pycparser/c_parser.py',961),
-  ('direct_declarator -> ID','direct_declarator',1,'p_direct_declarator_1','../pycparser/c_parser.py',972),
-  ('direct_declarator -> LPAREN declarator RPAREN','direct_declarator',3,'p_direct_declarator_2','../pycparser/c_parser.py',981),
-  ('direct_declarator -> direct_declarator LBRACKET assignment_expression_opt RBRACKET','direct_declarator',4,'p_direct_declarator_3','../pycparser/c_parser.py',986),
-  ('direct_declarator -> direct_declarator LBRACKET TIMES RBRACKET','direct_declarator',4,'p_direct_declarator_4','../pycparser/c_parser.py',998),
-  ('direct_declarator -> direct_declarator LPAREN parameter_type_list RPAREN','direct_declarator',4,'p_direct_declarator_5','../pycparser/c_parser.py',1008),
-  ('direct_declarator -> direct_declarator LPAREN identifier_list_opt RPAREN','direct_declarator',4,'p_direct_declarator_5','../pycparser/c_parser.py',1009),
-  ('pointer -> TIMES type_qualifier_list_opt','pointer',2,'p_pointer','../pycparser/c_parser.py',1036),
-  ('pointer -> TIMES type_qualifier_list_opt pointer','pointer',3,'p_pointer','../pycparser/c_parser.py',1037),
-  ('type_qualifier_list -> type_qualifier','type_qualifier_list',1,'p_type_qualifier_list','../pycparser/c_parser.py',1047),
-  ('type_qualifier_list -> type_qualifier_list type_qualifier','type_qualifier_list',2,'p_type_qualifier_list','../pycparser/c_parser.py',1048),
-  ('parameter_type_list -> parameter_list','parameter_type_list',1,'p_parameter_type_list','../pycparser/c_parser.py',1053),
-  ('parameter_type_list -> parameter_list COMMA ELLIPSIS','parameter_type_list',3,'p_parameter_type_list','../pycparser/c_parser.py',1054),
-  ('parameter_list -> parameter_declaration','parameter_list',1,'p_parameter_list','../pycparser/c_parser.py',1062),
-  ('parameter_list -> parameter_list COMMA parameter_declaration','parameter_list',3,'p_parameter_list','../pycparser/c_parser.py',1063),
-  ('parameter_declaration -> declaration_specifiers declarator','parameter_declaration',2,'p_parameter_declaration_1','../pycparser/c_parser.py',1072),
-  ('parameter_declaration -> declaration_specifiers abstract_declarator_opt','parameter_declaration',2,'p_parameter_declaration_2','../pycparser/c_parser.py',1083),
-  ('identifier_list -> identifier','identifier_list',1,'p_identifier_list','../pycparser/c_parser.py',1113),
-  ('identifier_list -> identifier_list COMMA identifier','identifier_list',3,'p_identifier_list','../pycparser/c_parser.py',1114),
-  ('initializer -> assignment_expression','initializer',1,'p_initializer_1','../pycparser/c_parser.py',1123),
-  ('initializer -> brace_open initializer_list brace_close','initializer',3,'p_initializer_2','../pycparser/c_parser.py',1128),
-  ('initializer -> brace_open initializer_list COMMA brace_close','initializer',4,'p_initializer_2','../pycparser/c_parser.py',1129),
-  ('initializer_list -> designation_opt initializer','initializer_list',2,'p_initializer_list','../pycparser/c_parser.py',1134),
-  ('initializer_list -> initializer_list COMMA designation_opt initializer','initializer_list',4,'p_initializer_list','../pycparser/c_parser.py',1135),
-  ('designation -> designator_list EQUALS','designation',2,'p_designation','../pycparser/c_parser.py',1146),
-  ('designator_list -> designator','designator_list',1,'p_designator_list','../pycparser/c_parser.py',1154),
-  ('designator_list -> designator_list designator','designator_list',2,'p_designator_list','../pycparser/c_parser.py',1155),
-  ('designator -> LBRACKET constant_expression RBRACKET','designator',3,'p_designator','../pycparser/c_parser.py',1160),
-  ('designator -> PERIOD identifier','designator',2,'p_designator','../pycparser/c_parser.py',1161),
-  ('type_name -> specifier_qualifier_list abstract_declarator_opt','type_name',2,'p_type_name','../pycparser/c_parser.py',1166),
-  ('abstract_declarator -> pointer','abstract_declarator',1,'p_abstract_declarator_1','../pycparser/c_parser.py',1182),
-  ('abstract_declarator -> pointer direct_abstract_declarator','abstract_declarator',2,'p_abstract_declarator_2','../pycparser/c_parser.py',1190),
-  ('abstract_declarator -> direct_abstract_declarator','abstract_declarator',1,'p_abstract_declarator_3','../pycparser/c_parser.py',1195),
-  ('direct_abstract_declarator -> LPAREN abstract_declarator RPAREN','direct_abstract_declarator',3,'p_direct_abstract_declarator_1','../pycparser/c_parser.py',1205),
-  ('direct_abstract_declarator -> direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKET','direct_abstract_declarator',4,'p_direct_abstract_declarator_2','../pycparser/c_parser.py',1209),
-  ('direct_abstract_declarator -> LBRACKET assignment_expression_opt RBRACKET','direct_abstract_declarator',3,'p_direct_abstract_declarator_3','../pycparser/c_parser.py',1219),
-  ('direct_abstract_declarator -> direct_abstract_declarator LBRACKET TIMES RBRACKET','direct_abstract_declarator',4,'p_direct_abstract_declarator_4','../pycparser/c_parser.py',1227),
-  ('direct_abstract_declarator -> LBRACKET TIMES RBRACKET','direct_abstract_declarator',3,'p_direct_abstract_declarator_5','../pycparser/c_parser.py',1237),
-  ('direct_abstract_declarator -> direct_abstract_declarator LPAREN parameter_type_list_opt RPAREN','direct_abstract_declarator',4,'p_direct_abstract_declarator_6','../pycparser/c_parser.py',1245),


More information about the pypy-commit mailing list