From 6d73cf0ae64fb7a5bccf4930bfe17101c75058f7 Mon Sep 17 00:00:00 2001 From: Andre Ribeiro Date: Tue, 30 May 2023 23:40:01 +0100 Subject: [PATCH] fix: max cols and function naming --- ...e_ast.py => construct_ast_from_scratch.py} | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) rename examples/{generate_ast.py => construct_ast_from_scratch.py} (58%) diff --git a/examples/generate_ast.py b/examples/construct_ast_from_scratch.py similarity index 58% rename from examples/generate_ast.py rename to examples/construct_ast_from_scratch.py index b8abf5c1..c31c487d 100644 --- a/examples/generate_ast.py +++ b/examples/construct_ast_from_scratch.py @@ -1,13 +1,11 @@ # ----------------------------------------------------------------- -# pycparser: generate_ast.py +# pycparser: construct_ast_from_scratch.py # # Tiny example of writing an AST from scratch to C code. # # Andre Ribeiro [https://github.com/Andree37] # License: BSD # ----------------------------------------------------------------- -from __future__ import print_function - from pycparser import c_ast, c_generator @@ -17,15 +15,20 @@ # } -def create_your_ast(): +def empty_main_function_ast(): constant_zero = c_ast.Constant(type='int', value='0') return_node = c_ast.Return(expr=constant_zero) compound_node = c_ast.Compound(block_items=[return_node]) - type_decl_node = c_ast.TypeDecl(declname='main', quals=[], type=c_ast.IdentifierType(names=['int']), align=[]) - func_decl_node = c_ast.FuncDecl(args=c_ast.ParamList([]), type=type_decl_node) - func_def_node = c_ast.Decl(name='main', quals=[], storage=[], funcspec=[], type=func_decl_node, init=None, + type_decl_node = c_ast.TypeDecl(declname='main', quals=[], + type=c_ast.IdentifierType(names=['int']), + align=[]) + func_decl_node = c_ast.FuncDecl(args=c_ast.ParamList([]), + type=type_decl_node) + func_def_node = c_ast.Decl(name='main', quals=[], storage=[], funcspec=[], + type=func_decl_node, init=None, bitsize=None, align=[]) - main_func_node = c_ast.FuncDef(decl=func_def_node, param_decls=None, body=compound_node) + main_func_node = c_ast.FuncDef(decl=func_def_node, param_decls=None, + body=compound_node) return main_func_node @@ -36,9 +39,9 @@ def generate_c_code(my_ast): if __name__ == '__main__': - ast = create_your_ast() + main_function_ast = empty_main_function_ast() print("|----------------------------------------|") - ast.show(offset=2) + main_function_ast.show(offset=2) print("|----------------------------------------|") - c_code = generate_c_code(ast) - print("C code: \n%s" % c_code) + main_c_code = generate_c_code(main_function_ast) + print("C code: \n%s" % main_c_code)