diff options
Diffstat (limited to 'src/meta1-gram.y')
-rw-r--r-- | src/meta1-gram.y | 80 |
1 files changed, 40 insertions, 40 deletions
diff --git a/src/meta1-gram.y b/src/meta1-gram.y index 3b9ca63..280f89c 100644 --- a/src/meta1-gram.y +++ b/src/meta1-gram.y @@ -20,12 +20,12 @@ #endif #include <errno.h> #include <string.h> -#include "grecs.h" +#include "argot.h" int yylex(void); int yyerror(char const *s); -static struct grecs_node *parse_tree; +static struct argot_node *parse_tree; extern int yy_flex_debug; extern void yyset_in(FILE *); %} @@ -35,10 +35,10 @@ extern void yyset_in(FILE *); %union { char *string; - grecs_value_t svalue, *pvalue; - struct grecs_list *list; - struct { struct grecs_node *head, *tail; } node_list; - struct grecs_node *node; + argot_value_t svalue, *pvalue; + struct argot_list *list; + struct { struct argot_node *head, *tail; } node_list; + struct argot_node *node; } %token <string> META1_STRING META1_IDENT @@ -52,9 +52,9 @@ extern void yyset_in(FILE *); input : maybe_stmtlist { - parse_tree = grecs_node_create(grecs_node_root, &@1); - parse_tree->v.texttab = grecs_text_table(); - grecs_node_bind(parse_tree, $1, 1); + parse_tree = argot_node_create(argot_node_root, &@1); + parse_tree->v.texttab = argot_text_table(); + argot_node_bind(parse_tree, $1, 1); } ; @@ -75,7 +75,7 @@ stmtlist: stmt } | stmtlist stmt { - grecs_node_bind($1.tail, $2, 0); + argot_node_bind($1.tail, $2, 0); } ; @@ -85,7 +85,7 @@ stmt : simple simple : META1_IDENT '=' value opt_sc { - $$ = grecs_node_create_points(grecs_node_stmt, + $$ = argot_node_create_points(argot_node_stmt, @1.beg, @3.end); $$->ident = $1; $$->idloc = @1; @@ -95,12 +95,12 @@ simple : META1_IDENT '=' value opt_sc block : META1_IDENT tag '{' stmtlist '}' opt_sc { - $$ = grecs_node_create_points(grecs_node_block, + $$ = argot_node_create_points(argot_node_block, @1.beg, @5.end); $$->ident = $1; $$->idloc = @1; $$->v.value = $2; - grecs_node_bind($$, $4.head, 1); + argot_node_bind($$, $4.head, 1); } ; @@ -110,23 +110,23 @@ tag : /* empty */ } | META1_IDENT { - $$ = grecs_malloc(sizeof($$[0])); - $$->type = GRECS_TYPE_STRING; + $$ = argot_malloc(sizeof($$[0])); + $$->type = ARGOT_TYPE_STRING; $$->v.string = $1; } ; value : string { - $$ = grecs_malloc(sizeof($$[0])); - $$->type = GRECS_TYPE_STRING; + $$ = argot_malloc(sizeof($$[0])); + $$->type = ARGOT_TYPE_STRING; $$->locus = @1; $$->v.string = $1; } | list { - $$ = grecs_malloc(sizeof($$[0])); - $$->type = GRECS_TYPE_LIST; + $$ = argot_malloc(sizeof($$[0])); + $$->type = ARGOT_TYPE_LIST; $$->locus = @1; $$->v.list = $1; } @@ -138,26 +138,26 @@ string : META1_IDENT slist : slist0 { - struct grecs_list_entry *ep; + struct argot_list_entry *ep; - grecs_line_begin(); + argot_line_begin(); for (ep = $1->head; ep; ep = ep->next) { - grecs_line_add(ep->data, strlen(ep->data)); + argot_line_add(ep->data, strlen(ep->data)); free(ep->data); ep->data = NULL; } - $$ = grecs_line_finish(); - grecs_list_free($1); + $$ = argot_line_finish(); + argot_list_free($1); } slist0 : META1_STRING { - $$ = grecs_list_create(); - grecs_list_append($$, $1); + $$ = argot_list_create(); + argot_list_append($$, $1); } | slist0 META1_STRING { - grecs_list_append($1, $2); + argot_list_append($1, $2); $$ = $1; } ; @@ -174,12 +174,12 @@ list : '{' values '}' values : value { - $$ = grecs_value_list_create(); - grecs_list_append($$, $1); + $$ = argot_value_list_create(); + argot_list_append($$, $1); } | values ',' value { - grecs_list_append($1, $3); + argot_list_append($1, $3); $$ = $1; } ; @@ -192,33 +192,33 @@ opt_sc : /* empty */ int yyerror(char const *s) { - grecs_error(&yylloc, 0, "%s", s); + argot_error(&yylloc, 0, "%s", s); return 0; } -struct grecs_node * -grecs_meta1_parser(const char *name, int traceflags) +struct argot_node * +argot_meta1_parser(const char *name, int traceflags) { int rc; FILE *fp; fp = fopen(name, "r"); if (!fp) { - grecs_error(NULL, errno, _("Cannot open `%s'"), name); + argot_error(NULL, errno, _("Cannot open `%s'"), name); return NULL; } yyset_in(fp); - yy_flex_debug = traceflags & GRECS_TRACE_LEX; - yydebug = traceflags & GRECS_TRACE_GRAM; + yy_flex_debug = traceflags & ARGOT_TRACE_LEX; + yydebug = traceflags & ARGOT_TRACE_GRAM; parse_tree = NULL; - grecs_line_acc_create(); + argot_line_acc_create(); rc = yyparse(); fclose(fp); - if (grecs_error_count) + if (argot_error_count) rc = 1; - grecs_line_acc_free(); + argot_line_acc_free(); if (rc) { - grecs_tree_free(parse_tree); + argot_tree_free(parse_tree); parse_tree = NULL; } return parse_tree; |