7 #if defined(__GNUWIN32__) && !defined(__TWIN32__)
8 #include <sys/unistd.h>
14 #define __EXTERN_C__ 1
17 #if defined(__cplusplus) || defined(__STDC__)
18 #if defined(__cplusplus) && defined(__EXTERN_C__)
25 int yyback(int *, int);
28 /* You may need to put /DLEX_SCANNER in your makefile
29 * if you're using LEX!
33 #if defined(__cplusplus) || defined(__STDC__)
34 #if defined(__cplusplus) && defined(__EXTERN_C__)
42 /* struct pexpr *expr; */
58 %token CLOSE_SQUARE 10
62 /* %type <expr> command expr arglist arg arg1 */
63 %type <s> command expr arglist arg arg1
67 commands : /* empty */
72 {process_command(proio_cons(wxmake_word($1), NULL)); free($1);}
74 {process_command($1);}
76 {syntax_error("Unrecognized command.");}
79 expr : WORD OPEN arglist CLOSE
80 {$$ = proio_cons(wxmake_word($1), $3); free($1);}
81 | OPEN_SQUARE CLOSE_SQUARE
82 {$$ = proio_cons(NULL, NULL);}
83 | OPEN_SQUARE arglist CLOSE_SQUARE
90 {$$ = proio_cons($1, NULL);}
93 {$$ = proio_cons($1, $3);}
96 arg : WORD EQUALS arg1
97 {$$ = proio_cons(wxmake_word("="), proio_cons(wxmake_word($1), proio_cons($3, NULL)));
103 {$$ = wxmake_word($1); free($1);}
105 {$$ = wxmake_string($1); free($1);}
107 {$$ = wxmake_integer($1); free($1);}
108 | INTEGER PERIOD INTEGER
109 {$$ = wxmake_real($1, $3); free($1); free($3); }
110 | INTEGER EXP INTEGER
111 {$$ = wxmake_exp($1, $3); free($1); free($3); }
113 INTEGER PERIOD INTEGER EXP INTEGER
114 {$$ = wxmake_exp2($1, $3, $5); free($1); free($3);
123 /* We include lexer.c if we are building for gtk, wine or motif
124 * and also whenever we are using configure (marked by __WX_SETUP_H__) for,
125 * for example, cross compilation. */
126 #if (defined(__WXGTK__) || defined(__WXWINE__) || defined(__WXMOTIF__)) || defined(__WX_SETUP_H__) && !defined(NO_CONFIGURE)
129 #if (defined(__MWERKS__))
130 #include "../common/cwlex_yy.c"
132 #include "../common/lex_yy.c"
144 /* Ansi prototype. If this doesn't work for you... uncomment
148 void yyerror(char *s)
154 * Unfortunately, my DOS version of FLEX
155 * requires yywrap to be #def'ed, whereas
156 * the UNIX flex expects a proper function.
159 /* Not sure if __SC__ is the appropriate thing
163 /* HH: Added test for __WX_SETUP_H__ for gnuwin builds
165 #if !defined(__SC__) && !defined(__GNUWIN32__)
170 #elif !defined(__ultrix)
171 int yywrap() { return 1; }
172 #elif defined(__VMS__)
173 int yywrap() { return 1; }
175 #elif defined(__WX_SETUP_H__)
176 int yywrap() { return 1; }