Cleanup parser code, add some node IDs to AST
[babeltrace.git] / formats / ctf / metadata / ctf-parser.y
index 1f7420ea5d34187b77b76a6c2cc02006ad40865c..38031b007d851cb8082703b556c7ee921c544e03 100644 (file)
@@ -1,8 +1,20 @@
 %{
 /*
- * ctf.y
+ * ctf-parser.y
  *
  * Common Trace Format Metadata Grammar.
+ *
+ * Copyright 2010 - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ *
+ * 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 <stdio.h>
@@ -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
This page took 0.024972 seconds and 4 git commands to generate.