bool 1.0.14 → 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,350 +1,7 @@
1
- #ifndef yyHEADER_H
2
- #define yyHEADER_H 1
3
- #define yyIN_HEADER 1
1
+ #include "ast.h"
4
2
 
5
- #line 6 "lexer.h"
3
+ void scan_init(const char* data);
6
4
 
7
- #line 8 "lexer.h"
5
+ int yylex(void);
8
6
 
9
- #define YY_INT_ALIGNED short int
10
-
11
- /* A lexical scanner generated by flex */
12
-
13
- #define FLEX_SCANNER
14
- #define YY_FLEX_MAJOR_VERSION 2
15
- #define YY_FLEX_MINOR_VERSION 5
16
- #define YY_FLEX_SUBMINOR_VERSION 37
17
- #if YY_FLEX_SUBMINOR_VERSION > 0
18
- #define FLEX_BETA
19
- #endif
20
-
21
- /* First, we deal with platform-specific or compiler-specific issues. */
22
-
23
- /* begin standard C headers. */
24
- #include <stdio.h>
25
- #include <string.h>
26
- #include <errno.h>
27
- #include <stdlib.h>
28
-
29
- /* end standard C headers. */
30
-
31
- /* flex integer type definitions */
32
-
33
- #ifndef FLEXINT_H
34
- #define FLEXINT_H
35
-
36
- /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
37
-
38
- #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
39
-
40
- /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
41
- * if you want the limit (max/min) macros for int types.
42
- */
43
- #ifndef __STDC_LIMIT_MACROS
44
- #define __STDC_LIMIT_MACROS 1
45
- #endif
46
-
47
- #include <inttypes.h>
48
- typedef int8_t flex_int8_t;
49
- typedef uint8_t flex_uint8_t;
50
- typedef int16_t flex_int16_t;
51
- typedef uint16_t flex_uint16_t;
52
- typedef int32_t flex_int32_t;
53
- typedef uint32_t flex_uint32_t;
54
- #else
55
- typedef signed char flex_int8_t;
56
- typedef short int flex_int16_t;
57
- typedef int flex_int32_t;
58
- typedef unsigned char flex_uint8_t;
59
- typedef unsigned short int flex_uint16_t;
60
- typedef unsigned int flex_uint32_t;
61
-
62
- /* Limits of integral types. */
63
- #ifndef INT8_MIN
64
- #define INT8_MIN (-128)
65
- #endif
66
- #ifndef INT16_MIN
67
- #define INT16_MIN (-32767-1)
68
- #endif
69
- #ifndef INT32_MIN
70
- #define INT32_MIN (-2147483647-1)
71
- #endif
72
- #ifndef INT8_MAX
73
- #define INT8_MAX (127)
74
- #endif
75
- #ifndef INT16_MAX
76
- #define INT16_MAX (32767)
77
- #endif
78
- #ifndef INT32_MAX
79
- #define INT32_MAX (2147483647)
80
- #endif
81
- #ifndef UINT8_MAX
82
- #define UINT8_MAX (255U)
83
- #endif
84
- #ifndef UINT16_MAX
85
- #define UINT16_MAX (65535U)
86
- #endif
87
- #ifndef UINT32_MAX
88
- #define UINT32_MAX (4294967295U)
89
- #endif
90
-
91
- #endif /* ! C99 */
92
-
93
- #endif /* ! FLEXINT_H */
94
-
95
- #ifdef __cplusplus
96
-
97
- /* The "const" storage-class-modifier is valid. */
98
- #define YY_USE_CONST
99
-
100
- #else /* ! __cplusplus */
101
-
102
- /* C99 requires __STDC__ to be defined as 1. */
103
- #if defined (__STDC__)
104
-
105
- #define YY_USE_CONST
106
-
107
- #endif /* defined (__STDC__) */
108
- #endif /* ! __cplusplus */
109
-
110
- #ifdef YY_USE_CONST
111
- #define yyconst const
112
- #else
113
- #define yyconst
114
- #endif
115
-
116
- /* An opaque pointer. */
117
- #ifndef YY_TYPEDEF_YY_SCANNER_T
118
- #define YY_TYPEDEF_YY_SCANNER_T
119
- typedef void* yyscan_t;
120
- #endif
121
-
122
- /* For convenience, these vars (plus the bison vars far below)
123
- are macros in the reentrant scanner. */
124
- #define yyin yyg->yyin_r
125
- #define yyout yyg->yyout_r
126
- #define yyextra yyg->yyextra_r
127
- #define yyleng yyg->yyleng_r
128
- #define yytext yyg->yytext_r
129
- #define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
130
- #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
131
- #define yy_flex_debug yyg->yy_flex_debug_r
132
-
133
- /* Size of default input buffer. */
134
- #ifndef YY_BUF_SIZE
135
- #define YY_BUF_SIZE 16384
136
- #endif
137
-
138
- #ifndef YY_TYPEDEF_YY_BUFFER_STATE
139
- #define YY_TYPEDEF_YY_BUFFER_STATE
140
- typedef struct yy_buffer_state *YY_BUFFER_STATE;
141
- #endif
142
-
143
- #ifndef YY_TYPEDEF_YY_SIZE_T
144
- #define YY_TYPEDEF_YY_SIZE_T
145
- typedef size_t yy_size_t;
146
- #endif
147
-
148
- #ifndef YY_STRUCT_YY_BUFFER_STATE
149
- #define YY_STRUCT_YY_BUFFER_STATE
150
- struct yy_buffer_state
151
- {
152
- FILE *yy_input_file;
153
-
154
- char *yy_ch_buf; /* input buffer */
155
- char *yy_buf_pos; /* current position in input buffer */
156
-
157
- /* Size of input buffer in bytes, not including room for EOB
158
- * characters.
159
- */
160
- yy_size_t yy_buf_size;
161
-
162
- /* Number of characters read into yy_ch_buf, not including EOB
163
- * characters.
164
- */
165
- yy_size_t yy_n_chars;
166
-
167
- /* Whether we "own" the buffer - i.e., we know we created it,
168
- * and can realloc() it to grow it, and should free() it to
169
- * delete it.
170
- */
171
- int yy_is_our_buffer;
172
-
173
- /* Whether this is an "interactive" input source; if so, and
174
- * if we're using stdio for input, then we want to use getc()
175
- * instead of fread(), to make sure we stop fetching input after
176
- * each newline.
177
- */
178
- int yy_is_interactive;
179
-
180
- /* Whether we're considered to be at the beginning of a line.
181
- * If so, '^' rules will be active on the next match, otherwise
182
- * not.
183
- */
184
- int yy_at_bol;
185
-
186
- int yy_bs_lineno; /**< The line count. */
187
- int yy_bs_column; /**< The column count. */
188
-
189
- /* Whether to try to fill the input buffer when we reach the
190
- * end of it.
191
- */
192
- int yy_fill_buffer;
193
-
194
- int yy_buffer_status;
195
-
196
- };
197
- #endif /* !YY_STRUCT_YY_BUFFER_STATE */
198
-
199
- void yyrestart (FILE *input_file ,yyscan_t yyscanner );
200
- void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
201
- YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
202
- void yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
203
- void yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
204
- void yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
205
- void yypop_buffer_state (yyscan_t yyscanner );
206
-
207
- YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
208
- YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
209
- YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
210
-
211
- void *yyalloc (yy_size_t ,yyscan_t yyscanner );
212
- void *yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
213
- void yyfree (void * ,yyscan_t yyscanner );
214
-
215
- /* Begin user sect3 */
216
-
217
- #define yywrap(yyscanner) 1
218
- #define YY_SKIP_YYWRAP
219
-
220
- #define yytext_ptr yytext_r
221
-
222
- #ifdef YY_HEADER_EXPORT_START_CONDITIONS
223
- #define INITIAL 0
224
-
225
- #endif
226
-
227
- #ifndef YY_NO_UNISTD_H
228
- /* Special case for "unistd.h", since it is non-ANSI. We include it way
229
- * down here because we want the user's section 1 to have been scanned first.
230
- * The user has a chance to override it with an option.
231
- */
232
- #include <unistd.h>
233
- #endif
234
-
235
- #ifndef YY_EXTRA_TYPE
236
- #define YY_EXTRA_TYPE void *
237
- #endif
238
-
239
- int yylex_init (yyscan_t* scanner);
240
-
241
- int yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
242
-
243
- /* Accessor methods to globals.
244
- These are made visible to non-reentrant scanners for convenience. */
245
-
246
- int yylex_destroy (yyscan_t yyscanner );
247
-
248
- int yyget_debug (yyscan_t yyscanner );
249
-
250
- void yyset_debug (int debug_flag ,yyscan_t yyscanner );
251
-
252
- YY_EXTRA_TYPE yyget_extra (yyscan_t yyscanner );
253
-
254
- void yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
255
-
256
- FILE *yyget_in (yyscan_t yyscanner );
257
-
258
- void yyset_in (FILE * in_str ,yyscan_t yyscanner );
259
-
260
- FILE *yyget_out (yyscan_t yyscanner );
261
-
262
- void yyset_out (FILE * out_str ,yyscan_t yyscanner );
263
-
264
- yy_size_t yyget_leng (yyscan_t yyscanner );
265
-
266
- char *yyget_text (yyscan_t yyscanner );
267
-
268
- int yyget_lineno (yyscan_t yyscanner );
269
-
270
- void yyset_lineno (int line_number ,yyscan_t yyscanner );
271
-
272
- int yyget_column (yyscan_t yyscanner );
273
-
274
- void yyset_column (int column_no ,yyscan_t yyscanner );
275
-
276
- YYSTYPE * yyget_lval (yyscan_t yyscanner );
277
-
278
- void yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
279
-
280
- YYLTYPE *yyget_lloc (yyscan_t yyscanner );
281
-
282
- void yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
283
-
284
- /* Macros after this point can all be overridden by user definitions in
285
- * section 1.
286
- */
287
-
288
- #ifndef YY_SKIP_YYWRAP
289
- #ifdef __cplusplus
290
- extern "C" int yywrap (yyscan_t yyscanner );
291
- #else
292
- extern int yywrap (yyscan_t yyscanner );
293
- #endif
294
- #endif
295
-
296
- #ifndef yytext_ptr
297
- static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
298
- #endif
299
-
300
- #ifdef YY_NEED_STRLEN
301
- static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
302
- #endif
303
-
304
- #ifndef YY_NO_INPUT
305
-
306
- #endif
307
-
308
- /* Amount of stuff to slurp up with each read. */
309
- #ifndef YY_READ_BUF_SIZE
310
- #define YY_READ_BUF_SIZE 8192
311
- #endif
312
-
313
- /* Number of entries by which start-condition stack grows. */
314
- #ifndef YY_START_STACK_INCR
315
- #define YY_START_STACK_INCR 25
316
- #endif
317
-
318
- /* Default declaration of generated scanner - a define so the user can
319
- * easily add parameters.
320
- */
321
- #ifndef YY_DECL
322
- #define YY_DECL_IS_OURS 1
323
-
324
- extern int yylex \
325
- (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
326
-
327
- #define YY_DECL int yylex \
328
- (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
329
- #endif /* !YY_DECL */
330
-
331
- /* yy_get_previous_state - get the state just before the EOB char was reached */
332
-
333
- #undef YY_NEW_FILE
334
- #undef YY_FLUSH_BUFFER
335
- #undef yy_set_bol
336
- #undef yy_new_buffer
337
- #undef yy_set_interactive
338
- #undef YY_DO_BEFORE_ACTION
339
-
340
- #ifdef YY_DECL_IS_OURS
341
- #undef YY_DECL_IS_OURS
342
- #undef YY_DECL
343
- #endif
344
-
345
- #line 32 "lexer.l"
346
-
347
-
348
- #line 349 "lexer.h"
349
- #undef yyIN_HEADER
350
- #endif /* yyHEADER_H */
7
+ void yyerror(Node** node, const char* msg);
@@ -50,7 +50,7 @@
50
50
  #define YYSKELETON_NAME "yacc.c"
51
51
 
52
52
  /* Pure parsers. */
53
- #define YYPURE 1
53
+ #define YYPURE 0
54
54
 
55
55
  /* Push parsers. */
56
56
  #define YYPUSH 0
@@ -66,14 +66,13 @@
66
66
  #line 1 "parser.y"
67
67
 
68
68
 
69
+ #include <stdio.h>
69
70
  #include "parser.h"
70
71
  #include "lexer.h"
71
72
 
72
- void yyerror(YYLTYPE *locp, yyscan_t scanner, Node** node, const char* msg);
73
-
74
73
 
75
74
  /* Line 371 of yacc.c */
76
- #line 77 "parser.c"
75
+ #line 76 "parser.c"
77
76
 
78
77
  # ifndef YY_NULL
79
78
  # if defined __cplusplus && 201103L <= __cplusplus
@@ -104,18 +103,13 @@ extern int yydebug;
104
103
  #endif
105
104
  /* "%code requires" blocks. */
106
105
  /* Line 387 of yacc.c */
107
- #line 10 "parser.y"
108
-
106
+ #line 9 "parser.y"
109
107
 
110
108
  #include "ast.h"
111
- #ifndef YY_TYPEDEF_YY_SCANNER_T
112
- #define YY_TYPEDEF_YY_SCANNER_T
113
- typedef void* yyscan_t;
114
- #endif
115
109
 
116
110
 
117
111
  /* Line 387 of yacc.c */
118
- #line 119 "parser.c"
112
+ #line 113 "parser.c"
119
113
 
120
114
  /* Tokens. */
121
115
  #ifndef YYTOKENTYPE
@@ -138,14 +132,14 @@ typedef void* yyscan_t;
138
132
  typedef union YYSTYPE
139
133
  {
140
134
  /* Line 387 of yacc.c */
141
- #line 30 "parser.y"
135
+ #line 21 "parser.y"
142
136
 
143
- char* value;
137
+ Token* token;
144
138
  Node* node;
145
139
 
146
140
 
147
141
  /* Line 387 of yacc.c */
148
- #line 149 "parser.c"
142
+ #line 143 "parser.c"
149
143
  } YYSTYPE;
150
144
  # define YYSTYPE_IS_TRIVIAL 1
151
145
  # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -165,7 +159,8 @@ typedef struct YYLTYPE
165
159
  # define YYLTYPE_IS_TRIVIAL 1
166
160
  #endif
167
161
 
168
-
162
+ extern YYSTYPE yylval;
163
+ extern YYLTYPE yylloc;
169
164
  #ifdef YYPARSE_PARAM
170
165
  #if defined __STDC__ || defined __cplusplus
171
166
  int yyparse (void *YYPARSE_PARAM);
@@ -174,7 +169,7 @@ int yyparse ();
174
169
  #endif
175
170
  #else /* ! YYPARSE_PARAM */
176
171
  #if defined __STDC__ || defined __cplusplus
177
- int yyparse (Node** node, yyscan_t scanner);
172
+ int yyparse (Node** node);
178
173
  #else
179
174
  int yyparse ();
180
175
  #endif
@@ -185,7 +180,7 @@ int yyparse ();
185
180
  /* Copy the second part of user declarations. */
186
181
 
187
182
  /* Line 390 of yacc.c */
188
- #line 189 "parser.c"
183
+ #line 184 "parser.c"
189
184
 
190
185
  #ifdef short
191
186
  # undef short
@@ -476,7 +471,7 @@ static const yytype_int8 yyrhs[] =
476
471
  /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
477
472
  static const yytype_uint8 yyrline[] =
478
473
  {
479
- 0, 51, 51, 55, 56, 57, 58, 59
474
+ 0, 42, 42, 46, 47, 48, 49, 50
480
475
  };
481
476
  #endif
482
477
 
@@ -611,7 +606,7 @@ do \
611
606
  } \
612
607
  else \
613
608
  { \
614
- yyerror (&yylloc, node, scanner, YY_("syntax error: cannot back up")); \
609
+ yyerror (node, YY_("syntax error: cannot back up")); \
615
610
  YYERROR; \
616
611
  } \
617
612
  while (YYID (0))
@@ -702,9 +697,9 @@ yy_location_print_ (yyo, yylocp)
702
697
 
703
698
  /* YYLEX -- calling `yylex' with the right arguments. */
704
699
  #ifdef YYLEX_PARAM
705
- # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
700
+ # define YYLEX yylex (YYLEX_PARAM)
706
701
  #else
707
- # define YYLEX yylex (&yylval, &yylloc, scanner)
702
+ # define YYLEX yylex ()
708
703
  #endif
709
704
 
710
705
  /* Enable debugging if requested. */
@@ -727,7 +722,7 @@ do { \
727
722
  { \
728
723
  YYFPRINTF (stderr, "%s ", Title); \
729
724
  yy_symbol_print (stderr, \
730
- Type, Value, Location, node, scanner); \
725
+ Type, Value, Location, node); \
731
726
  YYFPRINTF (stderr, "\n"); \
732
727
  } \
733
728
  } while (YYID (0))
