6 #if defined(__GNUWIN32__) && !defined(__TWIN32__)
7 #include <sys/unistd.h>
13 #define __EXTERN_C__ 1
16 #if defined(__cplusplus) || defined(__STDC__)
17 #if defined(__cplusplus) && defined(__EXTERN_C__)
24 int yyback(int *, int);
27 /* You may need to put /DLEX_SCANNER in your makefile
28 * if you're using LEX!
32 #if defined(__cplusplus) || defined(__STDC__)
33 #if defined(__cplusplus) && defined(__EXTERN_C__)
41 /* struct pexpr *expr; */
57 %token CLOSE_SQUARE 10
61 /* %type <expr> command expr arglist arg arg1 */
62 %type <s> command expr arglist arg arg1
66 commands : /* empty */
71 {process_command(proio_cons(wxmake_word($1), NULL)); free($1);}
73 {process_command($1);}
75 {syntax_error("Unrecognized command.");}
78 expr : WORD OPEN arglist CLOSE
79 {$$ = proio_cons(wxmake_word($1), $3); free($1);}
80 | OPEN_SQUARE CLOSE_SQUARE
81 {$$ = proio_cons(NULL, NULL);}
82 | OPEN_SQUARE arglist CLOSE_SQUARE
89 {$$ = proio_cons($1, NULL);}
92 {$$ = proio_cons($1, $3);}
95 arg : WORD EQUALS arg1
96 {$$ = proio_cons(wxmake_word("="), proio_cons(wxmake_word($1), proio_cons($3, NULL)));
102 {$$ = wxmake_word($1); free($1);}
104 {$$ = wxmake_string($1); free($1);}
106 {$$ = wxmake_integer($1); free($1);}
107 | INTEGER PERIOD INTEGER
108 {$$ = wxmake_real($1, $3); free($1); free($3); }
109 | INTEGER EXP INTEGER
110 {$$ = wxmake_exp($1, $3); free($1); free($3); }
112 INTEGER PERIOD INTEGER EXP INTEGER
113 {$$ = wxmake_exp2($1, $3, $5); free($1); free($3);
122 #if (defined(__WXGTK__) || defined(__WXMOTIF__)) && !defined(NO_CONFIGURE)
125 #if (defined(__MWERKS__))
126 #include "../common/cwlex_yy.c"
128 #include "../common/lex_yy.c"
140 /* Ansi prototype. If this doesn't work for you... uncomment
144 void yyerror(char *s)
150 * Unfortunately, my DOS version of FLEX
151 * requires yywrap to be #def'ed, whereas
152 * the UNIX flex expects a proper function.
155 /* Not sure if __SC__ is the appropriate thing
164 #else if !defined(__alpha___) && !defined(__ultrix)
165 int yywrap() { return 1; }