Tue, 01 Jan 2002 05:02:44 +0000
create temporary TIFF file.
1 /*
2 $Id: scanner.l,v 1.12 2001/12/31 19:46:08 eric Exp $
3 */
5 %option case-insensitive
6 %option noyywrap
8 %{
9 #include <stdio.h>
10 #include <string.h>
11 #include "type.h"
12 #include "semantics.h"
13 #include "parser.tab.h"
15 #ifdef SCANNER_DEBUG
16 #define LDBG(x) printf x
17 #else
18 #define LDBG(x)
19 #endif
20 %}
23 digit [0-9]
24 alpha [a-zA-Z]
25 dot [\.]
27 %%
29 [\,;{}] { return (yytext [0]); }
30 {dot}{dot} { LDBG(("elipsis\n")); return (ELIPSIS); }
32 {digit}+ { yylval.integer = atoi (yytext); LDBG(("integer %d\n", yylval.integer)); return (INTEGER); }
33 {digit}+\.{digit}+ { yylval.fp = atof (yytext); return (FLOAT); }
35 a { yylval.size.width = 8.5 * 25.4;
36 yylval.size.height = 11.0 * 25.4;
37 return (PAGE_SIZE); }
38 b { yylval.size.width = 11.0 * 25.4;
39 yylval.size.height = 17.0 * 25.4;
40 return (PAGE_SIZE); }
41 c { yylval.size.width = 17.0 * 25.4;
42 yylval.size.height = 22.0 * 25.4;
43 return (PAGE_SIZE); }
44 d { yylval.size.width = 22.0 * 25.4;
45 yylval.size.height = 34.0 * 25.4;
46 return (PAGE_SIZE); }
47 e { yylval.size.width = 34.0 * 25.4;
48 yylval.size.height = 44.0 * 25.4;
49 return (PAGE_SIZE); }
51 all { return (ALL); }
52 bookmark { return (BOOKMARK); }
53 cm { return (CM); }
54 crop { return (CROP); }
55 even { return (EVEN); }
56 file { return (FILE_KEYWORD); }
57 image { return (IMAGE); }
58 images { return (IMAGES); }
59 inch { return (INCH); }
60 input { return (INPUT); }
61 label { return (LABEL); }
62 landscape { return (LANDSCAPE); }
63 odd { return (ODD); }
64 output { return (OUTPUT); }
65 page { return (PAGE); }
66 pages { return (PAGES); }
67 portrait { return (PORTRAIT) ; }
68 resolution { return (RESOLUTION) ; }
69 rotate { return (ROTATE); }
70 size { return (SIZE); }
72 '[^\n']' {
73 yylval.character = yytext [1];
74 return (CHARACTER);
75 }
77 \"[^\n"]*\" {
78 int len = strlen (yytext) - 2;
79 yylval.string = malloc (len + 1);
80 memcpy (yylval.string, yytext + 1, len);
81 yylval.string [len] = '\0';
82 LDBG (("string \"%s\"\n", yylval.string));
83 return (STRING);
84 }
86 [ \t]+ /* whitespace */
87 \n { line++; }
89 --.* /* Ada/VHDL style one-line comment */
90 #.* /* shell-style one-line comment */
92 . { fprintf (stderr, "Unrecognized character: %s\n", yytext); }
94 %%