@@ -741,16 +736,15 @@ do { \
741
736
  #if (defined __STDC__ || defined __C99__FUNC__ \
742
737
  || defined __cplusplus || defined _MSC_VER)
743
738
  static void
744
- yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, Node** node, yyscan_t scanner)
739
+ yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, Node** node)
745
740
  #else
746
741
  static void
747
- yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, node, scanner)
742
+ yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, node)
748
743
  FILE *yyoutput;
749
744
  int yytype;
750
745
  YYSTYPE const * const yyvaluep;
751
746
  YYLTYPE const * const yylocationp;
752
747
  Node** node;
753
- yyscan_t scanner;
754
748
  #endif
755
749
  {
756
750
  FILE *yyo = yyoutput;
@@ -759,7 +753,6 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, node, scanner)
759
753
  return;
760
754
  YYUSE (yylocationp);
761
755
  YYUSE (node);
762
- YYUSE (scanner);
763
756
  # ifdef YYPRINT
764
757
  if (yytype < YYNTOKENS)
765
758
  YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
@@ -781,16 +774,15 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, node, scanner)
781
774
  #if (defined __STDC__ || defined __C99__FUNC__ \
782
775
  || defined __cplusplus || defined _MSC_VER)
783
776
  static void
784
- yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, Node** node, yyscan_t scanner)
777
+ yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, Node** node)
785
778
  #else
