From fce8006d5eb518bbb036a4b8a2980ad0b981880c Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Tue, 8 Feb 2011 20:13:58 -0500 Subject: [PATCH] Cleanup parser code, add some node IDs to AST Signed-off-by: Mathieu Desnoyers --- formats/ctf/metadata/ctf-ast.h | 17 ++++++++++- formats/ctf/metadata/ctf-parser.y | 48 ++++++++----------------------- 2 files changed, 28 insertions(+), 37 deletions(-) diff --git a/formats/ctf/metadata/ctf-ast.h b/formats/ctf/metadata/ctf-ast.h index ae7381cc..0e37d818 100644 --- a/formats/ctf/metadata/ctf-ast.h +++ b/formats/ctf/metadata/ctf-ast.h @@ -18,11 +18,26 @@ struct ctf_parser; enum node_type { NODE_UNKNOWN, NODE_ROOT, + NODE_EVENT, NODE_STREAM, - NODE_TYPE, NODE_TRACE, + NODE_CTF_EXPRESSION, + + NODE_TYPEDEF, + NODE_TYPEALIAS, + + NODE_DECLARATION_SPECIFIER, + NODE_TYPE_DECLARATOR, + + NODE_FLOATING_POINT, + NODE_INTEGER, + NODE_STRING, + NODE_ENUM, + NODE_VARIANT, + NODE_STRUCT, + NR_NODE_TYPES, }; diff --git a/formats/ctf/metadata/ctf-parser.y b/formats/ctf/metadata/ctf-parser.y index fb7e9b7c..38031b00 100644 --- a/formats/ctf/metadata/ctf-parser.y +++ b/formats/ctf/metadata/ctf-parser.y @@ -350,16 +350,12 @@ event_declaration: event_declaration_begin: EVENT LBRAC - { - push_scope(scanner); - } + { push_scope(scanner); } ; event_declaration_end: RBRAC SEMICOLON - { - pop_scope(scanner); - } + { pop_scope(scanner); } ; @@ -370,16 +366,12 @@ stream_declaration: stream_declaration_begin: STREAM LBRAC - { - push_scope(scanner); - } + { push_scope(scanner); } ; stream_declaration_end: RBRAC SEMICOLON - { - pop_scope(scanner); - } + { pop_scope(scanner); } ; @@ -390,16 +382,12 @@ trace_declaration: trace_declaration_begin: TRACE LBRAC - { - push_scope(scanner); - } + { push_scope(scanner); } ; trace_declaration_end: RBRAC SEMICOLON - { - pop_scope(scanner); - } + { pop_scope(scanner); } ; declaration_specifiers: @@ -453,16 +441,12 @@ struct_type_specifier: struct_declaration_begin: LBRAC - { - push_scope(scanner); - } + { push_scope(scanner); } ; struct_declaration_end: RBRAC - { - pop_scope(scanner); - } + { pop_scope(scanner); } ; variant_type_specifier: @@ -483,16 +467,12 @@ variant_type_specifier: variant_declaration_begin: LBRAC - { - push_scope(scanner); - } + { push_scope(scanner); } ; variant_declaration_end: RBRAC - { - pop_scope(scanner); - } + { pop_scope(scanner); } ; type_specifier_or_integer_constant: @@ -607,9 +587,7 @@ type_declarator: direct_type_declarator: IDENTIFIER - { - add_type(scanner, $1->s); - } + { add_type(scanner, $1->s); } | LPAREN type_declarator RPAREN | direct_type_declarator LSBRAC type_specifier_or_integer_constant RSBRAC ; @@ -622,9 +600,7 @@ abstract_type_declarator: direct_abstract_type_declarator: /* empty */ | IDENTIFIER - { - add_type(scanner, $1->s); - } + { add_type(scanner, $1->s); } | LPAREN abstract_type_declarator RPAREN | direct_abstract_type_declarator LSBRAC type_specifier_or_integer_constant RSBRAC | direct_abstract_type_declarator LSBRAC RSBRAC -- 2.34.1