Changeset c3776f in git for modules/modgen
- Timestamp:
- Feb 14, 2000, 10:47:10 PM (24 years ago)
- Branches:
- (u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'd08f5f0bb3329b8ca19f23b74cb1473686415c3a')
- Children:
- e56e690882b68d43ad8fdea3b2fb6491b114bb09
- Parents:
- 6f9fc9da63f8977922660d8b028df13336cec5b4
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
modules/modgen/scanner.l
r6f9fc9 rc3776f 3 3 * Computer Algebra System SINGULAR * 4 4 ****************************************/ 5 /* $Id: scanner.l,v 1. 5 2000-01-27 12:40:55krueger Exp $ */5 /* $Id: scanner.l,v 1.6 2000-02-14 21:47:10 krueger Exp $ */ 6 6 #include <stdio.h> 7 7 #include <string.h> … … 125 125 %x SECT3 126 126 %x PROCDECL 127 %x EXAMPLE 127 128 128 129 %x pdef … … 259 260 return PROCDECLTOK; 260 261 } 261 example +{WSNL}+"{"{262 example { 262 263 printf(">>>EXAMPLE\n"); 263 brace1 = 1; /* { */264 brace1 = 0; /* { */ 264 265 brace2 = 0; /* ( */ 265 266 brace3 = 0; /* [ */ 266 push_state(YYSTATE, CODEBLOCK2, "CODEBLOCK2");267 push_state(YYSTATE, EXAMPLE, "EXAMPLE"); 267 268 return EXAMPLETOK; 268 269 } 270 static { return STATICTOK; } 271 {NAME} { 272 int i,tok; 273 #if DEBUG > 1 274 printf("(%d) VAR: %s\n", yylineno, yytext); 275 #endif 276 i = IsCmd(yytext, tok); 277 #if DEBUG > 1 278 printf("Res=%d, %d => %s\n", i, tok, 279 i ? "VARTYPETOK" : "NAME"); 280 #endif 281 if(i) { 282 lvalp->tp.name = strdup(yytext); 283 lvalp->tp.typ = tok; 284 push_state(YYSTATE, PROCDECL, "PROCDECL"); 285 return VARTYPETOK; 286 } 287 else { 288 //do_return++; 289 lvalp->name = strdup(yytext); 290 push_state(YYSTATE, PROCDECL, "PROCDECL"); 291 return NAME; 292 } 293 } 269 294 . { printf("<<<'%s' ", yytext); } 270 271 } 295 } 296 297 <EXAMPLE>{ 298 {NL} { yylineno++; } 299 {WS} /* ignore */ 300 "{" { brace1++; 301 switch_state(YYSTATE, CODEBLOCK2, "CODEBLOCK2"); 302 return '{'; 303 } 304 . { printf("ERROR <<<'%s' ", yytext); } 305 } 272 306 273 307 <SECT3>{ … … 321 355 ")" { return ')'; } 322 356 "," { return ','; } 357 "#" { return '#'; } 323 358 "=" { return '='; } 324 359 ";" { return ';'; } … … 365 400 <PROCCMDBLOCK>{ 366 401 {col} { pop_state(); return ';'; } 367 "(" { return '('; } 368 ")" { return ')'; } 369 {WS} /* ignore */ 402 "(" { return '('; } 403 ")" { return ')'; } 404 "," { return ','; } 405 {WS} /* ignore */ 370 406 {NAME} { lvalp->name = strdup(yytext); return NAME; } 407 {NL} { yylineno++; } 408 "::" { return MCOLONCOLON; } 371 409 . { printf("PCB: '%s'\n", yytext); } 372 410 }
Note: See TracChangeset
for help on using the changeset viewer.