786
779
  static void
787
- yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, node, scanner)
780
+ yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, node)
788
781
  FILE *yyoutput;
789
782
  int yytype;
790
783
  YYSTYPE const * const yyvaluep;
791
784
  YYLTYPE const * const yylocationp;
792
785
  Node** node;
793
- yyscan_t scanner;
794
786
  #endif
795
787
  {
796
788
  if (yytype < YYNTOKENS)
@@ -800,7 +792,7 @@ yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, node, scanner)
800
792
 
801
793
  YY_LOCATION_PRINT (yyoutput, *yylocationp);
802
794
  YYFPRINTF (yyoutput, ": ");
803
- yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, node, scanner);
795
+ yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, node);
804
796
  YYFPRINTF (yyoutput, ")");
805
797
  }
806
798
 
@@ -843,15 +835,14 @@ do { \
843
835
  #if (defined __STDC__ || defined __C99__FUNC__ \
844
836
  || defined __cplusplus || defined _MSC_VER)
845
837
  static void
846
- yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, Node** node, yyscan_t scanner)
838
+ yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, Node** node)
847
839
  #else
848
840
  static void
849
- yy_reduce_print (yyvsp, yylsp, yyrule, node, scanner)
841
+ yy_reduce_print (yyvsp, yylsp, yyrule, node)
850
842
  YYSTYPE *yyvsp;
