diff options
Diffstat (limited to 'examples/serialize_ast.py')
-rw-r--r-- | examples/serialize_ast.py | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/examples/serialize_ast.py b/examples/serialize_ast.py index e0f8aa3..8669a0a 100644 --- a/examples/serialize_ast.py +++ b/examples/serialize_ast.py @@ -9,7 +9,9 @@ #----------------------------------------------------------------- from __future__ import print_function import pickle +import sys +sys.path.extend(['.', '..']) from pycparser import c_parser text = r""" @@ -19,18 +21,19 @@ void func(void) } """ -parser = c_parser.CParser() -ast = parser.parse(text) +if __name__ == '__main__': + parser = c_parser.CParser() + ast = parser.parse(text) -# Since AST nodes use __slots__ for faster attribute access and -# space saving, it needs Pickle's protocol version >= 2. -# The default version is 3 for python 3.x and 1 for python 2.7. -# You can always select the highest available protocol with the -1 argument. + # Since AST nodes use __slots__ for faster attribute access and + # space saving, it needs Pickle's protocol version >= 2. + # The default version is 3 for python 3.x and 1 for python 2.7. + # You can always select the highest available protocol with the -1 argument. -with open('ast', 'wb') as f: - pickle.dump(ast, f, protocol=-1) + with open('ast', 'wb') as f: + pickle.dump(ast, f, protocol=-1) -# Deserialize. -with open('ast', 'rb') as f: - ast = pickle.load(f) - ast.show() + # Deserialize. + with open('ast', 'rb') as f: + ast = pickle.load(f) + ast.show() |