diff options
Diffstat (limited to 'src/meta1-lex.l')
-rw-r--r-- | src/meta1-lex.l | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/src/meta1-lex.l b/src/meta1-lex.l index a5f873b..34bb905 100644 --- a/src/meta1-lex.l +++ b/src/meta1-lex.l @@ -24,7 +24,7 @@ #ifdef HAVE_CONFIG_H # include <config.h> #endif -#include "grecs.h" +#include "argot.h" #include "meta1-gram.h" #include <ctype.h> } @@ -35,11 +35,11 @@ static void meta1_line_add_unescape_hex(const char *text, size_t len); #define YY_USER_ACTION do { \ if (YYSTATE == 0) { \ - yylloc.beg = grecs_current_locus_point; \ + yylloc.beg = argot_current_locus_point; \ yylloc.beg.col++; \ } \ - grecs_current_locus_point.col += yyleng; \ - yylloc.end = grecs_current_locus_point; \ + argot_current_locus_point.col += yyleng; \ + yylloc.end = argot_current_locus_point; \ } while (0); %} @@ -50,56 +50,56 @@ X [0-9a-fA-F] "/*" BEGIN (COMMENT); <COMMENT>[^*\n]* /* eat anything that's not a '*' */ <COMMENT>"*"+[^*/\n]* /* eat up '*'s not followed by '/'s */ -<COMMENT>\n grecs_locus_point_advance_line(grecs_current_locus_point); +<COMMENT>\n argot_locus_point_advance_line(argot_current_locus_point); <COMMENT>"*"+"/" BEGIN (INITIAL); /* End-of-line comments */ -#.*\n { grecs_locus_point_advance_line(grecs_current_locus_point); } +#.*\n { argot_locus_point_advance_line(argot_current_locus_point); } #.* /* end-of-file comment */; /* Number */ 0[xX]{X}+ | 0[0-7]+ | -[1-9][0-9]+ { grecs_line_begin(); - grecs_line_add(yytext, yyleng); - yylval.string = grecs_line_finish(); +[1-9][0-9]+ { argot_line_begin(); + argot_line_add(yytext, yyleng); + yylval.string = argot_line_finish(); return META1_STRING; } /* Identifiers (unquoted strings) */ -[a-zA-Z0-9_\./:\*-]+ { grecs_line_begin(); - grecs_line_add(yytext, yyleng); - yylval.string = grecs_line_finish(); +[a-zA-Z0-9_\./:\*-]+ { argot_line_begin(); + argot_line_add(yytext, yyleng); + yylval.string = argot_line_finish(); return META1_IDENT; } /* Quoted strings */ -\"[^\\"\n]*\" { grecs_line_begin(); - grecs_line_add(yytext + 1, yyleng - 2); - yylval.string = grecs_line_finish(); +\"[^\\"\n]*\" { argot_line_begin(); + argot_line_add(yytext + 1, yyleng - 2); + yylval.string = argot_line_finish(); return META1_STRING; } \"[^\\"\n]*\\x{X}{1,2} { BEGIN(STR); - grecs_line_begin(); + argot_line_begin(); meta1_line_add_unescape_hex(yytext + 1, yyleng - 1); } \"[^\\"\n]*\\. { BEGIN(STR); - grecs_line_begin(); - grecs_line_acc_grow_unescape_last(yytext + 1, + argot_line_begin(); + argot_line_acc_grow_unescape_last(yytext + 1, yyleng - 1, &yylloc); } <STR>[^\\"\n]*\\x{X}{1,2} { meta1_line_add_unescape_hex(yytext, yyleng); } -<STR>[^\\"\n]*\\. { grecs_line_acc_grow_unescape_last(yytext, yyleng, +<STR>[^\\"\n]*\\. { argot_line_acc_grow_unescape_last(yytext, yyleng, &yylloc); } <STR>[^\\"\n]*\" { BEGIN(INITIAL); if (yyleng > 1) - grecs_line_add(yytext, yyleng - 1); - yylval.string = grecs_line_finish(); + argot_line_add(yytext, yyleng - 1); + yylval.string = argot_line_finish(); return META1_STRING; } <STR>[^\\"\n]*\n { BEGIN(INITIAL); - grecs_error(&yylloc, 0, + argot_error(&yylloc, 0, _("newline in a string")); - grecs_line_add(yytext, yyleng - 1); - yylval.string = grecs_line_finish(); + argot_line_add(yytext, yyleng - 1); + yylval.string = argot_line_finish(); return META1_STRING; } /* Other tokens */ [ \t\f][ \t\f]* ; -\n { grecs_locus_point_advance_line(grecs_current_locus_point); } +\n { argot_locus_point_advance_line(argot_current_locus_point); } [,;{}=] return yytext[0]; -. { grecs_error(&yylloc, 0, +. { argot_error(&yylloc, 0, (isascii(yytext[0]) && isprint(yytext[0])) ? _("stray character %c") : _("stray character \\%03o"), @@ -117,8 +117,8 @@ meta1_line_add_unescape_hex(const char *text, size_t len) { for (; text[len-1] != 'x' && len > 0; len--) ; - grecs_line_acc_grow(text, len - 2); - grecs_line_acc_grow_char((char) strtoul (text + len, NULL, 16)); + argot_line_acc_grow(text, len - 2); + argot_line_acc_grow_char((char) strtoul (text + len, NULL, 16)); } |