blob: 7d1b1961bb9bfcf0c7ca8c93a42d438b9ecb4c32 [file] [log] [blame]
Akira Hayakawaa5c49252014-08-22 13:34:53 +09001#-----------------------------------------------------------------
2# pycparser: func_write.py
3#
4# Tiny example of rewriting a AST node
5#
Eli Bendersky6d45ff72017-02-02 05:59:50 -08006# Eli Bendersky [http://eli.thegreenplace.net]
Akira Hayakawaa5c49252014-08-22 13:34:53 +09007# License: BSD
8#-----------------------------------------------------------------
9from __future__ import print_function
10import sys
11
12from pycparser import c_parser
13
14text = r"""
15void func(void)
16{
Eli Bendersky4a7675a2014-08-22 05:35:06 -070017 x = 1;
Akira Hayakawaa5c49252014-08-22 13:34:53 +090018}
19"""
20
21parser = c_parser.CParser()
22ast = parser.parse(text)
23print("Before:")
24ast.show(offset=2)
25
26assign = ast.ext[0].body.block_items[0]
27assign.lvalue.name = "y"
28assign.rvalue.value = 2
29
30print("After:")
31ast.show(offset=2)