summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/web2c/web2c-lexer.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/web2c/web2c-lexer.c')
-rw-r--r--Build/source/texk/web2c/web2c/web2c-lexer.c174
1 files changed, 89 insertions, 85 deletions
diff --git a/Build/source/texk/web2c/web2c/web2c-lexer.c b/Build/source/texk/web2c/web2c/web2c-lexer.c
index 39ea325d90f..00d1dff0bc0 100644
--- a/Build/source/texk/web2c/web2c/web2c-lexer.c
+++ b/Build/source/texk/web2c/web2c/web2c-lexer.c
@@ -1,5 +1,12 @@
+#line 4 "web2c-lexer.l"
+/* web2c-lexer.l -- lexical analysis for Tangle output. Public domain. */
+
+#include "web2c.h"
+#include "web2c-parser.h"
-#line 3 "web2c-lexer.c"
+
+
+#line 10 "web2c-lexer.c"
#define YY_INT_ALIGNED short int
@@ -720,12 +727,8 @@ static int yy_prev_more_offset = 0;
char yytext[YYLMAX];
char *yytext_ptr;
#line 1 "web2c-lexer.l"
-#line 4 "web2c-lexer.l"
-/* web2c-lexer.l -- lexical analysis for Tangle output. Public domain. */
-
-#include "web2c.h"
-#include "web2c-parser.h"
+#line 11 "web2c-lexer.l"
/* Hack to make it possible to compile the generated code with C++
Required if you use flex. */
#ifdef __cplusplus
@@ -752,7 +755,7 @@ yywrap (void)
return 1;
}
#define YY_SKIP_YYWRAP /* not that it matters */
-#line 756 "web2c-lexer.c"
+#line 759 "web2c-lexer.c"
#define INITIAL 0
@@ -934,9 +937,9 @@ YY_DECL
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 51 "web2c-lexer.l"
+#line 53 "web2c-lexer.l"
-#line 940 "web2c-lexer.c"
+#line 943 "web2c-lexer.c"
if ( !(yy_init) )
{
@@ -1041,17 +1044,17 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
/* rule 1 can match eol */
YY_RULE_SETUP
-#line 52 "web2c-lexer.l"
+#line 54 "web2c-lexer.l"
;
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 53 "web2c-lexer.l"
+#line 55 "web2c-lexer.l"
{ while (webinput() != '}'); }
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 55 "web2c-lexer.l"
+#line 57 "web2c-lexer.l"
{
register int c;
putc('#', out);
@@ -1062,7 +1065,7 @@ YY_RULE_SETUP
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 63 "web2c-lexer.l"
+#line 65 "web2c-lexer.l"
{register int c;
register char *cp=conditional;
new_line();
@@ -1078,7 +1081,7 @@ YY_RULE_SETUP
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 76 "web2c-lexer.l"
+#line 78 "web2c-lexer.l"
{register int c;
new_line();
fputs("#endif /* ", out);
@@ -1093,7 +1096,7 @@ YY_RULE_SETUP
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 88 "web2c-lexer.l"
+#line 90 "web2c-lexer.l"
{register int c;
register char *cp=conditional;
new_line();
@@ -1109,7 +1112,7 @@ YY_RULE_SETUP
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 101 "web2c-lexer.l"
+#line 103 "web2c-lexer.l"
{register int c;
new_line();
fputs("#endif /* not ", out);
@@ -1125,205 +1128,205 @@ YY_RULE_SETUP
case 8:
/* rule 8 can match eol */
YY_RULE_SETUP
-#line 114 "web2c-lexer.l"
+#line 116 "web2c-lexer.l"
;
YY_BREAK
case 9:
/* rule 9 can match eol */
YY_RULE_SETUP
-#line 116 "web2c-lexer.l"
+#line 118 "web2c-lexer.l"
;
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 118 "web2c-lexer.l"
+#line 120 "web2c-lexer.l"
return last_tok=define_tok;
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 119 "web2c-lexer.l"
+#line 121 "web2c-lexer.l"
return last_tok=field_tok;
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 120 "web2c-lexer.l"
+#line 122 "web2c-lexer.l"
return last_tok=and_tok;
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 121 "web2c-lexer.l"
+#line 123 "web2c-lexer.l"
return last_tok=array_tok;
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 122 "web2c-lexer.l"
+#line 124 "web2c-lexer.l"
return last_tok=begin_tok;
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 123 "web2c-lexer.l"
+#line 125 "web2c-lexer.l"
return last_tok=case_tok;
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 124 "web2c-lexer.l"
+#line 126 "web2c-lexer.l"
return last_tok=const_tok;
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 125 "web2c-lexer.l"
+#line 127 "web2c-lexer.l"
return last_tok=div_tok;
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 126 "web2c-lexer.l"
+#line 128 "web2c-lexer.l"
return last_tok=break_tok;
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 127 "web2c-lexer.l"
+#line 129 "web2c-lexer.l"
return last_tok=do_tok;
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 128 "web2c-lexer.l"
+#line 130 "web2c-lexer.l"
return last_tok=downto_tok;
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 129 "web2c-lexer.l"
+#line 131 "web2c-lexer.l"
return last_tok=else_tok;
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 130 "web2c-lexer.l"
+#line 132 "web2c-lexer.l"
return last_tok=end_tok;
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 131 "web2c-lexer.l"
+#line 133 "web2c-lexer.l"
return last_tok=file_tok;
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 132 "web2c-lexer.l"
+#line 134 "web2c-lexer.l"
return last_tok=for_tok;
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 133 "web2c-lexer.l"
+#line 135 "web2c-lexer.l"
return last_tok=function_tok;
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 134 "web2c-lexer.l"
+#line 136 "web2c-lexer.l"
return last_tok=goto_tok;
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 135 "web2c-lexer.l"
+#line 137 "web2c-lexer.l"
return last_tok=if_tok;
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 136 "web2c-lexer.l"
+#line 138 "web2c-lexer.l"
return last_tok=label_tok;
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 137 "web2c-lexer.l"
+#line 139 "web2c-lexer.l"
return last_tok=mod_tok;
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 138 "web2c-lexer.l"
+#line 140 "web2c-lexer.l"
return last_tok=noreturn_tok;
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 139 "web2c-lexer.l"
+#line 141 "web2c-lexer.l"
return last_tok=not_tok;
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 140 "web2c-lexer.l"
+#line 142 "web2c-lexer.l"
return last_tok=of_tok;
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 141 "web2c-lexer.l"
+#line 143 "web2c-lexer.l"
return last_tok=or_tok;
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 142 "web2c-lexer.l"
+#line 144 "web2c-lexer.l"
return last_tok=procedure_tok;
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 143 "web2c-lexer.l"
+#line 145 "web2c-lexer.l"
return last_tok=program_tok;
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 144 "web2c-lexer.l"
+#line 146 "web2c-lexer.l"
return last_tok=record_tok;
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 145 "web2c-lexer.l"
+#line 147 "web2c-lexer.l"
return last_tok=repeat_tok;
YY_BREAK
case 38:
/* rule 38 can match eol */
YY_RULE_SETUP
-#line 146 "web2c-lexer.l"
+#line 148 "web2c-lexer.l"
return last_tok=hhb0_tok;
YY_BREAK
case 39:
/* rule 39 can match eol */
YY_RULE_SETUP
-#line 147 "web2c-lexer.l"
+#line 149 "web2c-lexer.l"
return last_tok=hhb1_tok;
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 148 "web2c-lexer.l"
+#line 150 "web2c-lexer.l"
return last_tok=then_tok;
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 149 "web2c-lexer.l"
+#line 151 "web2c-lexer.l"
return last_tok=to_tok;
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 150 "web2c-lexer.l"
+#line 152 "web2c-lexer.l"
return last_tok=type_tok;
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 151 "web2c-lexer.l"
+#line 153 "web2c-lexer.l"
return last_tok=until_tok;
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 152 "web2c-lexer.l"
+#line 154 "web2c-lexer.l"
return last_tok=var_tok;
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 153 "web2c-lexer.l"
+#line 155 "web2c-lexer.l"
return last_tok=while_tok;
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 154 "web2c-lexer.l"
+#line 156 "web2c-lexer.l"
return last_tok=others_tok;
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 156 "web2c-lexer.l"
+#line 158 "web2c-lexer.l"
{
sprintf (temp, "%s%s", negbuf, yytext);
negbuf[0] = '\0';
@@ -1332,7 +1335,7 @@ YY_RULE_SETUP
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 162 "web2c-lexer.l"
+#line 164 "web2c-lexer.l"
{
sprintf (temp, "%s%s", negbuf, yytext);
negbuf[0] = '\0';
@@ -1342,18 +1345,18 @@ YY_RULE_SETUP
case 49:
/* rule 49 can match eol */
YY_RULE_SETUP
-#line 168 "web2c-lexer.l"
+#line 170 "web2c-lexer.l"
return last_tok=single_char_tok;
YY_BREAK
case 50:
/* rule 50 can match eol */
YY_RULE_SETUP
-#line 170 "web2c-lexer.l"
+#line 172 "web2c-lexer.l"
return last_tok=string_literal_tok;
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 172 "web2c-lexer.l"
+#line 174 "web2c-lexer.l"
{ if ((last_tok>=undef_id_tok &&
last_tok<=field_id_tok) ||
last_tok==i_num_tok ||
@@ -1365,7 +1368,7 @@ YY_RULE_SETUP
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 181 "web2c-lexer.l"
+#line 183 "web2c-lexer.l"
{ if ((last_tok>=undef_id_tok &&
last_tok<=field_id_tok) ||
last_tok==i_num_tok ||
@@ -1386,102 +1389,102 @@ YY_RULE_SETUP
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 199 "web2c-lexer.l"
+#line 201 "web2c-lexer.l"
return last_tok='*';
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 200 "web2c-lexer.l"
+#line 202 "web2c-lexer.l"
return last_tok='/';
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 201 "web2c-lexer.l"
+#line 203 "web2c-lexer.l"
return last_tok='=';
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 202 "web2c-lexer.l"
+#line 204 "web2c-lexer.l"
return last_tok=not_eq_tok;
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 203 "web2c-lexer.l"
+#line 205 "web2c-lexer.l"
return last_tok='<';
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 204 "web2c-lexer.l"
+#line 206 "web2c-lexer.l"
return last_tok='>';
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 205 "web2c-lexer.l"
+#line 207 "web2c-lexer.l"
return last_tok=less_eq_tok;
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 206 "web2c-lexer.l"
+#line 208 "web2c-lexer.l"
return last_tok=great_eq_tok;
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 207 "web2c-lexer.l"
+#line 209 "web2c-lexer.l"
return last_tok='(';
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 208 "web2c-lexer.l"
+#line 210 "web2c-lexer.l"
return last_tok=')';
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 209 "web2c-lexer.l"
+#line 211 "web2c-lexer.l"
return last_tok='[';
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 210 "web2c-lexer.l"
+#line 212 "web2c-lexer.l"
return last_tok=']';
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 211 "web2c-lexer.l"
+#line 213 "web2c-lexer.l"
return last_tok=assign_tok;
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 212 "web2c-lexer.l"
+#line 214 "web2c-lexer.l"
return last_tok=two_dots_tok;
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 213 "web2c-lexer.l"
+#line 215 "web2c-lexer.l"
return last_tok='.';
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 214 "web2c-lexer.l"
+#line 216 "web2c-lexer.l"
return last_tok=',';
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 215 "web2c-lexer.l"
+#line 217 "web2c-lexer.l"
return last_tok=';';
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 216 "web2c-lexer.l"
+#line 218 "web2c-lexer.l"
return last_tok=':';
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 217 "web2c-lexer.l"
+#line 219 "web2c-lexer.l"
return last_tok='^';
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 219 "web2c-lexer.l"
+#line 221 "web2c-lexer.l"
{ strcpy (last_id, yytext);
l_s = search_table (last_id);
return
@@ -1490,16 +1493,16 @@ YY_RULE_SETUP
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 226 "web2c-lexer.l"
+#line 228 "web2c-lexer.l"
{ /* Any bizarre token will do. */
return last_tok = two_dots_tok; }
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 228 "web2c-lexer.l"
+#line 230 "web2c-lexer.l"
ECHO;
YY_BREAK
-#line 1503 "web2c-lexer.c"
+#line 1506 "web2c-lexer.c"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -2479,7 +2482,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 228 "web2c-lexer.l"
+#line 230 "web2c-lexer.l"
/* Some helper routines. Defining these here means we don't have references
@@ -2578,3 +2581,4 @@ yyerror (const_string s)
/* Avoid silly warnings. */
return 0;
}
+