X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Fctf%2Fmetadata%2Fctf-parser.y;h=38031b007d851cb8082703b556c7ee921c544e03;hp=1f7420ea5d34187b77b76a6c2cc02006ad40865c;hb=fce8006d5eb518bbb036a4b8a2980ad0b981880c;hpb=34d3acc4fc9f020b0e2616a29a339b5c546a05c1 diff --git a/formats/ctf/metadata/ctf-parser.y b/formats/ctf/metadata/ctf-parser.y index 1f7420ea..38031b00 100644 --- a/formats/ctf/metadata/ctf-parser.y +++ b/formats/ctf/metadata/ctf-parser.y @@ -1,8 +1,20 @@ %{ /* - * ctf.y + * ctf-parser.y * * Common Trace Format Metadata Grammar. + * + * Copyright 2010 - Mathieu Desnoyers + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. */ #include @@ -58,31 +70,32 @@ void setstring(struct ctf_scanner *scanner, YYSTYPE *lvalp, const char *src) strcpy(lvalp->gs->s, src); } -static void init_scope(struct scope *scope, struct scope *parent) +static void init_scope(struct ctf_scanner_scope *scope, + struct ctf_scanner_scope *parent) { scope->parent = parent; scope->types = g_hash_table_new_full(g_str_hash, g_str_equal, (GDestroyNotify) free, NULL); } -static void finalize_scope(struct scope *scope) +static void finalize_scope(struct ctf_scanner_scope *scope) { g_hash_table_destroy(scope->types); } static void push_scope(struct ctf_scanner *scanner) { - struct scope *ns; + struct ctf_scanner_scope *ns; printf_dbg_noarg("push scope\n"); - ns = malloc(sizeof(struct scope)); + ns = malloc(sizeof(struct ctf_scanner_scope)); init_scope(ns, scanner->cs); scanner->cs = ns; } static void pop_scope(struct ctf_scanner *scanner) { - struct scope *os; + struct ctf_scanner_scope *os; printf_dbg_noarg("pop scope\n"); os = scanner->cs; @@ -91,7 +104,7 @@ static void pop_scope(struct ctf_scanner *scanner) free(os); } -static int lookup_type(struct scope *s, const char *id) +static int lookup_type(struct ctf_scanner_scope *s, const char *id) { int ret; @@ -102,7 +115,7 @@ static int lookup_type(struct scope *s, const char *id) int is_type(struct ctf_scanner *scanner, const char *id) { - struct scope *it; + struct ctf_scanner_scope *it; int ret = 0; for (it = scanner->cs; it != NULL; it = it->parent) { @@ -337,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); } ; @@ -357,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); } ; @@ -377,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: @@ -440,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: @@ -470,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: @@ -594,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 ; @@ -609,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