aboutsummaryrefslogtreecommitdiff
path: root/src/meta1-gram.y
diff options
context:
space:
mode:
Diffstat (limited to 'src/meta1-gram.y')
-rw-r--r--src/meta1-gram.y80
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;

Return to:

Send suggestions and report system problems to the System administrator.