851
843
  YYLTYPE *yylsp;
852
844
  int yyrule;
853
845
  Node** node;
854
- yyscan_t scanner;
855
846
  #endif
856
847
  {
857
848
  int yynrhs = yyr2[yyrule];
@@ -865,7 +856,7 @@ yy_reduce_print (yyvsp, yylsp, yyrule, node, scanner)
865
856
  YYFPRINTF (stderr, " $%d = ", yyi + 1);
866
857
  yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
867
858
  &(yyvsp[(yyi + 1) - (yynrhs)])
868
- , &(yylsp[(yyi + 1) - (yynrhs)]) , node, scanner);
859
+ , &(yylsp[(yyi + 1) - (yynrhs)]) , node);
869
860
  YYFPRINTF (stderr, "\n");
870
861
  }
871
862
  }
@@ -873,7 +864,7 @@ yy_reduce_print (yyvsp, yylsp, yyrule, node, scanner)
873
864
  # define YY_REDUCE_PRINT(Rule) \
874
865
  do { \
875
866
  if (yydebug) \
876
- yy_reduce_print (yyvsp, yylsp, Rule, node, scanner); \
867
+ yy_reduce_print (yyvsp, yylsp, Rule, node); \
877
868
  } while (YYID (0))
878
869
 
879
870
  /* Nonzero means print parse trace. It is left uninitialized so that
@@ -1153,22 +1144,20 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
1153
1144
  #if (defined __STDC__ || defined __C99__FUNC__ \
1154
1145
  || defined __cplusplus || defined _MSC_VER)
1155
1146
  static void
1156
- yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, Node** node, yyscan_t scanner)
1147
+ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, Node** node)
1157
1148
  #else
1158
1149
  static void
1159
- yydestruct (yymsg, yytype, yyvaluep, yylocationp, node, scanner)
1150
+ yydestruct (yymsg, yytype, yyvaluep, yylocationp, node)
1160
1151
  const char *yymsg;
1161
1152
  int yytype;
1162
1153
  YYSTYPE *yyvaluep;
1163
1154
  YYLTYPE *yylocationp;
1164
1155
  Node** node;
1165
- yyscan_t scanner;
1166
1156
  #endif
1167
1157
  {
1168
1158
  YYUSE (yyvaluep);
1169
1159
  YYUSE (yylocationp);
1170
1160
  YYUSE (node);
1171
- YYUSE (scanner);
1172
1161
 
1173
1162
  if (!yymsg)
1174
1163
  yymsg = "Deleting";
@@ -1185,6 +1174,33 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, node, scanner)
1185
1174
 
1186
1175
 
1187
1176
 
1177
+ /* The lookahead symbol. */
1178
+ int yychar;
1179
+
1180
+
1181
+ #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1182
+ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1183
+ # define YY_IGNORE_MAYBE_UNINITIALIZED_END
1184
+ #endif
1185
+ #ifndef YY_INITIAL_VALUE
1186
+ # define YY_INITIAL_VALUE(Value) /* Nothing. */
1187
+ #endif
1188
+
1189
+ /* The semantic value of the lookahead symbol. */
1190
+ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
1191
+
1192
+ /* Location data for the lookahead symbol. */
1193
+ YYLTYPE yylloc
1194
+ # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
1195
+ = { 1, 1, 1, 1 }
1196
+ # endif
1197
+ ;
1198
+
1199
+
1200
+ /* Number of syntax errors so far. */
1201
+ int yynerrs;
1202
+
1203
+
1188
1204
  /*----------.
1189
1205
  | yyparse. |
1190
1206
  `----------*/
@@ -1203,56 +1219,14 @@ yyparse (YYPARSE_PARAM)
1203
1219
  #if (defined __STDC__ || defined __C99__FUNC__ \
1204
1220
  || defined __cplusplus || defined _MSC_VER)
1205
1221
  int
1206
- yyparse (Node** node, yyscan_t scanner)
1222
+ yyparse (Node** node)
1207
1223
  #else
1208
1224
  int
1209
- yyparse (node, scanner)
1225
+ yyparse (node)
1210
1226
  Node** node;
1211
- yyscan_t scanner;
1212
1227
  #endif
1213
1228
  #endif
1214
1229
  {
1215
- /* The lookahead symbol. */
1216
- int yychar;
1217
-
1218
-
1219
- #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
1220
- /* Suppress an incorrect diagnostic about yylval being uninitialized. */
1221
- # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
1222
- _Pragma ("GCC diagnostic push") \
1223
- _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
1224
- _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
1225
- # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
1226
- _Pragma ("GCC diagnostic pop")
1227
- #else
1228
- /* Default value used for initialization, for pacifying older GCCs
1229
- or non-GCC compilers. */
1230
- static YYSTYPE yyval_default;
1231
- # define YY_INITIAL_VALUE(Value) = Value
1232
- #endif
1233
- static YYLTYPE yyloc_default
1234
- # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
1235
- = { 1, 1, 1, 1 }
1236
- # endif
1237
- ;
1238
- #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1239
- # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1240
- # define YY_IGNORE_MAYBE_UNINITIALIZED_END
1241
- #endif
1242
- #ifndef YY_INITIAL_VALUE
1243
- # define YY_INITIAL_VALUE(Value) /* Nothing. */
1244
- #endif
1245
-
1246
- /* The semantic value of the lookahead symbol. */
1247
- YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
1248
-
1249
- /* Location data for the lookahead symbol. */
1250
- YYLTYPE yylloc = yyloc_default;
1251
-
1252
-
1253
- /* Number of syntax errors so far. */
1254
- int yynerrs;
1255
-
1256
1230
  int yystate;
1257
1231
  /* Number of tokens to shift before error messages enabled. */
1258
1232
  int yyerrstatus;
@@ -1504,44 +1478,44 @@ yyreduce:
1504
1478
  switch (yyn)
1505
1479
  {
1506
1480
  case 2:
1507
- /* Line 1792 of yacc.c */
1508
- #line 51 "parser.y"
1481
+ /* Line 1807 of yacc.c */
1482
+ #line 42 "parser.y"
1509
1483
  { *node = (yyvsp[(1) - (1)].node); }
1510
1484
  break;
1511
1485
 
1512
1486
  case 3:
1513
- /* Line 1792 of yacc.c */
1514
- #line 55 "parser.y"
1515
- { (yyval.node) = create_var((yyvsp[(1) - (1)].value)); }
1487
+ /* Line 1807 of yacc.c */
1488
+ #line 46 "parser.y"
1489
+ { (yyval.node) = create_var((yyvsp[(1) - (1)].token)); }
1516
1490
  break;
1517
1491
 
1518
1492
  case 4:
1519
- /* Line 1792 of yacc.c */
1520
- #line 56 "parser.y"
1521
- { (yyval.node) = create_and((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); }
1493
+ /* Line 1807 of yacc.c */
1494
+ #line 47 "parser.y"
1495
+ { (yyval.node) = create_and((yyvsp[(2) - (3)].token), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); }
1522
1496
  break;
1523
1497
 
1524
1498
  case 5:
1525
- /* Line 1792 of yacc.c */
1526
- #line 57 "parser.y"
1527
- { (yyval.node) = create_or((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); }
1499
+ /* Line 1807 of yacc.c */
1500
+ #line 48 "parser.y"
1501
+ { (yyval.node) = create_or((yyvsp[(2) - (3)].token), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); }
1528
1502
  break;
1529
1503
 
1530
1504
  case 6:
1531
- /* Line 1792 of yacc.c */
1532
- #line 58 "parser.y"
1533
- { (yyval.node) = create_not((yyvsp[(2) - (2)].node)); }
1505
+ /* Line 1807 of yacc.c */
1506
+ #line 49 "parser.y"
1507
+ { (yyval.node) = create_not((yyvsp[(1) - (2)].token), (yyvsp[(2) - (2)].node)); }
1534
1508
  break;
1535
1509
 
1536
1510
  case 7:
1537
- /* Line 1792 of yacc.c */
1538
- #line 59 "parser.y"
1511
+ /* Line 1807 of yacc.c */
1512
+ #line 50 "parser.y"
1539
1513
  { (yyval.node) = (yyvsp[(2) - (3)].node); }
1540
1514
  break;
1541
1515
 
1542
1516
 
1543
- /* Line 1792 of yacc.c */
1544
- #line 1545 "parser.c"
1517
+ /* Line 1807 of yacc.c */
1518
+ #line 1519 "parser.c"
1545
1519
  default: break;
1546
1520
  }
1547
1521
  /* User semantic actions sometimes alter yychar, and that requires
@@ -1592,7 +1566,7 @@ yyerrlab:
1592
1566
  {
1593
1567
  ++yynerrs;
1594
1568
  #if ! YYERROR_VERBOSE
1595
- yyerror (&yylloc, node, scanner, YY_("syntax error"));
1569
+ yyerror (node, YY_("syntax error"));
1596
1570
  #else
1597
1571
  # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
1598
1572
  yyssp, yytoken)
@@ -1619,7 +1593,7 @@ yyerrlab:
1619
1593
  yymsgp = yymsg;
1620
1594
  }
1621
1595
  }
1622
- yyerror (&yylloc, node, scanner, yymsgp);
1596
+ yyerror (node, yymsgp);
1623
1597
  if (yysyntax_error_status == 2)
1624
1598
  goto yyexhaustedlab;
1625
1599
  }
@@ -1643,7 +1617,7 @@ yyerrlab:
1643
1617
  else
1644
1618
  {
1645
1619
  yydestruct ("Error: discarding",
1646
- yytoken, &yylval, &yylloc, node, scanner);
1620
+ yytoken, &yylval, &yylloc, node);
1647
1621
  yychar = YYEMPTY;
1648
1622
  }
1649
1623
  }
@@ -1700,7 +1674,7 @@ yyerrlab1:
1700
1674
 
1701
1675
  yyerror_range[1] = *yylsp;
1702
1676
  yydestruct ("Error: popping",
1703
- yystos[yystate], yyvsp, yylsp, node, scanner);
1677
+ yystos[yystate], yyvsp, yylsp, node);
1704
1678
  YYPOPSTACK (1);
1705
1679
  yystate = *yyssp;
1706
1680
  YY_STACK_PRINT (yyss, yyssp);
@@ -1742,7 +1716,7 @@ yyabortlab:
1742
1716
  | yyexhaustedlab -- memory exhaustion comes here. |
1743
1717
  `-------------------------------------------------*/
1744
1718
  yyexhaustedlab:
1745
- yyerror (&yylloc, node, scanner, YY_("memory exhausted"));
1719
+ yyerror (node, YY_("memory exhausted"));
1746
1720
  yyresult = 2;
1747
1721
  /* Fall through. */
1748
1722
  #endif
@@ -1754,7 +1728,7 @@ yyreturn:
1754
1728
  user semantic actions for why this is necessary. */
1755
1729
  yytoken = YYTRANSLATE (yychar);
1756
1730
  yydestruct ("Cleanup: discarding lookahead",
1757
- yytoken, &yylval, &yylloc, node, scanner);
1731
+ yytoken, &yylval, &yylloc, node);
1758
1732
  }
1759
1733
  /* Do not reclaim the symbols of the rule which action triggered
1760
1734
  this YYABORT or YYACCEPT. */
@@ -1763,7 +1737,7 @@ yyreturn:
1763
1737
  while (yyssp != yyss)
1764
1738
  {
1765
1739
  yydestruct ("Cleanup: popping",
1766
- yystos[*yyssp], yyvsp, yylsp, node, scanner);
1740
+ yystos[*yyssp], yyvsp, yylsp, node);
1767
1741
  YYPOPSTACK (1);
1768
1742
  }
1769
1743
  #ifndef yyoverflow
@@ -1780,6 +1754,6 @@ yyreturn:
1780
1754
 
1781
1755
 
1782
1756
  /* Line 2055 of yacc.c */
1783
- #line 62 "parser.y"
1757
+ #line 53 "parser.y"
1784
1758
 
1785
1759