/src/ntp-dev/ntpd/ntp_parser.c
Line | Count | Source |
1 | | /* A Bison parser, made by GNU Bison 3.8.2. */ |
2 | | |
3 | | /* Bison implementation for Yacc-like parsers in C |
4 | | |
5 | | Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, |
6 | | Inc. |
7 | | |
8 | | This program is free software: you can redistribute it and/or modify |
9 | | it under the terms of the GNU General Public License as published by |
10 | | the Free Software Foundation, either version 3 of the License, or |
11 | | (at your option) any later version. |
12 | | |
13 | | This program is distributed in the hope that it will be useful, |
14 | | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | | GNU General Public License for more details. |
17 | | |
18 | | You should have received a copy of the GNU General Public License |
19 | | along with this program. If not, see <https://www.gnu.org/licenses/>. */ |
20 | | |
21 | | /* As a special exception, you may create a larger work that contains |
22 | | part or all of the Bison parser skeleton and distribute that work |
23 | | under terms of your choice, so long as that work isn't itself a |
24 | | parser generator using the skeleton or a modified version thereof |
25 | | as a parser skeleton. Alternatively, if you modify or redistribute |
26 | | the parser skeleton itself, you may (at your option) remove this |
27 | | special exception, which will cause the skeleton and the resulting |
28 | | Bison output files to be licensed under the GNU General Public |
29 | | License without this special exception. |
30 | | |
31 | | This special exception was added by the Free Software Foundation in |
32 | | version 2.2 of Bison. */ |
33 | | |
34 | | /* C LALR(1) parser skeleton written by Richard Stallman, by |
35 | | simplifying the original so-called "semantic" parser. */ |
36 | | |
37 | | /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, |
38 | | especially those whose name start with YY_ or yy_. They are |
39 | | private implementation details that can be changed or removed. */ |
40 | | |
41 | | /* All symbols defined below should begin with yy or YY, to avoid |
42 | | infringing on user name space. This should be done even for local |
43 | | variables, as they might otherwise be expanded by user macros. |
44 | | There are some unavoidable exceptions within include files to |
45 | | define necessary library symbols; they are noted "INFRINGES ON |
46 | | USER NAME SPACE" below. */ |
47 | | |
48 | | /* Identify Bison output, and Bison version. */ |
49 | | #define YYBISON 30802 |
50 | | |
51 | | /* Bison version string. */ |
52 | | #define YYBISON_VERSION "3.8.2" |
53 | | |
54 | | /* Skeleton name. */ |
55 | | #define YYSKELETON_NAME "yacc.c" |
56 | | |
57 | | /* Pure parsers. */ |
58 | | #define YYPURE 0 |
59 | | |
60 | | /* Push parsers. */ |
61 | | #define YYPUSH 0 |
62 | | |
63 | | /* Pull parsers. */ |
64 | | #define YYPULL 1 |
65 | | |
66 | | |
67 | | |
68 | | |
69 | | /* First part of user prologue. */ |
70 | | #line 11 "../../ntpd/ntp_parser.y" |
71 | | |
72 | | #ifdef HAVE_CONFIG_H |
73 | | # include <config.h> |
74 | | #endif |
75 | | |
76 | | #include "ntp.h" |
77 | | #include "ntpd.h" |
78 | | #include "ntp_machine.h" |
79 | | #include "ntp_stdlib.h" |
80 | | #include "ntp_filegen.h" |
81 | | #include "ntp_scanner.h" |
82 | | #include "ntp_config.h" |
83 | | #include "ntp_crypto.h" |
84 | | #include "ntp_calendar.h" |
85 | | |
86 | | #include "ntpsim.h" /* HMS: Do we really want this all the time? */ |
87 | | /* SK: It might be a good idea to always |
88 | | include the simulator code. That way |
89 | | someone can use the same configuration file |
90 | | for both the simulator and the daemon |
91 | | */ |
92 | | |
93 | | #define YYMALLOC emalloc |
94 | 0 | #define YYFREE free |
95 | | #define YYERROR_VERBOSE |
96 | 0 | #define YYMAXDEPTH 1000 /* stop the madness sooner */ |
97 | | void yyerror(const char *msg); |
98 | | |
99 | | #ifdef SIM |
100 | | # define ONLY_SIM(a) (a) |
101 | | #else |
102 | 0 | # define ONLY_SIM(a) NULL |
103 | | #endif |
104 | | |
105 | | #line 106 "ntp_parser.c" |
106 | | |
107 | | # ifndef YY_CAST |
108 | | # ifdef __cplusplus |
109 | | # define YY_CAST(Type, Val) static_cast<Type> (Val) |
110 | | # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val) |
111 | | # else |
112 | 0 | # define YY_CAST(Type, Val) ((Type) (Val)) |
113 | | # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val)) |
114 | | # endif |
115 | | # endif |
116 | | # ifndef YY_NULLPTR |
117 | | # if defined __cplusplus |
118 | | # if 201103L <= __cplusplus |
119 | | # define YY_NULLPTR nullptr |
120 | | # else |
121 | | # define YY_NULLPTR 0 |
122 | | # endif |
123 | | # else |
124 | | # define YY_NULLPTR ((void*)0) |
125 | | # endif |
126 | | # endif |
127 | | |
128 | | /* Use api.header.include to #include this header |
129 | | instead of duplicating it here. */ |
130 | | #ifndef YY_YY_NTP_PARSER_H_INCLUDED |
131 | | # define YY_YY_NTP_PARSER_H_INCLUDED |
132 | | /* Debug traces. */ |
133 | | #ifndef YYDEBUG |
134 | | # define YYDEBUG 1 |
135 | | #endif |
136 | | #if YYDEBUG |
137 | | extern int yydebug; |
138 | | #endif |
139 | | |
140 | | /* Token kinds. */ |
141 | | #ifndef YYTOKENTYPE |
142 | | # define YYTOKENTYPE |
143 | | enum yytokentype |
144 | | { |
145 | | YYEMPTY = -2, |
146 | | YYEOF = 0, /* "end of file" */ |
147 | | YYerror = 256, /* error */ |
148 | | YYUNDEF = 257, /* "invalid token" */ |
149 | | T_Abbrev = 258, /* T_Abbrev */ |
150 | | T_Age = 259, /* T_Age */ |
151 | | T_All = 260, /* T_All */ |
152 | | T_Allan = 261, /* T_Allan */ |
153 | | T_Allpeers = 262, /* T_Allpeers */ |
154 | | T_Auth = 263, /* T_Auth */ |
155 | | T_Autokey = 264, /* T_Autokey */ |
156 | | T_Automax = 265, /* T_Automax */ |
157 | | T_Average = 266, /* T_Average */ |
158 | | T_Basedate = 267, /* T_Basedate */ |
159 | | T_Bclient = 268, /* T_Bclient */ |
160 | | T_Bcpollbstep = 269, /* T_Bcpollbstep */ |
161 | | T_Beacon = 270, /* T_Beacon */ |
162 | | T_Broadcast = 271, /* T_Broadcast */ |
163 | | T_Broadcastclient = 272, /* T_Broadcastclient */ |
164 | | T_Broadcastdelay = 273, /* T_Broadcastdelay */ |
165 | | T_Burst = 274, /* T_Burst */ |
166 | | T_Calibrate = 275, /* T_Calibrate */ |
167 | | T_Ceiling = 276, /* T_Ceiling */ |
168 | | T_Checkhash = 277, /* T_Checkhash */ |
169 | | T_Clockstats = 278, /* T_Clockstats */ |
170 | | T_Cohort = 279, /* T_Cohort */ |
171 | | T_ControlKey = 280, /* T_ControlKey */ |
172 | | T_Crypto = 281, /* T_Crypto */ |
173 | | T_Cryptostats = 282, /* T_Cryptostats */ |
174 | | T_Ctl = 283, /* T_Ctl */ |
175 | | T_Day = 284, /* T_Day */ |
176 | | T_Default = 285, /* T_Default */ |
177 | | T_Delrestrict = 286, /* T_Delrestrict */ |
178 | | T_Device = 287, /* T_Device */ |
179 | | T_Digest = 288, /* T_Digest */ |
180 | | T_Disable = 289, /* T_Disable */ |
181 | | T_Discard = 290, /* T_Discard */ |
182 | | T_Dispersion = 291, /* T_Dispersion */ |
183 | | T_Double = 292, /* T_Double */ |
184 | | T_Driftfile = 293, /* T_Driftfile */ |
185 | | T_Drop = 294, /* T_Drop */ |
186 | | T_Dscp = 295, /* T_Dscp */ |
187 | | T_Ellipsis = 296, /* T_Ellipsis */ |
188 | | T_Enable = 297, /* T_Enable */ |
189 | | T_End = 298, /* T_End */ |
190 | | T_Epeer = 299, /* T_Epeer */ |
191 | | T_False = 300, /* T_False */ |
192 | | T_File = 301, /* T_File */ |
193 | | T_Filegen = 302, /* T_Filegen */ |
194 | | T_Filenum = 303, /* T_Filenum */ |
195 | | T_Flag1 = 304, /* T_Flag1 */ |
196 | | T_Flag2 = 305, /* T_Flag2 */ |
197 | | T_Flag3 = 306, /* T_Flag3 */ |
198 | | T_Flag4 = 307, /* T_Flag4 */ |
199 | | T_Flake = 308, /* T_Flake */ |
200 | | T_Floor = 309, /* T_Floor */ |
201 | | T_Freq = 310, /* T_Freq */ |
202 | | T_Fudge = 311, /* T_Fudge */ |
203 | | T_Fuzz = 312, /* T_Fuzz */ |
204 | | T_Host = 313, /* T_Host */ |
205 | | T_Huffpuff = 314, /* T_Huffpuff */ |
206 | | T_Iburst = 315, /* T_Iburst */ |
207 | | T_Ident = 316, /* T_Ident */ |
208 | | T_Ignore = 317, /* T_Ignore */ |
209 | | T_Ignorehash = 318, /* T_Ignorehash */ |
210 | | T_Incalloc = 319, /* T_Incalloc */ |
211 | | T_Incmem = 320, /* T_Incmem */ |
212 | | T_Initalloc = 321, /* T_Initalloc */ |
213 | | T_Initmem = 322, /* T_Initmem */ |
214 | | T_Includefile = 323, /* T_Includefile */ |
215 | | T_Integer = 324, /* T_Integer */ |
216 | | T_Interface = 325, /* T_Interface */ |
217 | | T_Intrange = 326, /* T_Intrange */ |
218 | | T_Io = 327, /* T_Io */ |
219 | | T_Ippeerlimit = 328, /* T_Ippeerlimit */ |
220 | | T_Ipv4 = 329, /* T_Ipv4 */ |
221 | | T_Ipv4_flag = 330, /* T_Ipv4_flag */ |
222 | | T_Ipv6 = 331, /* T_Ipv6 */ |
223 | | T_Ipv6_flag = 332, /* T_Ipv6_flag */ |
224 | | T_Kernel = 333, /* T_Kernel */ |
225 | | T_Key = 334, /* T_Key */ |
226 | | T_Keys = 335, /* T_Keys */ |
227 | | T_Keysdir = 336, /* T_Keysdir */ |
228 | | T_Kod = 337, /* T_Kod */ |
229 | | T_Leapfile = 338, /* T_Leapfile */ |
230 | | T_Leapsmearinterval = 339, /* T_Leapsmearinterval */ |
231 | | T_Limited = 340, /* T_Limited */ |
232 | | T_Link = 341, /* T_Link */ |
233 | | T_Listen = 342, /* T_Listen */ |
234 | | T_Logconfig = 343, /* T_Logconfig */ |
235 | | T_Logfile = 344, /* T_Logfile */ |
236 | | T_Loopstats = 345, /* T_Loopstats */ |
237 | | T_Lowpriotrap = 346, /* T_Lowpriotrap */ |
238 | | T_Manycastclient = 347, /* T_Manycastclient */ |
239 | | T_Manycastserver = 348, /* T_Manycastserver */ |
240 | | T_Mask = 349, /* T_Mask */ |
241 | | T_Maxage = 350, /* T_Maxage */ |
242 | | T_Maxclock = 351, /* T_Maxclock */ |
243 | | T_Maxdepth = 352, /* T_Maxdepth */ |
244 | | T_Maxdist = 353, /* T_Maxdist */ |
245 | | T_Maxmem = 354, /* T_Maxmem */ |
246 | | T_Maxpoll = 355, /* T_Maxpoll */ |
247 | | T_Mdnstries = 356, /* T_Mdnstries */ |
248 | | T_Mem = 357, /* T_Mem */ |
249 | | T_Memlock = 358, /* T_Memlock */ |
250 | | T_Minclock = 359, /* T_Minclock */ |
251 | | T_Mindepth = 360, /* T_Mindepth */ |
252 | | T_Mindist = 361, /* T_Mindist */ |
253 | | T_Minimum = 362, /* T_Minimum */ |
254 | | T_Minjitter = 363, /* T_Minjitter */ |
255 | | T_Minpoll = 364, /* T_Minpoll */ |
256 | | T_Minsane = 365, /* T_Minsane */ |
257 | | T_Mode = 366, /* T_Mode */ |
258 | | T_Mode7 = 367, /* T_Mode7 */ |
259 | | T_Monitor = 368, /* T_Monitor */ |
260 | | T_Month = 369, /* T_Month */ |
261 | | T_Mru = 370, /* T_Mru */ |
262 | | T_Mssntp = 371, /* T_Mssntp */ |
263 | | T_Multicastclient = 372, /* T_Multicastclient */ |
264 | | T_Nic = 373, /* T_Nic */ |
265 | | T_Nolink = 374, /* T_Nolink */ |
266 | | T_Nomodify = 375, /* T_Nomodify */ |
267 | | T_Nomrulist = 376, /* T_Nomrulist */ |
268 | | T_None = 377, /* T_None */ |
269 | | T_Nonvolatile = 378, /* T_Nonvolatile */ |
270 | | T_Noepeer = 379, /* T_Noepeer */ |
271 | | T_Nopeer = 380, /* T_Nopeer */ |
272 | | T_Noquery = 381, /* T_Noquery */ |
273 | | T_Noselect = 382, /* T_Noselect */ |
274 | | T_Noserve = 383, /* T_Noserve */ |
275 | | T_Notrap = 384, /* T_Notrap */ |
276 | | T_Notrust = 385, /* T_Notrust */ |
277 | | T_Ntp = 386, /* T_Ntp */ |
278 | | T_Ntpport = 387, /* T_Ntpport */ |
279 | | T_NtpSignDsocket = 388, /* T_NtpSignDsocket */ |
280 | | T_Orphan = 389, /* T_Orphan */ |
281 | | T_Orphanwait = 390, /* T_Orphanwait */ |
282 | | T_PCEdigest = 391, /* T_PCEdigest */ |
283 | | T_Panic = 392, /* T_Panic */ |
284 | | T_Peer = 393, /* T_Peer */ |
285 | | T_Peerstats = 394, /* T_Peerstats */ |
286 | | T_Phone = 395, /* T_Phone */ |
287 | | T_Pid = 396, /* T_Pid */ |
288 | | T_Pidfile = 397, /* T_Pidfile */ |
289 | | T_Poll = 398, /* T_Poll */ |
290 | | T_PollSkewList = 399, /* T_PollSkewList */ |
291 | | T_Pool = 400, /* T_Pool */ |
292 | | T_Port = 401, /* T_Port */ |
293 | | T_PpsData = 402, /* T_PpsData */ |
294 | | T_Preempt = 403, /* T_Preempt */ |
295 | | T_Prefer = 404, /* T_Prefer */ |
296 | | T_Protostats = 405, /* T_Protostats */ |
297 | | T_Pw = 406, /* T_Pw */ |
298 | | T_Randfile = 407, /* T_Randfile */ |
299 | | T_Rawstats = 408, /* T_Rawstats */ |
300 | | T_Refid = 409, /* T_Refid */ |
301 | | T_Requestkey = 410, /* T_Requestkey */ |
302 | | T_Reset = 411, /* T_Reset */ |
303 | | T_Restrict = 412, /* T_Restrict */ |
304 | | T_Revoke = 413, /* T_Revoke */ |
305 | | T_Rlimit = 414, /* T_Rlimit */ |
306 | | T_Saveconfigdir = 415, /* T_Saveconfigdir */ |
307 | | T_Server = 416, /* T_Server */ |
308 | | T_Serverresponse = 417, /* T_Serverresponse */ |
309 | | T_ServerresponseFuzz = 418, /* T_ServerresponseFuzz */ |
310 | | T_Setvar = 419, /* T_Setvar */ |
311 | | T_Source = 420, /* T_Source */ |
312 | | T_Stacksize = 421, /* T_Stacksize */ |
313 | | T_Statistics = 422, /* T_Statistics */ |
314 | | T_Stats = 423, /* T_Stats */ |
315 | | T_Statsdir = 424, /* T_Statsdir */ |
316 | | T_Step = 425, /* T_Step */ |
317 | | T_Stepback = 426, /* T_Stepback */ |
318 | | T_Stepfwd = 427, /* T_Stepfwd */ |
319 | | T_Stepout = 428, /* T_Stepout */ |
320 | | T_Stratum = 429, /* T_Stratum */ |
321 | | T_String = 430, /* T_String */ |
322 | | T_Sys = 431, /* T_Sys */ |
323 | | T_Sysstats = 432, /* T_Sysstats */ |
324 | | T_Tick = 433, /* T_Tick */ |
325 | | T_Time1 = 434, /* T_Time1 */ |
326 | | T_Time2 = 435, /* T_Time2 */ |
327 | | T_TimeData = 436, /* T_TimeData */ |
328 | | T_Timer = 437, /* T_Timer */ |
329 | | T_Timingstats = 438, /* T_Timingstats */ |
330 | | T_Tinker = 439, /* T_Tinker */ |
331 | | T_Tos = 440, /* T_Tos */ |
332 | | T_Trap = 441, /* T_Trap */ |
333 | | T_True = 442, /* T_True */ |
334 | | T_Trustedkey = 443, /* T_Trustedkey */ |
335 | | T_Ttl = 444, /* T_Ttl */ |
336 | | T_Type = 445, /* T_Type */ |
337 | | T_U_int = 446, /* T_U_int */ |
338 | | T_UEcrypto = 447, /* T_UEcrypto */ |
339 | | T_UEcryptonak = 448, /* T_UEcryptonak */ |
340 | | T_UEdigest = 449, /* T_UEdigest */ |
341 | | T_Unconfig = 450, /* T_Unconfig */ |
342 | | T_Unpeer = 451, /* T_Unpeer */ |
343 | | T_Version = 452, /* T_Version */ |
344 | | T_WanderThreshold = 453, /* T_WanderThreshold */ |
345 | | T_Week = 454, /* T_Week */ |
346 | | T_Wildcard = 455, /* T_Wildcard */ |
347 | | T_Xleave = 456, /* T_Xleave */ |
348 | | T_Xmtnonce = 457, /* T_Xmtnonce */ |
349 | | T_Year = 458, /* T_Year */ |
350 | | T_Flag = 459, /* T_Flag */ |
351 | | T_EOC = 460, /* T_EOC */ |
352 | | T_Simulate = 461, /* T_Simulate */ |
353 | | T_Beep_Delay = 462, /* T_Beep_Delay */ |
354 | | T_Sim_Duration = 463, /* T_Sim_Duration */ |
355 | | T_Server_Offset = 464, /* T_Server_Offset */ |
356 | | T_Duration = 465, /* T_Duration */ |
357 | | T_Freq_Offset = 466, /* T_Freq_Offset */ |
358 | | T_Wander = 467, /* T_Wander */ |
359 | | T_Jitter = 468, /* T_Jitter */ |
360 | | T_Prop_Delay = 469, /* T_Prop_Delay */ |
361 | | T_Proc_Delay = 470 /* T_Proc_Delay */ |
362 | | }; |
363 | | typedef enum yytokentype yytoken_kind_t; |
364 | | #endif |
365 | | /* Token kinds. */ |
366 | 0 | #define YYEMPTY -2 |
367 | 0 | #define YYEOF 0 |
368 | 0 | #define YYerror 256 |
369 | 0 | #define YYUNDEF 257 |
370 | | #define T_Abbrev 258 |
371 | | #define T_Age 259 |
372 | | #define T_All 260 |
373 | | #define T_Allan 261 |
374 | | #define T_Allpeers 262 |
375 | | #define T_Auth 263 |
376 | | #define T_Autokey 264 |
377 | | #define T_Automax 265 |
378 | | #define T_Average 266 |
379 | 0 | #define T_Basedate 267 |
380 | | #define T_Bclient 268 |
381 | | #define T_Bcpollbstep 269 |
382 | | #define T_Beacon 270 |
383 | | #define T_Broadcast 271 |
384 | | #define T_Broadcastclient 272 |
385 | | #define T_Broadcastdelay 273 |
386 | | #define T_Burst 274 |
387 | | #define T_Calibrate 275 |
388 | | #define T_Ceiling 276 |
389 | | #define T_Checkhash 277 |
390 | | #define T_Clockstats 278 |
391 | | #define T_Cohort 279 |
392 | | #define T_ControlKey 280 |
393 | | #define T_Crypto 281 |
394 | | #define T_Cryptostats 282 |
395 | | #define T_Ctl 283 |
396 | | #define T_Day 284 |
397 | | #define T_Default 285 |
398 | | #define T_Delrestrict 286 |
399 | | #define T_Device 287 |
400 | | #define T_Digest 288 |
401 | | #define T_Disable 289 |
402 | | #define T_Discard 290 |
403 | | #define T_Dispersion 291 |
404 | | #define T_Double 292 |
405 | 0 | #define T_Driftfile 293 |
406 | | #define T_Drop 294 |
407 | | #define T_Dscp 295 |
408 | | #define T_Ellipsis 296 |
409 | | #define T_Enable 297 |
410 | | #define T_End 298 |
411 | | #define T_Epeer 299 |
412 | | #define T_False 300 |
413 | | #define T_File 301 |
414 | | #define T_Filegen 302 |
415 | | #define T_Filenum 303 |
416 | | #define T_Flag1 304 |
417 | | #define T_Flag2 305 |
418 | | #define T_Flag3 306 |
419 | | #define T_Flag4 307 |
420 | | #define T_Flake 308 |
421 | | #define T_Floor 309 |
422 | | #define T_Freq 310 |
423 | | #define T_Fudge 311 |
424 | | #define T_Fuzz 312 |
425 | | #define T_Host 313 |
426 | | #define T_Huffpuff 314 |
427 | | #define T_Iburst 315 |
428 | | #define T_Ident 316 |
429 | | #define T_Ignore 317 |
430 | | #define T_Ignorehash 318 |
431 | | #define T_Incalloc 319 |
432 | | #define T_Incmem 320 |
433 | | #define T_Initalloc 321 |
434 | | #define T_Initmem 322 |
435 | | #define T_Includefile 323 |
436 | | #define T_Integer 324 |
437 | | #define T_Interface 325 |
438 | | #define T_Intrange 326 |
439 | | #define T_Io 327 |
440 | | #define T_Ippeerlimit 328 |
441 | | #define T_Ipv4 329 |
442 | | #define T_Ipv4_flag 330 |
443 | | #define T_Ipv6 331 |
444 | | #define T_Ipv6_flag 332 |
445 | | #define T_Kernel 333 |
446 | | #define T_Key 334 |
447 | | #define T_Keys 335 |
448 | | #define T_Keysdir 336 |
449 | | #define T_Kod 337 |
450 | | #define T_Leapfile 338 |
451 | | #define T_Leapsmearinterval 339 |
452 | | #define T_Limited 340 |
453 | 0 | #define T_Link 341 |
454 | | #define T_Listen 342 |
455 | | #define T_Logconfig 343 |
456 | | #define T_Logfile 344 |
457 | | #define T_Loopstats 345 |
458 | | #define T_Lowpriotrap 346 |
459 | | #define T_Manycastclient 347 |
460 | | #define T_Manycastserver 348 |
461 | | #define T_Mask 349 |
462 | | #define T_Maxage 350 |
463 | | #define T_Maxclock 351 |
464 | | #define T_Maxdepth 352 |
465 | | #define T_Maxdist 353 |
466 | | #define T_Maxmem 354 |
467 | | #define T_Maxpoll 355 |
468 | | #define T_Mdnstries 356 |
469 | | #define T_Mem 357 |
470 | | #define T_Memlock 358 |
471 | | #define T_Minclock 359 |
472 | | #define T_Mindepth 360 |
473 | | #define T_Mindist 361 |
474 | | #define T_Minimum 362 |
475 | | #define T_Minjitter 363 |
476 | | #define T_Minpoll 364 |
477 | | #define T_Minsane 365 |
478 | | #define T_Mode 366 |
479 | | #define T_Mode7 367 |
480 | | #define T_Monitor 368 |
481 | | #define T_Month 369 |
482 | | #define T_Mru 370 |
483 | | #define T_Mssntp 371 |
484 | | #define T_Multicastclient 372 |
485 | | #define T_Nic 373 |
486 | | #define T_Nolink 374 |
487 | | #define T_Nomodify 375 |
488 | | #define T_Nomrulist 376 |
489 | | #define T_None 377 |
490 | | #define T_Nonvolatile 378 |
491 | | #define T_Noepeer 379 |
492 | | #define T_Nopeer 380 |
493 | | #define T_Noquery 381 |
494 | | #define T_Noselect 382 |
495 | | #define T_Noserve 383 |
496 | | #define T_Notrap 384 |
497 | | #define T_Notrust 385 |
498 | | #define T_Ntp 386 |
499 | | #define T_Ntpport 387 |
500 | | #define T_NtpSignDsocket 388 |
501 | | #define T_Orphan 389 |
502 | | #define T_Orphanwait 390 |
503 | | #define T_PCEdigest 391 |
504 | | #define T_Panic 392 |
505 | | #define T_Peer 393 |
506 | | #define T_Peerstats 394 |
507 | | #define T_Phone 395 |
508 | | #define T_Pid 396 |
509 | | #define T_Pidfile 397 |
510 | | #define T_Poll 398 |
511 | | #define T_PollSkewList 399 |
512 | | #define T_Pool 400 |
513 | | #define T_Port 401 |
514 | | #define T_PpsData 402 |
515 | | #define T_Preempt 403 |
516 | | #define T_Prefer 404 |
517 | | #define T_Protostats 405 |
518 | | #define T_Pw 406 |
519 | | #define T_Randfile 407 |
520 | | #define T_Rawstats 408 |
521 | | #define T_Refid 409 |
522 | | #define T_Requestkey 410 |
523 | | #define T_Reset 411 |
524 | | #define T_Restrict 412 |
525 | | #define T_Revoke 413 |
526 | | #define T_Rlimit 414 |
527 | | #define T_Saveconfigdir 415 |
528 | | #define T_Server 416 |
529 | | #define T_Serverresponse 417 |
530 | 0 | #define T_ServerresponseFuzz 418 |
531 | | #define T_Setvar 419 |
532 | | #define T_Source 420 |
533 | | #define T_Stacksize 421 |
534 | | #define T_Statistics 422 |
535 | | #define T_Stats 423 |
536 | | #define T_Statsdir 424 |
537 | | #define T_Step 425 |
538 | | #define T_Stepback 426 |
539 | | #define T_Stepfwd 427 |
540 | | #define T_Stepout 428 |
541 | | #define T_Stratum 429 |
542 | | #define T_String 430 |
543 | | #define T_Sys 431 |
544 | | #define T_Sysstats 432 |
545 | | #define T_Tick 433 |
546 | | #define T_Time1 434 |
547 | | #define T_Time2 435 |
548 | | #define T_TimeData 436 |
549 | | #define T_Timer 437 |
550 | | #define T_Timingstats 438 |
551 | | #define T_Tinker 439 |
552 | | #define T_Tos 440 |
553 | | #define T_Trap 441 |
554 | | #define T_True 442 |
555 | | #define T_Trustedkey 443 |
556 | | #define T_Ttl 444 |
557 | | #define T_Type 445 |
558 | | #define T_U_int 446 |
559 | | #define T_UEcrypto 447 |
560 | | #define T_UEcryptonak 448 |
561 | | #define T_UEdigest 449 |
562 | | #define T_Unconfig 450 |
563 | | #define T_Unpeer 451 |
564 | | #define T_Version 452 |
565 | 0 | #define T_WanderThreshold 453 |
566 | | #define T_Week 454 |
567 | | #define T_Wildcard 455 |
568 | | #define T_Xleave 456 |
569 | | #define T_Xmtnonce 457 |
570 | | #define T_Year 458 |
571 | 0 | #define T_Flag 459 |
572 | | #define T_EOC 460 |
573 | | #define T_Simulate 461 |
574 | | #define T_Beep_Delay 462 |
575 | | #define T_Sim_Duration 463 |
576 | | #define T_Server_Offset 464 |
577 | | #define T_Duration 465 |
578 | | #define T_Freq_Offset 466 |
579 | | #define T_Wander 467 |
580 | | #define T_Jitter 468 |
581 | | #define T_Prop_Delay 469 |
582 | | #define T_Proc_Delay 470 |
583 | | |
584 | | /* Value type. */ |
585 | | #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED |
586 | | union YYSTYPE |
587 | | { |
588 | | #line 52 "../../ntpd/ntp_parser.y" |
589 | | |
590 | | char * String; |
591 | | double Double; |
592 | | int Integer; |
593 | | unsigned U_int; |
594 | | gen_fifo * Generic_fifo; |
595 | | attr_val * Attr_val; |
596 | | attr_val_fifo * Attr_val_fifo; |
597 | | int_fifo * Int_fifo; |
598 | | string_fifo * String_fifo; |
599 | | address_node * Address_node; |
600 | | address_fifo * Address_fifo; |
601 | | setvar_node * Set_var; |
602 | | server_info * Sim_server; |
603 | | server_info_fifo * Sim_server_fifo; |
604 | | script_info * Sim_script; |
605 | | script_info_fifo * Sim_script_fifo; |
606 | | |
607 | | #line 608 "ntp_parser.c" |
608 | | |
609 | | }; |
610 | | typedef union YYSTYPE YYSTYPE; |
611 | | # define YYSTYPE_IS_TRIVIAL 1 |
612 | | # define YYSTYPE_IS_DECLARED 1 |
613 | | #endif |
614 | | |
615 | | |
616 | | extern YYSTYPE yylval; |
617 | | |
618 | | |
619 | | int yyparse (void); |
620 | | |
621 | | |
622 | | #endif /* !YY_YY_NTP_PARSER_H_INCLUDED */ |
623 | | /* Symbol kind. */ |
624 | | enum yysymbol_kind_t |
625 | | { |
626 | | YYSYMBOL_YYEMPTY = -2, |
627 | | YYSYMBOL_YYEOF = 0, /* "end of file" */ |
628 | | YYSYMBOL_YYerror = 1, /* error */ |
629 | | YYSYMBOL_YYUNDEF = 2, /* "invalid token" */ |
630 | | YYSYMBOL_T_Abbrev = 3, /* T_Abbrev */ |
631 | | YYSYMBOL_T_Age = 4, /* T_Age */ |
632 | | YYSYMBOL_T_All = 5, /* T_All */ |
633 | | YYSYMBOL_T_Allan = 6, /* T_Allan */ |
634 | | YYSYMBOL_T_Allpeers = 7, /* T_Allpeers */ |
635 | | YYSYMBOL_T_Auth = 8, /* T_Auth */ |
636 | | YYSYMBOL_T_Autokey = 9, /* T_Autokey */ |
637 | | YYSYMBOL_T_Automax = 10, /* T_Automax */ |
638 | | YYSYMBOL_T_Average = 11, /* T_Average */ |
639 | | YYSYMBOL_T_Basedate = 12, /* T_Basedate */ |
640 | | YYSYMBOL_T_Bclient = 13, /* T_Bclient */ |
641 | | YYSYMBOL_T_Bcpollbstep = 14, /* T_Bcpollbstep */ |
642 | | YYSYMBOL_T_Beacon = 15, /* T_Beacon */ |
643 | | YYSYMBOL_T_Broadcast = 16, /* T_Broadcast */ |
644 | | YYSYMBOL_T_Broadcastclient = 17, /* T_Broadcastclient */ |
645 | | YYSYMBOL_T_Broadcastdelay = 18, /* T_Broadcastdelay */ |
646 | | YYSYMBOL_T_Burst = 19, /* T_Burst */ |
647 | | YYSYMBOL_T_Calibrate = 20, /* T_Calibrate */ |
648 | | YYSYMBOL_T_Ceiling = 21, /* T_Ceiling */ |
649 | | YYSYMBOL_T_Checkhash = 22, /* T_Checkhash */ |
650 | | YYSYMBOL_T_Clockstats = 23, /* T_Clockstats */ |
651 | | YYSYMBOL_T_Cohort = 24, /* T_Cohort */ |
652 | | YYSYMBOL_T_ControlKey = 25, /* T_ControlKey */ |
653 | | YYSYMBOL_T_Crypto = 26, /* T_Crypto */ |
654 | | YYSYMBOL_T_Cryptostats = 27, /* T_Cryptostats */ |
655 | | YYSYMBOL_T_Ctl = 28, /* T_Ctl */ |
656 | | YYSYMBOL_T_Day = 29, /* T_Day */ |
657 | | YYSYMBOL_T_Default = 30, /* T_Default */ |
658 | | YYSYMBOL_T_Delrestrict = 31, /* T_Delrestrict */ |
659 | | YYSYMBOL_T_Device = 32, /* T_Device */ |
660 | | YYSYMBOL_T_Digest = 33, /* T_Digest */ |
661 | | YYSYMBOL_T_Disable = 34, /* T_Disable */ |
662 | | YYSYMBOL_T_Discard = 35, /* T_Discard */ |
663 | | YYSYMBOL_T_Dispersion = 36, /* T_Dispersion */ |
664 | | YYSYMBOL_T_Double = 37, /* T_Double */ |
665 | | YYSYMBOL_T_Driftfile = 38, /* T_Driftfile */ |
666 | | YYSYMBOL_T_Drop = 39, /* T_Drop */ |
667 | | YYSYMBOL_T_Dscp = 40, /* T_Dscp */ |
668 | | YYSYMBOL_T_Ellipsis = 41, /* T_Ellipsis */ |
669 | | YYSYMBOL_T_Enable = 42, /* T_Enable */ |
670 | | YYSYMBOL_T_End = 43, /* T_End */ |
671 | | YYSYMBOL_T_Epeer = 44, /* T_Epeer */ |
672 | | YYSYMBOL_T_False = 45, /* T_False */ |
673 | | YYSYMBOL_T_File = 46, /* T_File */ |
674 | | YYSYMBOL_T_Filegen = 47, /* T_Filegen */ |
675 | | YYSYMBOL_T_Filenum = 48, /* T_Filenum */ |
676 | | YYSYMBOL_T_Flag1 = 49, /* T_Flag1 */ |
677 | | YYSYMBOL_T_Flag2 = 50, /* T_Flag2 */ |
678 | | YYSYMBOL_T_Flag3 = 51, /* T_Flag3 */ |
679 | | YYSYMBOL_T_Flag4 = 52, /* T_Flag4 */ |
680 | | YYSYMBOL_T_Flake = 53, /* T_Flake */ |
681 | | YYSYMBOL_T_Floor = 54, /* T_Floor */ |
682 | | YYSYMBOL_T_Freq = 55, /* T_Freq */ |
683 | | YYSYMBOL_T_Fudge = 56, /* T_Fudge */ |
684 | | YYSYMBOL_T_Fuzz = 57, /* T_Fuzz */ |
685 | | YYSYMBOL_T_Host = 58, /* T_Host */ |
686 | | YYSYMBOL_T_Huffpuff = 59, /* T_Huffpuff */ |
687 | | YYSYMBOL_T_Iburst = 60, /* T_Iburst */ |
688 | | YYSYMBOL_T_Ident = 61, /* T_Ident */ |
689 | | YYSYMBOL_T_Ignore = 62, /* T_Ignore */ |
690 | | YYSYMBOL_T_Ignorehash = 63, /* T_Ignorehash */ |
691 | | YYSYMBOL_T_Incalloc = 64, /* T_Incalloc */ |
692 | | YYSYMBOL_T_Incmem = 65, /* T_Incmem */ |
693 | | YYSYMBOL_T_Initalloc = 66, /* T_Initalloc */ |
694 | | YYSYMBOL_T_Initmem = 67, /* T_Initmem */ |
695 | | YYSYMBOL_T_Includefile = 68, /* T_Includefile */ |
696 | | YYSYMBOL_T_Integer = 69, /* T_Integer */ |
697 | | YYSYMBOL_T_Interface = 70, /* T_Interface */ |
698 | | YYSYMBOL_T_Intrange = 71, /* T_Intrange */ |
699 | | YYSYMBOL_T_Io = 72, /* T_Io */ |
700 | | YYSYMBOL_T_Ippeerlimit = 73, /* T_Ippeerlimit */ |
701 | | YYSYMBOL_T_Ipv4 = 74, /* T_Ipv4 */ |
702 | | YYSYMBOL_T_Ipv4_flag = 75, /* T_Ipv4_flag */ |
703 | | YYSYMBOL_T_Ipv6 = 76, /* T_Ipv6 */ |
704 | | YYSYMBOL_T_Ipv6_flag = 77, /* T_Ipv6_flag */ |
705 | | YYSYMBOL_T_Kernel = 78, /* T_Kernel */ |
706 | | YYSYMBOL_T_Key = 79, /* T_Key */ |
707 | | YYSYMBOL_T_Keys = 80, /* T_Keys */ |
708 | | YYSYMBOL_T_Keysdir = 81, /* T_Keysdir */ |
709 | | YYSYMBOL_T_Kod = 82, /* T_Kod */ |
710 | | YYSYMBOL_T_Leapfile = 83, /* T_Leapfile */ |
711 | | YYSYMBOL_T_Leapsmearinterval = 84, /* T_Leapsmearinterval */ |
712 | | YYSYMBOL_T_Limited = 85, /* T_Limited */ |
713 | | YYSYMBOL_T_Link = 86, /* T_Link */ |
714 | | YYSYMBOL_T_Listen = 87, /* T_Listen */ |
715 | | YYSYMBOL_T_Logconfig = 88, /* T_Logconfig */ |
716 | | YYSYMBOL_T_Logfile = 89, /* T_Logfile */ |
717 | | YYSYMBOL_T_Loopstats = 90, /* T_Loopstats */ |
718 | | YYSYMBOL_T_Lowpriotrap = 91, /* T_Lowpriotrap */ |
719 | | YYSYMBOL_T_Manycastclient = 92, /* T_Manycastclient */ |
720 | | YYSYMBOL_T_Manycastserver = 93, /* T_Manycastserver */ |
721 | | YYSYMBOL_T_Mask = 94, /* T_Mask */ |
722 | | YYSYMBOL_T_Maxage = 95, /* T_Maxage */ |
723 | | YYSYMBOL_T_Maxclock = 96, /* T_Maxclock */ |
724 | | YYSYMBOL_T_Maxdepth = 97, /* T_Maxdepth */ |
725 | | YYSYMBOL_T_Maxdist = 98, /* T_Maxdist */ |
726 | | YYSYMBOL_T_Maxmem = 99, /* T_Maxmem */ |
727 | | YYSYMBOL_T_Maxpoll = 100, /* T_Maxpoll */ |
728 | | YYSYMBOL_T_Mdnstries = 101, /* T_Mdnstries */ |
729 | | YYSYMBOL_T_Mem = 102, /* T_Mem */ |
730 | | YYSYMBOL_T_Memlock = 103, /* T_Memlock */ |
731 | | YYSYMBOL_T_Minclock = 104, /* T_Minclock */ |
732 | | YYSYMBOL_T_Mindepth = 105, /* T_Mindepth */ |
733 | | YYSYMBOL_T_Mindist = 106, /* T_Mindist */ |
734 | | YYSYMBOL_T_Minimum = 107, /* T_Minimum */ |
735 | | YYSYMBOL_T_Minjitter = 108, /* T_Minjitter */ |
736 | | YYSYMBOL_T_Minpoll = 109, /* T_Minpoll */ |
737 | | YYSYMBOL_T_Minsane = 110, /* T_Minsane */ |
738 | | YYSYMBOL_T_Mode = 111, /* T_Mode */ |
739 | | YYSYMBOL_T_Mode7 = 112, /* T_Mode7 */ |
740 | | YYSYMBOL_T_Monitor = 113, /* T_Monitor */ |
741 | | YYSYMBOL_T_Month = 114, /* T_Month */ |
742 | | YYSYMBOL_T_Mru = 115, /* T_Mru */ |
743 | | YYSYMBOL_T_Mssntp = 116, /* T_Mssntp */ |
744 | | YYSYMBOL_T_Multicastclient = 117, /* T_Multicastclient */ |
745 | | YYSYMBOL_T_Nic = 118, /* T_Nic */ |
746 | | YYSYMBOL_T_Nolink = 119, /* T_Nolink */ |
747 | | YYSYMBOL_T_Nomodify = 120, /* T_Nomodify */ |
748 | | YYSYMBOL_T_Nomrulist = 121, /* T_Nomrulist */ |
749 | | YYSYMBOL_T_None = 122, /* T_None */ |
750 | | YYSYMBOL_T_Nonvolatile = 123, /* T_Nonvolatile */ |
751 | | YYSYMBOL_T_Noepeer = 124, /* T_Noepeer */ |
752 | | YYSYMBOL_T_Nopeer = 125, /* T_Nopeer */ |
753 | | YYSYMBOL_T_Noquery = 126, /* T_Noquery */ |
754 | | YYSYMBOL_T_Noselect = 127, /* T_Noselect */ |
755 | | YYSYMBOL_T_Noserve = 128, /* T_Noserve */ |
756 | | YYSYMBOL_T_Notrap = 129, /* T_Notrap */ |
757 | | YYSYMBOL_T_Notrust = 130, /* T_Notrust */ |
758 | | YYSYMBOL_T_Ntp = 131, /* T_Ntp */ |
759 | | YYSYMBOL_T_Ntpport = 132, /* T_Ntpport */ |
760 | | YYSYMBOL_T_NtpSignDsocket = 133, /* T_NtpSignDsocket */ |
761 | | YYSYMBOL_T_Orphan = 134, /* T_Orphan */ |
762 | | YYSYMBOL_T_Orphanwait = 135, /* T_Orphanwait */ |
763 | | YYSYMBOL_T_PCEdigest = 136, /* T_PCEdigest */ |
764 | | YYSYMBOL_T_Panic = 137, /* T_Panic */ |
765 | | YYSYMBOL_T_Peer = 138, /* T_Peer */ |
766 | | YYSYMBOL_T_Peerstats = 139, /* T_Peerstats */ |
767 | | YYSYMBOL_T_Phone = 140, /* T_Phone */ |
768 | | YYSYMBOL_T_Pid = 141, /* T_Pid */ |
769 | | YYSYMBOL_T_Pidfile = 142, /* T_Pidfile */ |
770 | | YYSYMBOL_T_Poll = 143, /* T_Poll */ |
771 | | YYSYMBOL_T_PollSkewList = 144, /* T_PollSkewList */ |
772 | | YYSYMBOL_T_Pool = 145, /* T_Pool */ |
773 | | YYSYMBOL_T_Port = 146, /* T_Port */ |
774 | | YYSYMBOL_T_PpsData = 147, /* T_PpsData */ |
775 | | YYSYMBOL_T_Preempt = 148, /* T_Preempt */ |
776 | | YYSYMBOL_T_Prefer = 149, /* T_Prefer */ |
777 | | YYSYMBOL_T_Protostats = 150, /* T_Protostats */ |
778 | | YYSYMBOL_T_Pw = 151, /* T_Pw */ |
779 | | YYSYMBOL_T_Randfile = 152, /* T_Randfile */ |
780 | | YYSYMBOL_T_Rawstats = 153, /* T_Rawstats */ |
781 | | YYSYMBOL_T_Refid = 154, /* T_Refid */ |
782 | | YYSYMBOL_T_Requestkey = 155, /* T_Requestkey */ |
783 | | YYSYMBOL_T_Reset = 156, /* T_Reset */ |
784 | | YYSYMBOL_T_Restrict = 157, /* T_Restrict */ |
785 | | YYSYMBOL_T_Revoke = 158, /* T_Revoke */ |
786 | | YYSYMBOL_T_Rlimit = 159, /* T_Rlimit */ |
787 | | YYSYMBOL_T_Saveconfigdir = 160, /* T_Saveconfigdir */ |
788 | | YYSYMBOL_T_Server = 161, /* T_Server */ |
789 | | YYSYMBOL_T_Serverresponse = 162, /* T_Serverresponse */ |
790 | | YYSYMBOL_T_ServerresponseFuzz = 163, /* T_ServerresponseFuzz */ |
791 | | YYSYMBOL_T_Setvar = 164, /* T_Setvar */ |
792 | | YYSYMBOL_T_Source = 165, /* T_Source */ |
793 | | YYSYMBOL_T_Stacksize = 166, /* T_Stacksize */ |
794 | | YYSYMBOL_T_Statistics = 167, /* T_Statistics */ |
795 | | YYSYMBOL_T_Stats = 168, /* T_Stats */ |
796 | | YYSYMBOL_T_Statsdir = 169, /* T_Statsdir */ |
797 | | YYSYMBOL_T_Step = 170, /* T_Step */ |
798 | | YYSYMBOL_T_Stepback = 171, /* T_Stepback */ |
799 | | YYSYMBOL_T_Stepfwd = 172, /* T_Stepfwd */ |
800 | | YYSYMBOL_T_Stepout = 173, /* T_Stepout */ |
801 | | YYSYMBOL_T_Stratum = 174, /* T_Stratum */ |
802 | | YYSYMBOL_T_String = 175, /* T_String */ |
803 | | YYSYMBOL_T_Sys = 176, /* T_Sys */ |
804 | | YYSYMBOL_T_Sysstats = 177, /* T_Sysstats */ |
805 | | YYSYMBOL_T_Tick = 178, /* T_Tick */ |
806 | | YYSYMBOL_T_Time1 = 179, /* T_Time1 */ |
807 | | YYSYMBOL_T_Time2 = 180, /* T_Time2 */ |
808 | | YYSYMBOL_T_TimeData = 181, /* T_TimeData */ |
809 | | YYSYMBOL_T_Timer = 182, /* T_Timer */ |
810 | | YYSYMBOL_T_Timingstats = 183, /* T_Timingstats */ |
811 | | YYSYMBOL_T_Tinker = 184, /* T_Tinker */ |
812 | | YYSYMBOL_T_Tos = 185, /* T_Tos */ |
813 | | YYSYMBOL_T_Trap = 186, /* T_Trap */ |
814 | | YYSYMBOL_T_True = 187, /* T_True */ |
815 | | YYSYMBOL_T_Trustedkey = 188, /* T_Trustedkey */ |
816 | | YYSYMBOL_T_Ttl = 189, /* T_Ttl */ |
817 | | YYSYMBOL_T_Type = 190, /* T_Type */ |
818 | | YYSYMBOL_T_U_int = 191, /* T_U_int */ |
819 | | YYSYMBOL_T_UEcrypto = 192, /* T_UEcrypto */ |
820 | | YYSYMBOL_T_UEcryptonak = 193, /* T_UEcryptonak */ |
821 | | YYSYMBOL_T_UEdigest = 194, /* T_UEdigest */ |
822 | | YYSYMBOL_T_Unconfig = 195, /* T_Unconfig */ |
823 | | YYSYMBOL_T_Unpeer = 196, /* T_Unpeer */ |
824 | | YYSYMBOL_T_Version = 197, /* T_Version */ |
825 | | YYSYMBOL_T_WanderThreshold = 198, /* T_WanderThreshold */ |
826 | | YYSYMBOL_T_Week = 199, /* T_Week */ |
827 | | YYSYMBOL_T_Wildcard = 200, /* T_Wildcard */ |
828 | | YYSYMBOL_T_Xleave = 201, /* T_Xleave */ |
829 | | YYSYMBOL_T_Xmtnonce = 202, /* T_Xmtnonce */ |
830 | | YYSYMBOL_T_Year = 203, /* T_Year */ |
831 | | YYSYMBOL_T_Flag = 204, /* T_Flag */ |
832 | | YYSYMBOL_T_EOC = 205, /* T_EOC */ |
833 | | YYSYMBOL_T_Simulate = 206, /* T_Simulate */ |
834 | | YYSYMBOL_T_Beep_Delay = 207, /* T_Beep_Delay */ |
835 | | YYSYMBOL_T_Sim_Duration = 208, /* T_Sim_Duration */ |
836 | | YYSYMBOL_T_Server_Offset = 209, /* T_Server_Offset */ |
837 | | YYSYMBOL_T_Duration = 210, /* T_Duration */ |
838 | | YYSYMBOL_T_Freq_Offset = 211, /* T_Freq_Offset */ |
839 | | YYSYMBOL_T_Wander = 212, /* T_Wander */ |
840 | | YYSYMBOL_T_Jitter = 213, /* T_Jitter */ |
841 | | YYSYMBOL_T_Prop_Delay = 214, /* T_Prop_Delay */ |
842 | | YYSYMBOL_T_Proc_Delay = 215, /* T_Proc_Delay */ |
843 | | YYSYMBOL_216_ = 216, /* '|' */ |
844 | | YYSYMBOL_217_ = 217, /* '=' */ |
845 | | YYSYMBOL_218_ = 218, /* '(' */ |
846 | | YYSYMBOL_219_ = 219, /* ')' */ |
847 | | YYSYMBOL_220_ = 220, /* '{' */ |
848 | | YYSYMBOL_221_ = 221, /* '}' */ |
849 | | YYSYMBOL_YYACCEPT = 222, /* $accept */ |
850 | | YYSYMBOL_configuration = 223, /* configuration */ |
851 | | YYSYMBOL_command_list = 224, /* command_list */ |
852 | | YYSYMBOL_command = 225, /* command */ |
853 | | YYSYMBOL_server_command = 226, /* server_command */ |
854 | | YYSYMBOL_client_type = 227, /* client_type */ |
855 | | YYSYMBOL_address = 228, /* address */ |
856 | | YYSYMBOL_ip_address = 229, /* ip_address */ |
857 | | YYSYMBOL_address_fam = 230, /* address_fam */ |
858 | | YYSYMBOL_option_list = 231, /* option_list */ |
859 | | YYSYMBOL_option = 232, /* option */ |
860 | | YYSYMBOL_option_flag = 233, /* option_flag */ |
861 | | YYSYMBOL_option_flag_keyword = 234, /* option_flag_keyword */ |
862 | | YYSYMBOL_option_int = 235, /* option_int */ |
863 | | YYSYMBOL_option_int_keyword = 236, /* option_int_keyword */ |
864 | | YYSYMBOL_option_str = 237, /* option_str */ |
865 | | YYSYMBOL_option_str_keyword = 238, /* option_str_keyword */ |
866 | | YYSYMBOL_unpeer_command = 239, /* unpeer_command */ |
867 | | YYSYMBOL_unpeer_keyword = 240, /* unpeer_keyword */ |
868 | | YYSYMBOL_other_mode_command = 241, /* other_mode_command */ |
869 | | YYSYMBOL_authentication_command = 242, /* authentication_command */ |
870 | | YYSYMBOL_crypto_command_list = 243, /* crypto_command_list */ |
871 | | YYSYMBOL_crypto_command = 244, /* crypto_command */ |
872 | | YYSYMBOL_crypto_str_keyword = 245, /* crypto_str_keyword */ |
873 | | YYSYMBOL_orphan_mode_command = 246, /* orphan_mode_command */ |
874 | | YYSYMBOL_tos_option_list = 247, /* tos_option_list */ |
875 | | YYSYMBOL_tos_option = 248, /* tos_option */ |
876 | | YYSYMBOL_tos_option_int_keyword = 249, /* tos_option_int_keyword */ |
877 | | YYSYMBOL_tos_option_dbl_keyword = 250, /* tos_option_dbl_keyword */ |
878 | | YYSYMBOL_monitoring_command = 251, /* monitoring_command */ |
879 | | YYSYMBOL_stats_list = 252, /* stats_list */ |
880 | | YYSYMBOL_stat = 253, /* stat */ |
881 | | YYSYMBOL_filegen_option_list = 254, /* filegen_option_list */ |
882 | | YYSYMBOL_filegen_option = 255, /* filegen_option */ |
883 | | YYSYMBOL_link_nolink = 256, /* link_nolink */ |
884 | | YYSYMBOL_enable_disable = 257, /* enable_disable */ |
885 | | YYSYMBOL_filegen_type = 258, /* filegen_type */ |
886 | | YYSYMBOL_access_control_command = 259, /* access_control_command */ |
887 | | YYSYMBOL_restrict_mask = 260, /* restrict_mask */ |
888 | | YYSYMBOL_res_ippeerlimit = 261, /* res_ippeerlimit */ |
889 | | YYSYMBOL_ac_flag_list = 262, /* ac_flag_list */ |
890 | | YYSYMBOL_access_control_flag = 263, /* access_control_flag */ |
891 | | YYSYMBOL_discard_option_list = 264, /* discard_option_list */ |
892 | | YYSYMBOL_discard_option = 265, /* discard_option */ |
893 | | YYSYMBOL_discard_option_keyword = 266, /* discard_option_keyword */ |
894 | | YYSYMBOL_mru_option_list = 267, /* mru_option_list */ |
895 | | YYSYMBOL_mru_option = 268, /* mru_option */ |
896 | | YYSYMBOL_mru_option_keyword = 269, /* mru_option_keyword */ |
897 | | YYSYMBOL_fudge_command = 270, /* fudge_command */ |
898 | | YYSYMBOL_fudge_factor_list = 271, /* fudge_factor_list */ |
899 | | YYSYMBOL_fudge_factor = 272, /* fudge_factor */ |
900 | | YYSYMBOL_fudge_factor_dbl_keyword = 273, /* fudge_factor_dbl_keyword */ |
901 | | YYSYMBOL_fudge_factor_bool_keyword = 274, /* fudge_factor_bool_keyword */ |
902 | | YYSYMBOL_device_command = 275, /* device_command */ |
903 | | YYSYMBOL_device_item_list = 276, /* device_item_list */ |
904 | | YYSYMBOL_device_item = 277, /* device_item */ |
905 | | YYSYMBOL_device_item_path_keyword = 278, /* device_item_path_keyword */ |
906 | | YYSYMBOL_rlimit_command = 279, /* rlimit_command */ |
907 | | YYSYMBOL_rlimit_option_list = 280, /* rlimit_option_list */ |
908 | | YYSYMBOL_rlimit_option = 281, /* rlimit_option */ |
909 | | YYSYMBOL_rlimit_option_keyword = 282, /* rlimit_option_keyword */ |
910 | | YYSYMBOL_system_option_command = 283, /* system_option_command */ |
911 | | YYSYMBOL_system_option_list = 284, /* system_option_list */ |
912 | | YYSYMBOL_system_option = 285, /* system_option */ |
913 | | YYSYMBOL_system_option_flag_keyword = 286, /* system_option_flag_keyword */ |
914 | | YYSYMBOL_system_option_local_flag_keyword = 287, /* system_option_local_flag_keyword */ |
915 | | YYSYMBOL_tinker_command = 288, /* tinker_command */ |
916 | | YYSYMBOL_tinker_option_list = 289, /* tinker_option_list */ |
917 | | YYSYMBOL_tinker_option = 290, /* tinker_option */ |
918 | | YYSYMBOL_tinker_option_keyword = 291, /* tinker_option_keyword */ |
919 | | YYSYMBOL_miscellaneous_command = 292, /* miscellaneous_command */ |
920 | | YYSYMBOL_misc_cmd_dbl_keyword = 293, /* misc_cmd_dbl_keyword */ |
921 | | YYSYMBOL_misc_cmd_int_keyword = 294, /* misc_cmd_int_keyword */ |
922 | | YYSYMBOL_opt_hash_check = 295, /* opt_hash_check */ |
923 | | YYSYMBOL_misc_cmd_str_keyword = 296, /* misc_cmd_str_keyword */ |
924 | | YYSYMBOL_misc_cmd_str_lcl_keyword = 297, /* misc_cmd_str_lcl_keyword */ |
925 | | YYSYMBOL_drift_parm = 298, /* drift_parm */ |
926 | | YYSYMBOL_pollskew_list = 299, /* pollskew_list */ |
927 | | YYSYMBOL_pollskew_spec = 300, /* pollskew_spec */ |
928 | | YYSYMBOL_pollskew_cycle = 301, /* pollskew_cycle */ |
929 | | YYSYMBOL_variable_assign = 302, /* variable_assign */ |
930 | | YYSYMBOL_t_default_or_zero = 303, /* t_default_or_zero */ |
931 | | YYSYMBOL_trap_option_list = 304, /* trap_option_list */ |
932 | | YYSYMBOL_trap_option = 305, /* trap_option */ |
933 | | YYSYMBOL_log_config_list = 306, /* log_config_list */ |
934 | | YYSYMBOL_log_config_command = 307, /* log_config_command */ |
935 | | YYSYMBOL_interface_command = 308, /* interface_command */ |
936 | | YYSYMBOL_interface_nic = 309, /* interface_nic */ |
937 | | YYSYMBOL_nic_rule_class = 310, /* nic_rule_class */ |
938 | | YYSYMBOL_nic_rule_action = 311, /* nic_rule_action */ |
939 | | YYSYMBOL_reset_command = 312, /* reset_command */ |
940 | | YYSYMBOL_counter_set_list = 313, /* counter_set_list */ |
941 | | YYSYMBOL_counter_set_keyword = 314, /* counter_set_keyword */ |
942 | | YYSYMBOL_integer_list = 315, /* integer_list */ |
943 | | YYSYMBOL_integer_list_range = 316, /* integer_list_range */ |
944 | | YYSYMBOL_integer_list_range_elt = 317, /* integer_list_range_elt */ |
945 | | YYSYMBOL_integer_range = 318, /* integer_range */ |
946 | | YYSYMBOL_string_list = 319, /* string_list */ |
947 | | YYSYMBOL_address_list = 320, /* address_list */ |
948 | | YYSYMBOL_boolean = 321, /* boolean */ |
949 | | YYSYMBOL_number = 322, /* number */ |
950 | | YYSYMBOL_basedate = 323, /* basedate */ |
951 | | YYSYMBOL_simulate_command = 324, /* simulate_command */ |
952 | | YYSYMBOL_sim_conf_start = 325, /* sim_conf_start */ |
953 | | YYSYMBOL_sim_init_statement_list = 326, /* sim_init_statement_list */ |
954 | | YYSYMBOL_sim_init_statement = 327, /* sim_init_statement */ |
955 | | YYSYMBOL_sim_init_keyword = 328, /* sim_init_keyword */ |
956 | | YYSYMBOL_sim_server_list = 329, /* sim_server_list */ |
957 | | YYSYMBOL_sim_server = 330, /* sim_server */ |
958 | | YYSYMBOL_sim_server_offset = 331, /* sim_server_offset */ |
959 | | YYSYMBOL_sim_server_name = 332, /* sim_server_name */ |
960 | | YYSYMBOL_sim_act_list = 333, /* sim_act_list */ |
961 | | YYSYMBOL_sim_act = 334, /* sim_act */ |
962 | | YYSYMBOL_sim_act_stmt_list = 335, /* sim_act_stmt_list */ |
963 | | YYSYMBOL_sim_act_stmt = 336, /* sim_act_stmt */ |
964 | | YYSYMBOL_sim_act_keyword = 337 /* sim_act_keyword */ |
965 | | }; |
966 | | typedef enum yysymbol_kind_t yysymbol_kind_t; |
967 | | |
968 | | |
969 | | |
970 | | |
971 | | #ifdef short |
972 | | # undef short |
973 | | #endif |
974 | | |
975 | | /* On compilers that do not define __PTRDIFF_MAX__ etc., make sure |
976 | | <limits.h> and (if available) <stdint.h> are included |
977 | | so that the code can choose integer types of a good width. */ |
978 | | |
979 | | #ifndef __PTRDIFF_MAX__ |
980 | | # include <limits.h> /* INFRINGES ON USER NAME SPACE */ |
981 | | # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ |
982 | | # include <stdint.h> /* INFRINGES ON USER NAME SPACE */ |
983 | | # define YY_STDINT_H |
984 | | # endif |
985 | | #endif |
986 | | |
987 | | /* Narrow types that promote to a signed type and that can represent a |
988 | | signed or unsigned integer of at least N bits. In tables they can |
989 | | save space and decrease cache pressure. Promoting to a signed type |
990 | | helps avoid bugs in integer arithmetic. */ |
991 | | |
992 | | #ifdef __INT_LEAST8_MAX__ |
993 | | typedef __INT_LEAST8_TYPE__ yytype_int8; |
994 | | #elif defined YY_STDINT_H |
995 | | typedef int_least8_t yytype_int8; |
996 | | #else |
997 | | typedef signed char yytype_int8; |
998 | | #endif |
999 | | |
1000 | | #ifdef __INT_LEAST16_MAX__ |
1001 | | typedef __INT_LEAST16_TYPE__ yytype_int16; |
1002 | | #elif defined YY_STDINT_H |
1003 | | typedef int_least16_t yytype_int16; |
1004 | | #else |
1005 | | typedef short yytype_int16; |
1006 | | #endif |
1007 | | |
1008 | | /* Work around bug in HP-UX 11.23, which defines these macros |
1009 | | incorrectly for preprocessor constants. This workaround can likely |
1010 | | be removed in 2023, as HPE has promised support for HP-UX 11.23 |
1011 | | (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of |
1012 | | <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */ |
1013 | | #ifdef __hpux |
1014 | | # undef UINT_LEAST8_MAX |
1015 | | # undef UINT_LEAST16_MAX |
1016 | | # define UINT_LEAST8_MAX 255 |
1017 | | # define UINT_LEAST16_MAX 65535 |
1018 | | #endif |
1019 | | |
1020 | | #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ |
1021 | | typedef __UINT_LEAST8_TYPE__ yytype_uint8; |
1022 | | #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \ |
1023 | | && UINT_LEAST8_MAX <= INT_MAX) |
1024 | | typedef uint_least8_t yytype_uint8; |
1025 | | #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX |
1026 | | typedef unsigned char yytype_uint8; |
1027 | | #else |
1028 | | typedef short yytype_uint8; |
1029 | | #endif |
1030 | | |
1031 | | #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__ |
1032 | | typedef __UINT_LEAST16_TYPE__ yytype_uint16; |
1033 | | #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \ |
1034 | | && UINT_LEAST16_MAX <= INT_MAX) |
1035 | | typedef uint_least16_t yytype_uint16; |
1036 | | #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX |
1037 | | typedef unsigned short yytype_uint16; |
1038 | | #else |
1039 | | typedef int yytype_uint16; |
1040 | | #endif |
1041 | | |
1042 | | #ifndef YYPTRDIFF_T |
1043 | | # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__ |
1044 | 0 | # define YYPTRDIFF_T __PTRDIFF_TYPE__ |
1045 | | # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__ |
1046 | | # elif defined PTRDIFF_MAX |
1047 | | # ifndef ptrdiff_t |
1048 | | # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ |
1049 | | # endif |
1050 | | # define YYPTRDIFF_T ptrdiff_t |
1051 | | # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX |
1052 | | # else |
1053 | | # define YYPTRDIFF_T long |
1054 | | # define YYPTRDIFF_MAXIMUM LONG_MAX |
1055 | | # endif |
1056 | | #endif |
1057 | | |
1058 | | #ifndef YYSIZE_T |
1059 | | # ifdef __SIZE_TYPE__ |
1060 | | # define YYSIZE_T __SIZE_TYPE__ |
1061 | | # elif defined size_t |
1062 | | # define YYSIZE_T size_t |
1063 | | # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ |
1064 | | # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ |
1065 | | # define YYSIZE_T size_t |
1066 | | # else |
1067 | | # define YYSIZE_T unsigned |
1068 | | # endif |
1069 | | #endif |
1070 | | |
1071 | | #define YYSIZE_MAXIMUM \ |
1072 | | YY_CAST (YYPTRDIFF_T, \ |
1073 | | (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \ |
1074 | | ? YYPTRDIFF_MAXIMUM \ |
1075 | | : YY_CAST (YYSIZE_T, -1))) |
1076 | | |
1077 | 0 | #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X)) |
1078 | | |
1079 | | |
1080 | | /* Stored state numbers (used for stacks). */ |
1081 | | typedef yytype_int16 yy_state_t; |
1082 | | |
1083 | | /* State numbers in computations. */ |
1084 | | typedef int yy_state_fast_t; |
1085 | | |
1086 | | #ifndef YY_ |
1087 | | # if defined YYENABLE_NLS && YYENABLE_NLS |
1088 | | # if ENABLE_NLS |
1089 | | # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ |
1090 | | # define YY_(Msgid) dgettext ("bison-runtime", Msgid) |
1091 | | # endif |
1092 | | # endif |
1093 | | # ifndef YY_ |
1094 | 0 | # define YY_(Msgid) Msgid |
1095 | | # endif |
1096 | | #endif |
1097 | | |
1098 | | |
1099 | | #ifndef YY_ATTRIBUTE_PURE |
1100 | | # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) |
1101 | | # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) |
1102 | | # else |
1103 | | # define YY_ATTRIBUTE_PURE |
1104 | | # endif |
1105 | | #endif |
1106 | | |
1107 | | #ifndef YY_ATTRIBUTE_UNUSED |
1108 | | # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__) |
1109 | | # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) |
1110 | | # else |
1111 | | # define YY_ATTRIBUTE_UNUSED |
1112 | | # endif |
1113 | | #endif |
1114 | | |
1115 | | /* Suppress unused-variable warnings by "using" E. */ |
1116 | | #if ! defined lint || defined __GNUC__ |
1117 | 0 | # define YY_USE(E) ((void) (E)) |
1118 | | #else |
1119 | | # define YY_USE(E) /* empty */ |
1120 | | #endif |
1121 | | |
1122 | | /* Suppress an incorrect diagnostic about yylval being uninitialized. */ |
1123 | | #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__ |
1124 | | # if __GNUC__ * 100 + __GNUC_MINOR__ < 407 |
1125 | | # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ |
1126 | | _Pragma ("GCC diagnostic push") \ |
1127 | | _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") |
1128 | | # else |
1129 | | # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ |
1130 | | _Pragma ("GCC diagnostic push") \ |
1131 | | _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ |
1132 | | _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") |
1133 | | # endif |
1134 | | # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ |
1135 | | _Pragma ("GCC diagnostic pop") |
1136 | | #else |
1137 | | # define YY_INITIAL_VALUE(Value) Value |
1138 | | #endif |
1139 | | #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
1140 | | # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
1141 | | # define YY_IGNORE_MAYBE_UNINITIALIZED_END |
1142 | | #endif |
1143 | | #ifndef YY_INITIAL_VALUE |
1144 | | # define YY_INITIAL_VALUE(Value) /* Nothing. */ |
1145 | | #endif |
1146 | | |
1147 | | #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__ |
1148 | | # define YY_IGNORE_USELESS_CAST_BEGIN \ |
1149 | | _Pragma ("GCC diagnostic push") \ |
1150 | | _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"") |
1151 | | # define YY_IGNORE_USELESS_CAST_END \ |
1152 | | _Pragma ("GCC diagnostic pop") |
1153 | | #endif |
1154 | | #ifndef YY_IGNORE_USELESS_CAST_BEGIN |
1155 | | # define YY_IGNORE_USELESS_CAST_BEGIN |
1156 | | # define YY_IGNORE_USELESS_CAST_END |
1157 | | #endif |
1158 | | |
1159 | | |
1160 | 0 | #define YY_ASSERT(E) ((void) (0 && (E))) |
1161 | | |
1162 | | #if !defined yyoverflow |
1163 | | |
1164 | | /* The parser invokes alloca or malloc; define the necessary symbols. */ |
1165 | | |
1166 | | # ifdef YYSTACK_USE_ALLOCA |
1167 | | # if YYSTACK_USE_ALLOCA |
1168 | | # ifdef __GNUC__ |
1169 | | # define YYSTACK_ALLOC __builtin_alloca |
1170 | | # elif defined __BUILTIN_VA_ARG_INCR |
1171 | | # include <alloca.h> /* INFRINGES ON USER NAME SPACE */ |
1172 | | # elif defined _AIX |
1173 | | # define YYSTACK_ALLOC __alloca |
1174 | | # elif defined _MSC_VER |
1175 | | # include <malloc.h> /* INFRINGES ON USER NAME SPACE */ |
1176 | | # define alloca _alloca |
1177 | | # else |
1178 | | # define YYSTACK_ALLOC alloca |
1179 | | # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS |
1180 | | # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
1181 | | /* Use EXIT_SUCCESS as a witness for stdlib.h. */ |
1182 | | # ifndef EXIT_SUCCESS |
1183 | | # define EXIT_SUCCESS 0 |
1184 | | # endif |
1185 | | # endif |
1186 | | # endif |
1187 | | # endif |
1188 | | # endif |
1189 | | |
1190 | | # ifdef YYSTACK_ALLOC |
1191 | | /* Pacify GCC's 'empty if-body' warning. */ |
1192 | | # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) |
1193 | | # ifndef YYSTACK_ALLOC_MAXIMUM |
1194 | | /* The OS might guarantee only one guard page at the bottom of the stack, |
1195 | | and a page size can be as small as 4096 bytes. So we cannot safely |
1196 | | invoke alloca (N) if N exceeds 4096. Use a slightly smaller number |
1197 | | to allow for a few compiler-allocated temporary stack slots. */ |
1198 | | # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ |
1199 | | # endif |
1200 | | # else |
1201 | | # define YYSTACK_ALLOC YYMALLOC |
1202 | 0 | # define YYSTACK_FREE YYFREE |
1203 | | # ifndef YYSTACK_ALLOC_MAXIMUM |
1204 | | # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
1205 | | # endif |
1206 | | # if (defined __cplusplus && ! defined EXIT_SUCCESS \ |
1207 | | && ! ((defined YYMALLOC || defined malloc) \ |
1208 | | && (defined YYFREE || defined free))) |
1209 | | # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
1210 | | # ifndef EXIT_SUCCESS |
1211 | | # define EXIT_SUCCESS 0 |
1212 | | # endif |
1213 | | # endif |
1214 | | # ifndef YYMALLOC |
1215 | | # define YYMALLOC malloc |
1216 | | # if ! defined malloc && ! defined EXIT_SUCCESS |
1217 | | void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ |
1218 | | # endif |
1219 | | # endif |
1220 | | # ifndef YYFREE |
1221 | | # define YYFREE free |
1222 | | # if ! defined free && ! defined EXIT_SUCCESS |
1223 | | void free (void *); /* INFRINGES ON USER NAME SPACE */ |
1224 | | # endif |
1225 | | # endif |
1226 | | # endif |
1227 | | #endif /* !defined yyoverflow */ |
1228 | | |
1229 | | #if (! defined yyoverflow \ |
1230 | | && (! defined __cplusplus \ |
1231 | | || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) |
1232 | | |
1233 | | /* A type that is properly aligned for any stack member. */ |
1234 | | union yyalloc |
1235 | | { |
1236 | | yy_state_t yyss_alloc; |
1237 | | YYSTYPE yyvs_alloc; |
1238 | | }; |
1239 | | |
1240 | | /* The size of the maximum gap between one aligned stack and the next. */ |
1241 | 0 | # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1) |
1242 | | |
1243 | | /* The size of an array large to enough to hold all stacks, each with |
1244 | | N elements. */ |
1245 | | # define YYSTACK_BYTES(N) \ |
1246 | | ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \ |
1247 | | + YYSTACK_GAP_MAXIMUM) |
1248 | | |
1249 | | # define YYCOPY_NEEDED 1 |
1250 | | |
1251 | | /* Relocate STACK from its old location to the new one. The |
1252 | | local variables YYSIZE and YYSTACKSIZE give the old and new number of |
1253 | | elements in the stack, and YYPTR gives the new location of the |
1254 | | stack. Advance YYPTR to a properly aligned location for the next |
1255 | | stack. */ |
1256 | | # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ |
1257 | 0 | do \ |
1258 | 0 | { \ |
1259 | 0 | YYPTRDIFF_T yynewbytes; \ |
1260 | 0 | YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ |
1261 | 0 | Stack = &yyptr->Stack_alloc; \ |
1262 | 0 | yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \ |
1263 | 0 | yyptr += yynewbytes / YYSIZEOF (*yyptr); \ |
1264 | 0 | } \ |
1265 | 0 | while (0) |
1266 | | |
1267 | | #endif |
1268 | | |
1269 | | #if defined YYCOPY_NEEDED && YYCOPY_NEEDED |
1270 | | /* Copy COUNT objects from SRC to DST. The source and destination do |
1271 | | not overlap. */ |
1272 | | # ifndef YYCOPY |
1273 | | # if defined __GNUC__ && 1 < __GNUC__ |
1274 | | # define YYCOPY(Dst, Src, Count) \ |
1275 | 0 | __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src))) |
1276 | | # else |
1277 | | # define YYCOPY(Dst, Src, Count) \ |
1278 | | do \ |
1279 | | { \ |
1280 | | YYPTRDIFF_T yyi; \ |
1281 | | for (yyi = 0; yyi < (Count); yyi++) \ |
1282 | | (Dst)[yyi] = (Src)[yyi]; \ |
1283 | | } \ |
1284 | | while (0) |
1285 | | # endif |
1286 | | # endif |
1287 | | #endif /* !YYCOPY_NEEDED */ |
1288 | | |
1289 | | /* YYFINAL -- State number of the termination state. */ |
1290 | 0 | #define YYFINAL 225 |
1291 | | /* YYLAST -- Last index in YYTABLE. */ |
1292 | 0 | #define YYLAST 717 |
1293 | | |
1294 | | /* YYNTOKENS -- Number of terminals. */ |
1295 | 0 | #define YYNTOKENS 222 |
1296 | | /* YYNNTS -- Number of nonterminals. */ |
1297 | | #define YYNNTS 116 |
1298 | | /* YYNRULES -- Number of rules. */ |
1299 | | #define YYNRULES 346 |
1300 | | /* YYNSTATES -- Number of states. */ |
1301 | | #define YYNSTATES 467 |
1302 | | |
1303 | | /* YYMAXUTOK -- Last valid token kind. */ |
1304 | 0 | #define YYMAXUTOK 470 |
1305 | | |
1306 | | |
1307 | | /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM |
1308 | | as returned by yylex, with out-of-bounds checking. */ |
1309 | | #define YYTRANSLATE(YYX) \ |
1310 | 0 | (0 <= (YYX) && (YYX) <= YYMAXUTOK \ |
1311 | 0 | ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \ |
1312 | 0 | : YYSYMBOL_YYUNDEF) |
1313 | | |
1314 | | /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM |
1315 | | as returned by yylex. */ |
1316 | | static const yytype_uint8 yytranslate[] = |
1317 | | { |
1318 | | 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1319 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1320 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1321 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1322 | | 218, 219, 2, 2, 2, 2, 2, 2, 2, 2, |
1323 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1324 | | 2, 217, 2, 2, 2, 2, 2, 2, 2, 2, |
1325 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1326 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1327 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1328 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1329 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1330 | | 2, 2, 2, 220, 216, 221, 2, 2, 2, 2, |
1331 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1332 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1333 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1334 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1335 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1336 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1337 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1338 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1339 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1340 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1341 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1342 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1343 | | 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, |
1344 | | 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
1345 | | 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, |
1346 | | 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, |
1347 | | 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, |
1348 | | 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, |
1349 | | 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, |
1350 | | 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, |
1351 | | 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, |
1352 | | 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, |
1353 | | 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, |
1354 | | 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, |
1355 | | 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, |
1356 | | 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, |
1357 | | 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, |
1358 | | 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, |
1359 | | 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, |
1360 | | 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, |
1361 | | 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, |
1362 | | 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, |
1363 | | 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, |
1364 | | 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, |
1365 | | 215 |
1366 | | }; |
1367 | | |
1368 | | #if YYDEBUG |
1369 | | /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ |
1370 | | static const yytype_int16 yyrline[] = |
1371 | | { |
1372 | | 0, 399, 399, 403, 404, 405, 420, 421, 422, 423, |
1373 | | 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, |
1374 | | 434, 442, 452, 453, 454, 455, 456, 460, 461, 466, |
1375 | | 471, 473, 479, 480, 488, 489, 490, 494, 499, 500, |
1376 | | 501, 502, 503, 504, 505, 506, 507, 511, 513, 518, |
1377 | | 519, 520, 521, 522, 523, 527, 532, 541, 551, 552, |
1378 | | 562, 564, 566, 568, 579, 586, 588, 593, 595, 597, |
1379 | | 599, 601, 611, 617, 618, 626, 628, 640, 641, 642, |
1380 | | 643, 644, 653, 658, 663, 671, 673, 675, 677, 682, |
1381 | | 683, 684, 685, 686, 687, 688, 689, 690, 694, 695, |
1382 | | 704, 706, 715, 725, 730, 738, 739, 740, 741, 742, |
1383 | | 743, 744, 745, 750, 751, 759, 769, 778, 793, 798, |
1384 | | 799, 803, 804, 808, 809, 810, 811, 812, 813, 814, |
1385 | | 823, 827, 831, 840, 849, 865, 881, 891, 900, 916, |
1386 | | 917, 925, 926, 946, 947, 955, 966, 967, 968, 969, |
1387 | | 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, |
1388 | | 980, 981, 982, 986, 991, 999, 1004, 1005, 1006, 1010, |
1389 | | 1015, 1023, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, |
1390 | | 1043, 1053, 1058, 1066, 1068, 1070, 1079, 1081, 1086, 1087, |
1391 | | 1088, 1092, 1093, 1094, 1095, 1103, 1113, 1118, 1126, 1131, |
1392 | | 1132, 1140, 1145, 1150, 1158, 1163, 1164, 1165, 1174, 1176, |
1393 | | 1181, 1186, 1194, 1196, 1213, 1214, 1215, 1216, 1217, 1218, |
1394 | | 1222, 1223, 1224, 1225, 1226, 1227, 1235, 1240, 1245, 1253, |
1395 | | 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, |
1396 | | 1276, 1277, 1278, 1285, 1292, 1299, 1315, 1334, 1342, 1344, |
1397 | | 1346, 1348, 1350, 1352, 1354, 1361, 1366, 1367, 1368, 1372, |
1398 | | 1376, 1385, 1387, 1390, 1394, 1398, 1399, 1400, 1404, 1415, |
1399 | | 1433, 1446, 1447, 1452, 1478, 1484, 1489, 1494, 1496, 1501, |
1400 | | 1502, 1510, 1512, 1520, 1525, 1533, 1558, 1565, 1575, 1576, |
1401 | | 1580, 1581, 1582, 1583, 1587, 1588, 1589, 1593, 1598, 1603, |
1402 | | 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1627, 1632, 1640, |
1403 | | 1645, 1653, 1655, 1659, 1664, 1669, 1677, 1682, 1690, 1699, |
1404 | | 1700, 1704, 1705, 1709, 1717, 1735, 1739, 1744, 1752, 1757, |
1405 | | 1758, 1762, 1767, 1775, 1780, 1785, 1790, 1795, 1803, 1808, |
1406 | | 1813, 1821, 1826, 1827, 1828, 1829, 1830 |
1407 | | }; |
1408 | | #endif |
1409 | | |
1410 | | /** Accessing symbol of state STATE. */ |
1411 | 0 | #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) |
1412 | | |
1413 | | #if YYDEBUG || 1 |
1414 | | /* The user-facing name of the symbol whose (internal) number is |
1415 | | YYSYMBOL. No bounds checking. */ |
1416 | | static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED; |
1417 | | |
1418 | | /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. |
1419 | | First, the terminals, then, starting at YYNTOKENS, nonterminals. */ |
1420 | | static const char *const yytname[] = |
1421 | | { |
1422 | | "\"end of file\"", "error", "\"invalid token\"", "T_Abbrev", "T_Age", |
1423 | | "T_All", "T_Allan", "T_Allpeers", "T_Auth", "T_Autokey", "T_Automax", |
1424 | | "T_Average", "T_Basedate", "T_Bclient", "T_Bcpollbstep", "T_Beacon", |
1425 | | "T_Broadcast", "T_Broadcastclient", "T_Broadcastdelay", "T_Burst", |
1426 | | "T_Calibrate", "T_Ceiling", "T_Checkhash", "T_Clockstats", "T_Cohort", |
1427 | | "T_ControlKey", "T_Crypto", "T_Cryptostats", "T_Ctl", "T_Day", |
1428 | | "T_Default", "T_Delrestrict", "T_Device", "T_Digest", "T_Disable", |
1429 | | "T_Discard", "T_Dispersion", "T_Double", "T_Driftfile", "T_Drop", |
1430 | | "T_Dscp", "T_Ellipsis", "T_Enable", "T_End", "T_Epeer", "T_False", |
1431 | | "T_File", "T_Filegen", "T_Filenum", "T_Flag1", "T_Flag2", "T_Flag3", |
1432 | | "T_Flag4", "T_Flake", "T_Floor", "T_Freq", "T_Fudge", "T_Fuzz", "T_Host", |
1433 | | "T_Huffpuff", "T_Iburst", "T_Ident", "T_Ignore", "T_Ignorehash", |
1434 | | "T_Incalloc", "T_Incmem", "T_Initalloc", "T_Initmem", "T_Includefile", |
1435 | | "T_Integer", "T_Interface", "T_Intrange", "T_Io", "T_Ippeerlimit", |
1436 | | "T_Ipv4", "T_Ipv4_flag", "T_Ipv6", "T_Ipv6_flag", "T_Kernel", "T_Key", |
1437 | | "T_Keys", "T_Keysdir", "T_Kod", "T_Leapfile", "T_Leapsmearinterval", |
1438 | | "T_Limited", "T_Link", "T_Listen", "T_Logconfig", "T_Logfile", |
1439 | | "T_Loopstats", "T_Lowpriotrap", "T_Manycastclient", "T_Manycastserver", |
1440 | | "T_Mask", "T_Maxage", "T_Maxclock", "T_Maxdepth", "T_Maxdist", |
1441 | | "T_Maxmem", "T_Maxpoll", "T_Mdnstries", "T_Mem", "T_Memlock", |
1442 | | "T_Minclock", "T_Mindepth", "T_Mindist", "T_Minimum", "T_Minjitter", |
1443 | | "T_Minpoll", "T_Minsane", "T_Mode", "T_Mode7", "T_Monitor", "T_Month", |
1444 | | "T_Mru", "T_Mssntp", "T_Multicastclient", "T_Nic", "T_Nolink", |
1445 | | "T_Nomodify", "T_Nomrulist", "T_None", "T_Nonvolatile", "T_Noepeer", |
1446 | | "T_Nopeer", "T_Noquery", "T_Noselect", "T_Noserve", "T_Notrap", |
1447 | | "T_Notrust", "T_Ntp", "T_Ntpport", "T_NtpSignDsocket", "T_Orphan", |
1448 | | "T_Orphanwait", "T_PCEdigest", "T_Panic", "T_Peer", "T_Peerstats", |
1449 | | "T_Phone", "T_Pid", "T_Pidfile", "T_Poll", "T_PollSkewList", "T_Pool", |
1450 | | "T_Port", "T_PpsData", "T_Preempt", "T_Prefer", "T_Protostats", "T_Pw", |
1451 | | "T_Randfile", "T_Rawstats", "T_Refid", "T_Requestkey", "T_Reset", |
1452 | | "T_Restrict", "T_Revoke", "T_Rlimit", "T_Saveconfigdir", "T_Server", |
1453 | | "T_Serverresponse", "T_ServerresponseFuzz", "T_Setvar", "T_Source", |
1454 | | "T_Stacksize", "T_Statistics", "T_Stats", "T_Statsdir", "T_Step", |
1455 | | "T_Stepback", "T_Stepfwd", "T_Stepout", "T_Stratum", "T_String", "T_Sys", |
1456 | | "T_Sysstats", "T_Tick", "T_Time1", "T_Time2", "T_TimeData", "T_Timer", |
1457 | | "T_Timingstats", "T_Tinker", "T_Tos", "T_Trap", "T_True", "T_Trustedkey", |
1458 | | "T_Ttl", "T_Type", "T_U_int", "T_UEcrypto", "T_UEcryptonak", |
1459 | | "T_UEdigest", "T_Unconfig", "T_Unpeer", "T_Version", "T_WanderThreshold", |
1460 | | "T_Week", "T_Wildcard", "T_Xleave", "T_Xmtnonce", "T_Year", "T_Flag", |
1461 | | "T_EOC", "T_Simulate", "T_Beep_Delay", "T_Sim_Duration", |
1462 | | "T_Server_Offset", "T_Duration", "T_Freq_Offset", "T_Wander", "T_Jitter", |
1463 | | "T_Prop_Delay", "T_Proc_Delay", "'|'", "'='", "'('", "')'", "'{'", "'}'", |
1464 | | "$accept", "configuration", "command_list", "command", "server_command", |
1465 | | "client_type", "address", "ip_address", "address_fam", "option_list", |
1466 | | "option", "option_flag", "option_flag_keyword", "option_int", |
1467 | | "option_int_keyword", "option_str", "option_str_keyword", |
1468 | | "unpeer_command", "unpeer_keyword", "other_mode_command", |
1469 | | "authentication_command", "crypto_command_list", "crypto_command", |
1470 | | "crypto_str_keyword", "orphan_mode_command", "tos_option_list", |
1471 | | "tos_option", "tos_option_int_keyword", "tos_option_dbl_keyword", |
1472 | | "monitoring_command", "stats_list", "stat", "filegen_option_list", |
1473 | | "filegen_option", "link_nolink", "enable_disable", "filegen_type", |
1474 | | "access_control_command", "restrict_mask", "res_ippeerlimit", |
1475 | | "ac_flag_list", "access_control_flag", "discard_option_list", |
1476 | | "discard_option", "discard_option_keyword", "mru_option_list", |
1477 | | "mru_option", "mru_option_keyword", "fudge_command", "fudge_factor_list", |
1478 | | "fudge_factor", "fudge_factor_dbl_keyword", "fudge_factor_bool_keyword", |
1479 | | "device_command", "device_item_list", "device_item", |
1480 | | "device_item_path_keyword", "rlimit_command", "rlimit_option_list", |
1481 | | "rlimit_option", "rlimit_option_keyword", "system_option_command", |
1482 | | "system_option_list", "system_option", "system_option_flag_keyword", |
1483 | | "system_option_local_flag_keyword", "tinker_command", |
1484 | | "tinker_option_list", "tinker_option", "tinker_option_keyword", |
1485 | | "miscellaneous_command", "misc_cmd_dbl_keyword", "misc_cmd_int_keyword", |
1486 | | "opt_hash_check", "misc_cmd_str_keyword", "misc_cmd_str_lcl_keyword", |
1487 | | "drift_parm", "pollskew_list", "pollskew_spec", "pollskew_cycle", |
1488 | | "variable_assign", "t_default_or_zero", "trap_option_list", |
1489 | | "trap_option", "log_config_list", "log_config_command", |
1490 | | "interface_command", "interface_nic", "nic_rule_class", |
1491 | | "nic_rule_action", "reset_command", "counter_set_list", |
1492 | | "counter_set_keyword", "integer_list", "integer_list_range", |
1493 | | "integer_list_range_elt", "integer_range", "string_list", "address_list", |
1494 | | "boolean", "number", "basedate", "simulate_command", "sim_conf_start", |
1495 | | "sim_init_statement_list", "sim_init_statement", "sim_init_keyword", |
1496 | | "sim_server_list", "sim_server", "sim_server_offset", "sim_server_name", |
1497 | | "sim_act_list", "sim_act", "sim_act_stmt_list", "sim_act_stmt", |
1498 | | "sim_act_keyword", YY_NULLPTR |
1499 | | }; |
1500 | | |
1501 | | static const char * |
1502 | | yysymbol_name (yysymbol_kind_t yysymbol) |
1503 | 0 | { |
1504 | 0 | return yytname[yysymbol]; |
1505 | 0 | } |
1506 | | #endif |
1507 | | |
1508 | 0 | #define YYPACT_NINF (-280) |
1509 | | |
1510 | | #define yypact_value_is_default(Yyn) \ |
1511 | 0 | ((Yyn) == YYPACT_NINF) |
1512 | | |
1513 | | #define YYTABLE_NINF (-7) |
1514 | | |
1515 | | #define yytable_value_is_error(Yyn) \ |
1516 | 0 | 0 |
1517 | | |
1518 | | /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
1519 | | STATE-NUM. */ |
1520 | | static const yytype_int16 yypact[] = |
1521 | | { |
1522 | | 10, -173, -31, -280, -280, -280, -11, -280, -89, -28, |
1523 | | 301, 3, -115, -280, 301, -280, 82, -28, -280, -98, |
1524 | | -280, -94, -83, -75, -280, -74, -280, -280, -28, 19, |
1525 | | 213, -28, -280, -280, -69, -280, -62, -280, -280, -280, |
1526 | | 35, 15, 101, 45, -42, -280, -280, -56, 82, -53, |
1527 | | -280, 53, 582, -49, -65, 49, -280, -280, -280, 129, |
1528 | | 202, -64, -280, -28, -280, -28, -280, -280, -280, -280, |
1529 | | -280, -280, -280, -280, -280, -280, -280, 0, 61, -29, |
1530 | | -24, -280, -22, -280, -280, -76, -280, -280, -280, 102, |
1531 | | -49, -280, 62, -280, -280, -113, -280, -18, -280, -280, |
1532 | | -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, |
1533 | | 301, -280, -280, -280, -280, -280, -280, 3, -280, 89, |
1534 | | 122, -280, 301, -280, -280, -280, -280, -280, -280, -280, |
1535 | | -280, -280, 281, 384, -280, -280, -1, -280, -74, -280, |
1536 | | -280, -28, -280, -280, -280, -280, -280, -280, -280, -280, |
1537 | | -280, 213, -280, 92, -28, -280, -280, -13, -5, -280, |
1538 | | -280, -280, -280, -280, -280, -280, -280, 15, -280, 91, |
1539 | | 143, 145, 91, 62, -280, -280, -280, -280, -42, -280, |
1540 | | 111, -35, -280, 82, -280, -280, -280, -280, -280, -280, |
1541 | | -280, -280, -280, -280, -280, -280, 53, -280, 0, 6, |
1542 | | -280, -280, -280, -38, -280, -280, -280, -280, -280, -280, |
1543 | | -280, -280, 582, -280, 115, 0, -280, -280, -280, 116, |
1544 | | -65, -280, -280, -280, 117, -280, -16, -280, -280, -280, |
1545 | | -280, -280, -280, -280, -280, -280, -280, -280, -280, 8, |
1546 | | -112, -280, -280, -280, -280, -280, 118, -280, 17, -280, |
1547 | | -49, -280, -280, -280, -113, -280, 26, -280, -280, -280, |
1548 | | -280, -280, 21, 27, -280, -280, -280, -280, -280, 28, |
1549 | | 138, -280, -280, 281, -280, 0, -38, -280, -280, -280, |
1550 | | -280, -280, -280, -280, -280, -280, -280, -280, -280, 140, |
1551 | | -280, 141, -280, 91, 91, -280, 91, -280, -280, 38, |
1552 | | -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, |
1553 | | -280, -61, 173, -280, -280, -280, 387, -280, -280, -280, |
1554 | | -280, -280, -280, -280, -280, -87, 12, 5, -280, -280, |
1555 | | -280, -280, -280, -280, -280, 54, -280, -280, 1, -280, |
1556 | | -280, -280, -280, -280, -280, -280, -280, -280, 14, -280, |
1557 | | 513, -280, -280, 513, -280, 208, -49, 170, -280, 172, |
1558 | | -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, |
1559 | | -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, |
1560 | | -57, -280, 72, 31, 47, -151, -280, 30, -280, 0, |
1561 | | -280, -280, -280, -280, -280, -280, -280, -280, -280, 186, |
1562 | | -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, |
1563 | | -280, -280, -280, -280, -280, -280, 199, -280, -280, 513, |
1564 | | 513, 513, -280, -280, -280, -280, 42, -280, -280, -280, |
1565 | | -28, -280, -280, -280, 48, -280, -280, -280, -280, -280, |
1566 | | 50, 52, 0, 56, -192, -280, 59, 0, -280, -280, |
1567 | | -280, 51, 139, -280, -280, -280, -280, -280, 85, 64, |
1568 | | 57, -280, 70, -280, 0, -280, -280 |
1569 | | }; |
1570 | | |
1571 | | /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. |
1572 | | Performed when YYTABLE does not specify something else to do. Zero |
1573 | | means the default is an error. */ |
1574 | | static const yytype_int16 yydefact[] = |
1575 | | { |
1576 | | 0, 0, 0, 25, 60, 256, 0, 73, 0, 0, |
1577 | | 0, 0, 270, 259, 0, 248, 0, 0, 264, 0, |
1578 | | 288, 0, 0, 0, 260, 0, 265, 26, 0, 0, |
1579 | | 0, 0, 289, 257, 0, 24, 0, 266, 271, 23, |
1580 | | 0, 0, 0, 0, 0, 267, 22, 0, 0, 0, |
1581 | | 258, 0, 0, 0, 0, 0, 58, 59, 325, 0, |
1582 | | 2, 0, 7, 0, 8, 0, 9, 10, 13, 11, |
1583 | | 12, 14, 20, 15, 16, 17, 18, 0, 0, 0, |
1584 | | 0, 240, 0, 241, 19, 0, 5, 64, 65, 66, |
1585 | | 0, 29, 139, 30, 31, 0, 27, 0, 214, 215, |
1586 | | 216, 217, 220, 218, 219, 221, 222, 223, 224, 225, |
1587 | | 209, 211, 212, 213, 166, 167, 168, 130, 164, 0, |
1588 | | 268, 249, 208, 105, 106, 107, 108, 112, 109, 110, |
1589 | | 111, 113, 0, 6, 67, 68, 263, 285, 250, 284, |
1590 | | 317, 61, 63, 172, 173, 174, 175, 176, 177, 178, |
1591 | | 179, 131, 170, 0, 62, 72, 315, 251, 252, 69, |
1592 | | 300, 301, 302, 303, 304, 305, 306, 297, 299, 141, |
1593 | | 30, 31, 141, 139, 70, 207, 205, 206, 201, 203, |
1594 | | 0, 0, 253, 100, 104, 101, 230, 231, 232, 233, |
1595 | | 234, 235, 236, 237, 238, 239, 226, 228, 0, 0, |
1596 | | 89, 90, 91, 0, 92, 93, 99, 94, 98, 95, |
1597 | | 96, 97, 82, 84, 0, 0, 88, 279, 311, 0, |
1598 | | 71, 310, 312, 308, 255, 1, 0, 4, 32, 57, |
1599 | | 322, 321, 242, 243, 244, 245, 296, 295, 294, 0, |
1600 | | 0, 81, 77, 78, 79, 80, 0, 74, 0, 138, |
1601 | | 0, 137, 200, 199, 195, 197, 0, 28, 210, 163, |
1602 | | 165, 269, 102, 0, 191, 192, 193, 194, 190, 0, |
1603 | | 0, 188, 189, 180, 182, 0, 0, 246, 262, 261, |
1604 | | 247, 283, 316, 169, 171, 314, 275, 274, 272, 0, |
1605 | | 298, 0, 143, 141, 141, 143, 141, 202, 204, 0, |
1606 | | 103, 227, 229, 323, 320, 318, 319, 87, 83, 85, |
1607 | | 86, 254, 0, 309, 307, 3, 21, 290, 291, 292, |
1608 | | 287, 293, 286, 329, 330, 0, 0, 0, 76, 75, |
1609 | | 140, 196, 198, 122, 121, 0, 119, 120, 0, 114, |
1610 | | 117, 118, 186, 187, 185, 181, 183, 184, 0, 142, |
1611 | | 133, 143, 143, 136, 143, 278, 0, 0, 280, 0, |
1612 | | 38, 39, 40, 56, 49, 51, 50, 53, 41, 42, |
1613 | | 43, 44, 52, 54, 45, 46, 33, 34, 37, 35, |
1614 | | 0, 36, 0, 0, 0, 0, 332, 0, 327, 0, |
1615 | | 115, 129, 125, 127, 123, 124, 126, 128, 116, 0, |
1616 | | 146, 147, 148, 149, 150, 151, 152, 154, 155, 153, |
1617 | | 156, 157, 158, 159, 160, 161, 0, 162, 144, 134, |
1618 | | 135, 132, 277, 276, 282, 281, 0, 47, 48, 55, |
1619 | | 0, 326, 324, 331, 0, 328, 273, 145, 313, 335, |
1620 | | 0, 0, 0, 0, 0, 337, 0, 0, 333, 336, |
1621 | | 334, 0, 0, 342, 343, 344, 345, 346, 0, 0, |
1622 | | 0, 338, 0, 340, 0, 339, 341 |
1623 | | }; |
1624 | | |
1625 | | /* YYPGOTO[NTERM-NUM]. */ |
1626 | | static const yytype_int16 yypgoto[] = |
1627 | | { |
1628 | | -280, -280, -280, -36, -280, -280, -9, -7, -280, -280, |
1629 | | -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, |
1630 | | -280, -280, -280, -280, -280, -280, 69, -280, -280, -280, |
1631 | | -280, -45, -280, -280, -280, -280, -280, -280, 114, -157, |
1632 | | -279, -280, -280, 171, -280, -280, 142, -280, -280, -280, |
1633 | | 16, -280, -280, -280, -280, 68, -280, -280, -280, 123, |
1634 | | -280, -280, 278, -71, -280, -280, -280, -280, 106, -280, |
1635 | | -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, |
1636 | | -280, -280, -280, -280, -280, 166, -280, -280, -280, -280, |
1637 | | -280, -280, 144, -280, -280, 87, -280, -280, 274, 37, |
1638 | | -196, -280, -280, -280, -280, -10, -280, -280, -59, -280, |
1639 | | -280, -280, -128, -280, -135, -280 |
1640 | | }; |
1641 | | |
1642 | | /* YYDEFGOTO[NTERM-NUM]. */ |
1643 | | static const yytype_int16 yydefgoto[] = |
1644 | | { |
1645 | | 0, 59, 60, 61, 62, 63, 140, 96, 97, 316, |
1646 | | 376, 377, 378, 379, 380, 381, 382, 64, 65, 66, |
1647 | | 67, 89, 247, 248, 68, 212, 213, 214, 215, 69, |
1648 | | 183, 131, 262, 339, 340, 341, 398, 70, 251, 292, |
1649 | | 350, 418, 117, 118, 119, 151, 152, 153, 71, 273, |
1650 | | 274, 275, 276, 72, 254, 255, 256, 73, 178, 179, |
1651 | | 180, 74, 110, 111, 112, 113, 75, 196, 197, 198, |
1652 | | 76, 77, 78, 280, 79, 80, 121, 158, 288, 289, |
1653 | | 182, 423, 311, 358, 138, 139, 81, 82, 322, 239, |
1654 | | 83, 167, 168, 224, 220, 221, 222, 157, 141, 307, |
1655 | | 232, 216, 84, 85, 325, 326, 327, 385, 386, 441, |
1656 | | 387, 444, 445, 458, 459, 460 |
1657 | | }; |
1658 | | |
1659 | | /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If |
1660 | | positive, shift that token. If negative, reduce the rule whose |
1661 | | number is the opposite. If YYTABLE_NINF, syntax error. */ |
1662 | | static const yytype_int16 yytable[] = |
1663 | | { |
1664 | | 95, 92, 302, 184, 218, 391, 175, 304, 132, 356, |
1665 | | 383, 1, 427, 317, 114, 295, 353, 236, 443, 310, |
1666 | | 2, 278, 160, 161, 226, 286, 3, 4, 5, 448, |
1667 | | 392, 305, 86, 173, 252, 6, 7, 230, 87, 258, |
1668 | | 237, 8, 9, 162, 10, 11, 217, 93, 12, 94, |
1669 | | 13, 258, 14, 15, 228, 333, 229, 16, 88, 186, |
1670 | | 120, 176, 279, 334, 287, 238, 17, 335, 253, 231, |
1671 | | 432, 18, 419, 420, 383, 421, 90, 133, 19, 346, |
1672 | | 20, 134, 318, 249, 319, 357, 91, 163, 142, 187, |
1673 | | 21, 22, 135, 23, 24, 323, 324, 277, 25, 26, |
1674 | | 136, 137, 27, 28, 159, 123, 155, 336, 188, 124, |
1675 | | 115, 29, 189, 156, 174, 393, 116, 164, 223, 181, |
1676 | | 323, 324, 185, 394, 177, 30, 91, 31, 32, 225, |
1677 | | 233, 169, 282, 33, 428, 241, 351, 352, 300, 354, |
1678 | | 337, 227, 395, 34, 240, 282, 234, 91, 35, 306, |
1679 | | 36, 235, 37, 219, 38, 39, 250, 257, 260, 261, |
1680 | | 242, 284, 285, 243, 291, 40, 41, 42, 43, 44, |
1681 | | 45, 46, 125, 293, 47, 294, 170, 48, 171, 49, |
1682 | | 298, 303, 299, 320, 309, 312, 314, 328, 50, 315, |
1683 | | 190, 165, 329, 435, 51, 52, 53, 166, 54, 55, |
1684 | | 396, 332, 342, 343, 397, 56, 57, 344, 321, 348, |
1685 | | 349, 338, 2, 355, 359, -6, 58, 388, 3, 4, |
1686 | | 5, 126, 389, 191, 192, 193, 194, 6, 7, 390, |
1687 | | 399, 195, 127, 8, 9, 128, 10, 11, 422, 425, |
1688 | | 12, 426, 13, 330, 14, 15, 446, 429, 430, 16, |
1689 | | 434, 451, 431, 244, 245, 436, 437, 440, 17, 129, |
1690 | | 246, 438, 443, 18, 450, 130, 172, 442, 466, 463, |
1691 | | 19, 452, 20, 447, 464, 465, 91, 143, 144, 145, |
1692 | | 146, 308, 21, 22, 263, 23, 24, 296, 259, 345, |
1693 | | 25, 26, 122, 283, 27, 28, 453, 454, 455, 456, |
1694 | | 457, 297, 301, 29, 281, 154, 461, 313, 147, 98, |
1695 | | 148, 290, 149, 347, 99, 384, 449, 30, 150, 31, |
1696 | | 32, 100, 331, 462, 0, 33, 433, 0, 0, 0, |
1697 | | 264, 265, 266, 267, 0, 34, 0, 0, 0, 0, |
1698 | | 35, 0, 36, 0, 37, 0, 38, 39, 0, 424, |
1699 | | 453, 454, 455, 456, 457, 0, 0, 40, 41, 42, |
1700 | | 43, 44, 45, 46, 0, 0, 47, 0, 0, 48, |
1701 | | 0, 49, 0, 0, 0, 0, 0, 0, 0, 101, |
1702 | | 50, 0, 0, 0, 0, 0, 51, 52, 53, 268, |
1703 | | 54, 55, 0, 0, 2, 0, 360, 56, 57, 0, |
1704 | | 3, 4, 5, 0, 0, 0, 361, -6, 58, 6, |
1705 | | 7, 0, 0, 102, 103, 8, 9, 0, 10, 11, |
1706 | | 0, 439, 12, 0, 13, 0, 14, 15, 0, 0, |
1707 | | 0, 16, 104, 0, 0, 269, 0, 105, 0, 0, |
1708 | | 17, 0, 0, 0, 0, 18, 0, 362, 363, 0, |
1709 | | 0, 0, 19, 0, 20, 270, 0, 0, 0, 0, |
1710 | | 271, 272, 0, 0, 21, 22, 364, 23, 24, 106, |
1711 | | 0, 0, 25, 26, 0, 0, 27, 28, 0, 0, |
1712 | | 0, 0, 0, 0, 0, 29, 0, 365, 0, 0, |
1713 | | 0, 0, 0, 107, 108, 109, 366, 0, 367, 30, |
1714 | | 0, 31, 32, 0, 0, 0, 0, 33, 0, 0, |
1715 | | 0, 0, 0, 0, 368, 0, 0, 34, 0, 0, |
1716 | | 0, 0, 35, 0, 36, 0, 37, 0, 38, 39, |
1717 | | 0, 0, 0, 0, 0, 369, 370, 0, 0, 40, |
1718 | | 41, 42, 43, 44, 45, 46, 0, 0, 47, 0, |
1719 | | 0, 48, 0, 49, 0, 0, 0, 400, 0, 0, |
1720 | | 0, 0, 50, 0, 0, 0, 401, 0, 51, 52, |
1721 | | 53, 0, 54, 55, 371, 402, 372, 0, 0, 56, |
1722 | | 57, 0, 0, 0, 373, 0, 0, 0, 374, 375, |
1723 | | 58, 0, 0, 0, 199, 403, 200, 201, 404, 0, |
1724 | | 0, 0, 0, 202, 405, 0, 203, 0, 0, 0, |
1725 | | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1726 | | 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, |
1727 | | 0, 0, 0, 407, 408, 0, 204, 409, 410, 411, |
1728 | | 0, 412, 413, 414, 0, 415, 0, 0, 0, 0, |
1729 | | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1730 | | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1731 | | 0, 0, 0, 0, 0, 416, 0, 0, 205, 0, |
1732 | | 206, 0, 0, 0, 0, 0, 207, 0, 208, 0, |
1733 | | 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, |
1734 | | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1735 | | 417, 0, 0, 0, 0, 0, 210, 211 |
1736 | | }; |
1737 | | |
1738 | | static const yytype_int16 yycheck[] = |
1739 | | { |
1740 | | 9, 8, 198, 48, 69, 4, 48, 45, 17, 70, |
1741 | | 161, 1, 69, 5, 11, 172, 295, 39, 210, 215, |
1742 | | 10, 22, 7, 8, 60, 30, 16, 17, 18, 221, |
1743 | | 29, 69, 205, 42, 147, 25, 26, 37, 69, 110, |
1744 | | 62, 31, 32, 28, 34, 35, 53, 75, 38, 77, |
1745 | | 40, 122, 42, 43, 63, 34, 65, 47, 69, 6, |
1746 | | 175, 103, 63, 42, 69, 87, 56, 46, 181, 69, |
1747 | | 221, 61, 351, 352, 161, 354, 165, 175, 68, 275, |
1748 | | 70, 175, 74, 90, 76, 146, 175, 72, 69, 36, |
1749 | | 80, 81, 175, 83, 84, 207, 208, 133, 88, 89, |
1750 | | 175, 175, 92, 93, 69, 23, 175, 86, 55, 27, |
1751 | | 107, 101, 59, 175, 69, 114, 113, 102, 69, 175, |
1752 | | 207, 208, 175, 122, 166, 115, 175, 117, 118, 0, |
1753 | | 69, 30, 141, 123, 191, 33, 293, 294, 183, 296, |
1754 | | 119, 205, 141, 133, 220, 154, 175, 175, 138, 187, |
1755 | | 140, 175, 142, 218, 144, 145, 94, 175, 69, 37, |
1756 | | 58, 69, 175, 61, 73, 155, 156, 157, 158, 159, |
1757 | | 160, 161, 90, 30, 164, 30, 75, 167, 77, 169, |
1758 | | 69, 175, 217, 175, 69, 69, 69, 69, 178, 205, |
1759 | | 137, 176, 175, 389, 184, 185, 186, 182, 188, 189, |
1760 | | 199, 175, 175, 175, 203, 195, 196, 69, 200, 69, |
1761 | | 69, 190, 10, 175, 41, 205, 206, 205, 16, 17, |
1762 | | 18, 139, 217, 170, 171, 172, 173, 25, 26, 175, |
1763 | | 216, 178, 150, 31, 32, 153, 34, 35, 30, 69, |
1764 | | 38, 69, 40, 250, 42, 43, 442, 175, 217, 47, |
1765 | | 220, 447, 205, 151, 152, 69, 57, 209, 56, 177, |
1766 | | 158, 219, 210, 61, 205, 183, 165, 217, 464, 205, |
1767 | | 68, 220, 70, 217, 217, 205, 175, 64, 65, 66, |
1768 | | 67, 212, 80, 81, 3, 83, 84, 173, 117, 273, |
1769 | | 88, 89, 14, 151, 92, 93, 211, 212, 213, 214, |
1770 | | 215, 178, 196, 101, 138, 31, 221, 220, 95, 8, |
1771 | | 97, 167, 99, 276, 13, 325, 444, 115, 105, 117, |
1772 | | 118, 20, 254, 458, -1, 123, 385, -1, -1, -1, |
1773 | | 49, 50, 51, 52, -1, 133, -1, -1, -1, -1, |
1774 | | 138, -1, 140, -1, 142, -1, 144, 145, -1, 356, |
1775 | | 211, 212, 213, 214, 215, -1, -1, 155, 156, 157, |
1776 | | 158, 159, 160, 161, -1, -1, 164, -1, -1, 167, |
1777 | | -1, 169, -1, -1, -1, -1, -1, -1, -1, 78, |
1778 | | 178, -1, -1, -1, -1, -1, 184, 185, 186, 108, |
1779 | | 188, 189, -1, -1, 10, -1, 9, 195, 196, -1, |
1780 | | 16, 17, 18, -1, -1, -1, 19, 205, 206, 25, |
1781 | | 26, -1, -1, 112, 113, 31, 32, -1, 34, 35, |
1782 | | -1, 430, 38, -1, 40, -1, 42, 43, -1, -1, |
1783 | | -1, 47, 131, -1, -1, 154, -1, 136, -1, -1, |
1784 | | 56, -1, -1, -1, -1, 61, -1, 60, 61, -1, |
1785 | | -1, -1, 68, -1, 70, 174, -1, -1, -1, -1, |
1786 | | 179, 180, -1, -1, 80, 81, 79, 83, 84, 168, |
1787 | | -1, -1, 88, 89, -1, -1, 92, 93, -1, -1, |
1788 | | -1, -1, -1, -1, -1, 101, -1, 100, -1, -1, |
1789 | | -1, -1, -1, 192, 193, 194, 109, -1, 111, 115, |
1790 | | -1, 117, 118, -1, -1, -1, -1, 123, -1, -1, |
1791 | | -1, -1, -1, -1, 127, -1, -1, 133, -1, -1, |
1792 | | -1, -1, 138, -1, 140, -1, 142, -1, 144, 145, |
1793 | | -1, -1, -1, -1, -1, 148, 149, -1, -1, 155, |
1794 | | 156, 157, 158, 159, 160, 161, -1, -1, 164, -1, |
1795 | | -1, 167, -1, 169, -1, -1, -1, 44, -1, -1, |
1796 | | -1, -1, 178, -1, -1, -1, 53, -1, 184, 185, |
1797 | | 186, -1, 188, 189, 187, 62, 189, -1, -1, 195, |
1798 | | 196, -1, -1, -1, 197, -1, -1, -1, 201, 202, |
1799 | | 206, -1, -1, -1, 12, 82, 14, 15, 85, -1, |
1800 | | -1, -1, -1, 21, 91, -1, 24, -1, -1, -1, |
1801 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
1802 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, |
1803 | | -1, -1, -1, 120, 121, -1, 54, 124, 125, 126, |
1804 | | -1, 128, 129, 130, -1, 132, -1, -1, -1, -1, |
1805 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
1806 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
1807 | | -1, -1, -1, -1, -1, 162, -1, -1, 96, -1, |
1808 | | 98, -1, -1, -1, -1, -1, 104, -1, 106, -1, |
1809 | | -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, |
1810 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
1811 | | 197, -1, -1, -1, -1, -1, 134, 135 |
1812 | | }; |
1813 | | |
1814 | | /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of |
1815 | | state STATE-NUM. */ |
1816 | | static const yytype_int16 yystos[] = |
1817 | | { |
1818 | | 0, 1, 10, 16, 17, 18, 25, 26, 31, 32, |
1819 | | 34, 35, 38, 40, 42, 43, 47, 56, 61, 68, |
1820 | | 70, 80, 81, 83, 84, 88, 89, 92, 93, 101, |
1821 | | 115, 117, 118, 123, 133, 138, 140, 142, 144, 145, |
1822 | | 155, 156, 157, 158, 159, 160, 161, 164, 167, 169, |
1823 | | 178, 184, 185, 186, 188, 189, 195, 196, 206, 223, |
1824 | | 224, 225, 226, 227, 239, 240, 241, 242, 246, 251, |
1825 | | 259, 270, 275, 279, 283, 288, 292, 293, 294, 296, |
1826 | | 297, 308, 309, 312, 324, 325, 205, 69, 69, 243, |
1827 | | 165, 175, 229, 75, 77, 228, 229, 230, 8, 13, |
1828 | | 20, 78, 112, 113, 131, 136, 168, 192, 193, 194, |
1829 | | 284, 285, 286, 287, 11, 107, 113, 264, 265, 266, |
1830 | | 175, 298, 284, 23, 27, 90, 139, 150, 153, 177, |
1831 | | 183, 253, 228, 175, 175, 175, 175, 175, 306, 307, |
1832 | | 228, 320, 69, 64, 65, 66, 67, 95, 97, 99, |
1833 | | 105, 267, 268, 269, 320, 175, 175, 319, 299, 69, |
1834 | | 7, 8, 28, 72, 102, 176, 182, 313, 314, 30, |
1835 | | 75, 77, 165, 228, 69, 48, 103, 166, 280, 281, |
1836 | | 282, 175, 302, 252, 253, 175, 6, 36, 55, 59, |
1837 | | 137, 170, 171, 172, 173, 178, 289, 290, 291, 12, |
1838 | | 14, 15, 21, 24, 54, 96, 98, 104, 106, 110, |
1839 | | 134, 135, 247, 248, 249, 250, 323, 229, 69, 218, |
1840 | | 316, 317, 318, 69, 315, 0, 225, 205, 228, 228, |
1841 | | 37, 69, 322, 69, 175, 175, 39, 62, 87, 311, |
1842 | | 220, 33, 58, 61, 151, 152, 158, 244, 245, 229, |
1843 | | 94, 260, 147, 181, 276, 277, 278, 175, 285, 265, |
1844 | | 69, 37, 254, 3, 49, 50, 51, 52, 108, 154, |
1845 | | 174, 179, 180, 271, 272, 273, 274, 225, 22, 63, |
1846 | | 295, 307, 228, 268, 69, 175, 30, 69, 300, 301, |
1847 | | 314, 73, 261, 30, 30, 261, 260, 281, 69, 217, |
1848 | | 253, 290, 322, 175, 45, 69, 187, 321, 248, 69, |
1849 | | 322, 304, 69, 317, 69, 205, 231, 5, 74, 76, |
1850 | | 175, 200, 310, 207, 208, 326, 327, 328, 69, 175, |
1851 | | 229, 277, 175, 34, 42, 46, 86, 119, 190, 255, |
1852 | | 256, 257, 175, 175, 69, 272, 322, 321, 69, 69, |
1853 | | 262, 261, 261, 262, 261, 175, 70, 146, 305, 41, |
1854 | | 9, 19, 60, 61, 79, 100, 109, 111, 127, 148, |
1855 | | 149, 187, 189, 197, 201, 202, 232, 233, 234, 235, |
1856 | | 236, 237, 238, 161, 327, 329, 330, 332, 205, 217, |
1857 | | 175, 4, 29, 114, 122, 141, 199, 203, 258, 216, |
1858 | | 44, 53, 62, 82, 85, 91, 116, 120, 121, 124, |
1859 | | 125, 126, 128, 129, 130, 132, 162, 197, 263, 262, |
1860 | | 262, 262, 30, 303, 229, 69, 69, 69, 191, 175, |
1861 | | 217, 205, 221, 330, 220, 322, 69, 57, 219, 228, |
1862 | | 209, 331, 217, 210, 333, 334, 322, 217, 221, 334, |
1863 | | 205, 322, 220, 211, 212, 213, 214, 215, 335, 336, |
1864 | | 337, 221, 336, 205, 217, 205, 322 |
1865 | | }; |
1866 | | |
1867 | | /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ |
1868 | | static const yytype_int16 yyr1[] = |
1869 | | { |
1870 | | 0, 222, 223, 224, 224, 224, 225, 225, 225, 225, |
1871 | | 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, |
1872 | | 225, 226, 227, 227, 227, 227, 227, 228, 228, 229, |
1873 | | 230, 230, 231, 231, 232, 232, 232, 233, 234, 234, |
1874 | | 234, 234, 234, 234, 234, 234, 234, 235, 235, 236, |
1875 | | 236, 236, 236, 236, 236, 237, 238, 239, 240, 240, |
1876 | | 241, 241, 241, 241, 242, 242, 242, 242, 242, 242, |
1877 | | 242, 242, 242, 243, 243, 244, 244, 245, 245, 245, |
1878 | | 245, 245, 246, 247, 247, 248, 248, 248, 248, 249, |
1879 | | 249, 249, 249, 249, 249, 249, 249, 249, 250, 250, |
1880 | | 251, 251, 251, 252, 252, 253, 253, 253, 253, 253, |
1881 | | 253, 253, 253, 254, 254, 255, 255, 255, 255, 256, |
1882 | | 256, 257, 257, 258, 258, 258, 258, 258, 258, 258, |
1883 | | 259, 259, 259, 259, 259, 259, 259, 259, 259, 260, |
1884 | | 260, 261, 261, 262, 262, 262, 263, 263, 263, 263, |
1885 | | 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, |
1886 | | 263, 263, 263, 264, 264, 265, 266, 266, 266, 267, |
1887 | | 267, 268, 269, 269, 269, 269, 269, 269, 269, 269, |
1888 | | 270, 271, 271, 272, 272, 272, 272, 272, 273, 273, |
1889 | | 273, 274, 274, 274, 274, 275, 276, 276, 277, 278, |
1890 | | 278, 279, 280, 280, 281, 282, 282, 282, 283, 283, |
1891 | | 284, 284, 285, 285, 286, 286, 286, 286, 286, 286, |
1892 | | 287, 287, 287, 287, 287, 287, 288, 289, 289, 290, |
1893 | | 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, |
1894 | | 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, |
1895 | | 292, 292, 292, 292, 292, 292, 293, 293, 293, 294, |
1896 | | 294, 295, 295, 295, 296, 297, 297, 297, 298, 298, |
1897 | | 298, 299, 299, 300, 301, 301, 302, 303, 303, 304, |
1898 | | 304, 305, 305, 306, 306, 307, 308, 308, 309, 309, |
1899 | | 310, 310, 310, 310, 311, 311, 311, 312, 313, 313, |
1900 | | 314, 314, 314, 314, 314, 314, 314, 315, 315, 316, |
1901 | | 316, 317, 317, 318, 319, 319, 320, 320, 321, 321, |
1902 | | 321, 322, 322, 323, 324, 325, 326, 326, 327, 328, |
1903 | | 328, 329, 329, 330, 331, 332, 333, 333, 334, 335, |
1904 | | 335, 336, 337, 337, 337, 337, 337 |
1905 | | }; |
1906 | | |
1907 | | /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ |
1908 | | static const yytype_int8 yyr2[] = |
1909 | | { |
1910 | | 0, 2, 1, 3, 2, 2, 0, 1, 1, 1, |
1911 | | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1912 | | 1, 3, 1, 1, 1, 1, 1, 1, 2, 1, |
1913 | | 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, |
1914 | | 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, |
1915 | | 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, |
1916 | | 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
1917 | | 2, 2, 2, 0, 2, 2, 2, 1, 1, 1, |
1918 | | 1, 1, 2, 2, 1, 2, 2, 2, 1, 1, |
1919 | | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1920 | | 2, 2, 3, 2, 1, 1, 1, 1, 1, 1, |
1921 | | 1, 1, 1, 0, 2, 2, 2, 1, 1, 1, |
1922 | | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1923 | | 2, 2, 5, 4, 5, 5, 4, 3, 3, 0, |
1924 | | 2, 0, 2, 0, 2, 3, 1, 1, 1, 1, |
1925 | | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1926 | | 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, |
1927 | | 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, |
1928 | | 3, 2, 1, 2, 2, 2, 2, 2, 1, 1, |
1929 | | 1, 1, 1, 1, 1, 3, 2, 1, 2, 1, |
1930 | | 1, 2, 2, 1, 2, 1, 1, 1, 2, 2, |
1931 | | 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1932 | | 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, |
1933 | | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1934 | | 1, 1, 2, 2, 2, 2, 3, 3, 1, 2, |
1935 | | 2, 2, 2, 2, 3, 2, 1, 1, 1, 1, |
1936 | | 1, 1, 1, 0, 1, 1, 1, 1, 1, 2, |
1937 | | 0, 0, 2, 4, 1, 1, 4, 1, 0, 0, |
1938 | | 2, 2, 2, 2, 1, 1, 3, 3, 1, 1, |
1939 | | 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, |
1940 | | 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, |
1941 | | 1, 1, 1, 5, 2, 1, 2, 1, 1, 1, |
1942 | | 1, 1, 1, 2, 5, 1, 3, 2, 3, 1, |
1943 | | 1, 2, 1, 5, 4, 3, 2, 1, 6, 3, |
1944 | | 2, 3, 1, 1, 1, 1, 1 |
1945 | | }; |
1946 | | |
1947 | | |
1948 | | enum { YYENOMEM = -2 }; |
1949 | | |
1950 | | #define yyerrok (yyerrstatus = 0) |
1951 | | #define yyclearin (yychar = YYEMPTY) |
1952 | | |
1953 | 0 | #define YYACCEPT goto yyacceptlab |
1954 | 0 | #define YYABORT goto yyabortlab |
1955 | 0 | #define YYERROR goto yyerrorlab |
1956 | 0 | #define YYNOMEM goto yyexhaustedlab |
1957 | | |
1958 | | |
1959 | | #define YYRECOVERING() (!!yyerrstatus) |
1960 | | |
1961 | | #define YYBACKUP(Token, Value) \ |
1962 | | do \ |
1963 | | if (yychar == YYEMPTY) \ |
1964 | | { \ |
1965 | | yychar = (Token); \ |
1966 | | yylval = (Value); \ |
1967 | | YYPOPSTACK (yylen); \ |
1968 | | yystate = *yyssp; \ |
1969 | | goto yybackup; \ |
1970 | | } \ |
1971 | | else \ |
1972 | | { \ |
1973 | | yyerror (YY_("syntax error: cannot back up")); \ |
1974 | | YYERROR; \ |
1975 | | } \ |
1976 | | while (0) |
1977 | | |
1978 | | /* Backward compatibility with an undocumented macro. |
1979 | | Use YYerror or YYUNDEF. */ |
1980 | | #define YYERRCODE YYUNDEF |
1981 | | |
1982 | | |
1983 | | /* Enable debugging if requested. */ |
1984 | | #if YYDEBUG |
1985 | | |
1986 | | # ifndef YYFPRINTF |
1987 | | # include <stdio.h> /* INFRINGES ON USER NAME SPACE */ |
1988 | 0 | # define YYFPRINTF fprintf |
1989 | | # endif |
1990 | | |
1991 | 0 | # define YYDPRINTF(Args) \ |
1992 | 0 | do { \ |
1993 | 0 | if (yydebug) \ |
1994 | 0 | YYFPRINTF Args; \ |
1995 | 0 | } while (0) |
1996 | | |
1997 | | |
1998 | | |
1999 | | |
2000 | 0 | # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ |
2001 | 0 | do { \ |
2002 | 0 | if (yydebug) \ |
2003 | 0 | { \ |
2004 | 0 | YYFPRINTF (stderr, "%s ", Title); \ |
2005 | 0 | yy_symbol_print (stderr, \ |
2006 | 0 | Kind, Value); \ |
2007 | 0 | YYFPRINTF (stderr, "\n"); \ |
2008 | 0 | } \ |
2009 | 0 | } while (0) |
2010 | | |
2011 | | |
2012 | | /*-----------------------------------. |
2013 | | | Print this symbol's value on YYO. | |
2014 | | `-----------------------------------*/ |
2015 | | |
2016 | | static void |
2017 | | yy_symbol_value_print (FILE *yyo, |
2018 | | yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) |
2019 | 0 | { |
2020 | 0 | FILE *yyoutput = yyo; |
2021 | 0 | YY_USE (yyoutput); |
2022 | 0 | if (!yyvaluep) |
2023 | 0 | return; |
2024 | 0 | YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
2025 | 0 | YY_USE (yykind); |
2026 | 0 | YY_IGNORE_MAYBE_UNINITIALIZED_END |
2027 | 0 | } |
2028 | | |
2029 | | |
2030 | | /*---------------------------. |
2031 | | | Print this symbol on YYO. | |
2032 | | `---------------------------*/ |
2033 | | |
2034 | | static void |
2035 | | yy_symbol_print (FILE *yyo, |
2036 | | yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) |
2037 | 0 | { |
2038 | 0 | YYFPRINTF (yyo, "%s %s (", |
2039 | 0 | yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind)); |
2040 | |
|
2041 | 0 | yy_symbol_value_print (yyo, yykind, yyvaluep); |
2042 | 0 | YYFPRINTF (yyo, ")"); |
2043 | 0 | } |
2044 | | |
2045 | | /*------------------------------------------------------------------. |
2046 | | | yy_stack_print -- Print the state stack from its BOTTOM up to its | |
2047 | | | TOP (included). | |
2048 | | `------------------------------------------------------------------*/ |
2049 | | |
2050 | | static void |
2051 | | yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop) |
2052 | 0 | { |
2053 | 0 | YYFPRINTF (stderr, "Stack now"); |
2054 | 0 | for (; yybottom <= yytop; yybottom++) |
2055 | 0 | { |
2056 | 0 | int yybot = *yybottom; |
2057 | 0 | YYFPRINTF (stderr, " %d", yybot); |
2058 | 0 | } |
2059 | 0 | YYFPRINTF (stderr, "\n"); |
2060 | 0 | } |
2061 | | |
2062 | 0 | # define YY_STACK_PRINT(Bottom, Top) \ |
2063 | 0 | do { \ |
2064 | 0 | if (yydebug) \ |
2065 | 0 | yy_stack_print ((Bottom), (Top)); \ |
2066 | 0 | } while (0) |
2067 | | |
2068 | | |
2069 | | /*------------------------------------------------. |
2070 | | | Report that the YYRULE is going to be reduced. | |
2071 | | `------------------------------------------------*/ |
2072 | | |
2073 | | static void |
2074 | | yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, |
2075 | | int yyrule) |
2076 | 0 | { |
2077 | 0 | int yylno = yyrline[yyrule]; |
2078 | 0 | int yynrhs = yyr2[yyrule]; |
2079 | 0 | int yyi; |
2080 | 0 | YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n", |
2081 | 0 | yyrule - 1, yylno); |
2082 | | /* The symbols being reduced. */ |
2083 | 0 | for (yyi = 0; yyi < yynrhs; yyi++) |
2084 | 0 | { |
2085 | 0 | YYFPRINTF (stderr, " $%d = ", yyi + 1); |
2086 | 0 | yy_symbol_print (stderr, |
2087 | 0 | YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]), |
2088 | 0 | &yyvsp[(yyi + 1) - (yynrhs)]); |
2089 | 0 | YYFPRINTF (stderr, "\n"); |
2090 | 0 | } |
2091 | 0 | } |
2092 | | |
2093 | 0 | # define YY_REDUCE_PRINT(Rule) \ |
2094 | 0 | do { \ |
2095 | 0 | if (yydebug) \ |
2096 | 0 | yy_reduce_print (yyssp, yyvsp, Rule); \ |
2097 | 0 | } while (0) |
2098 | | |
2099 | | /* Nonzero means print parse trace. It is left uninitialized so that |
2100 | | multiple parsers can coexist. */ |
2101 | | int yydebug; |
2102 | | #else /* !YYDEBUG */ |
2103 | | # define YYDPRINTF(Args) ((void) 0) |
2104 | | # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) |
2105 | | # define YY_STACK_PRINT(Bottom, Top) |
2106 | | # define YY_REDUCE_PRINT(Rule) |
2107 | | #endif /* !YYDEBUG */ |
2108 | | |
2109 | | |
2110 | | /* YYINITDEPTH -- initial size of the parser's stacks. */ |
2111 | | #ifndef YYINITDEPTH |
2112 | 0 | # define YYINITDEPTH 200 |
2113 | | #endif |
2114 | | |
2115 | | /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only |
2116 | | if the built-in stack extension method is used). |
2117 | | |
2118 | | Do not make this value too large; the results are undefined if |
2119 | | YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) |
2120 | | evaluated with infinite-precision integer arithmetic. */ |
2121 | | |
2122 | | #ifndef YYMAXDEPTH |
2123 | | # define YYMAXDEPTH 10000 |
2124 | | #endif |
2125 | | |
2126 | | |
2127 | | |
2128 | | |
2129 | | |
2130 | | |
2131 | | /*-----------------------------------------------. |
2132 | | | Release the memory associated to this symbol. | |
2133 | | `-----------------------------------------------*/ |
2134 | | |
2135 | | static void |
2136 | | yydestruct (const char *yymsg, |
2137 | | yysymbol_kind_t yykind, YYSTYPE *yyvaluep) |
2138 | 0 | { |
2139 | 0 | YY_USE (yyvaluep); |
2140 | 0 | if (!yymsg) |
2141 | 0 | yymsg = "Deleting"; |
2142 | 0 | YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); |
2143 | |
|
2144 | 0 | YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
2145 | 0 | YY_USE (yykind); |
2146 | 0 | YY_IGNORE_MAYBE_UNINITIALIZED_END |
2147 | 0 | } |
2148 | | |
2149 | | |
2150 | | /* Lookahead token kind. */ |
2151 | | int yychar; |
2152 | | |
2153 | | /* The semantic value of the lookahead symbol. */ |
2154 | | YYSTYPE yylval; |
2155 | | /* Number of syntax errors so far. */ |
2156 | | int yynerrs; |
2157 | | |
2158 | | |
2159 | | |
2160 | | |
2161 | | /*----------. |
2162 | | | yyparse. | |
2163 | | `----------*/ |
2164 | | |
2165 | | int |
2166 | | yyparse (void) |
2167 | 0 | { |
2168 | 0 | yy_state_fast_t yystate = 0; |
2169 | | /* Number of tokens to shift before error messages enabled. */ |
2170 | 0 | int yyerrstatus = 0; |
2171 | | |
2172 | | /* Refer to the stacks through separate pointers, to allow yyoverflow |
2173 | | to reallocate them elsewhere. */ |
2174 | | |
2175 | | /* Their size. */ |
2176 | 0 | YYPTRDIFF_T yystacksize = YYINITDEPTH; |
2177 | | |
2178 | | /* The state stack: array, bottom, top. */ |
2179 | 0 | yy_state_t yyssa[YYINITDEPTH]; |
2180 | 0 | yy_state_t *yyss = yyssa; |
2181 | 0 | yy_state_t *yyssp = yyss; |
2182 | | |
2183 | | /* The semantic value stack: array, bottom, top. */ |
2184 | 0 | YYSTYPE yyvsa[YYINITDEPTH]; |
2185 | 0 | YYSTYPE *yyvs = yyvsa; |
2186 | 0 | YYSTYPE *yyvsp = yyvs; |
2187 | |
|
2188 | 0 | int yyn; |
2189 | | /* The return value of yyparse. */ |
2190 | 0 | int yyresult; |
2191 | | /* Lookahead symbol kind. */ |
2192 | 0 | yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY; |
2193 | | /* The variables used to return semantic value and location from the |
2194 | | action routines. */ |
2195 | 0 | YYSTYPE yyval; |
2196 | | |
2197 | | |
2198 | |
|
2199 | 0 | #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) |
2200 | | |
2201 | | /* The number of symbols on the RHS of the reduced rule. |
2202 | | Keep to zero when no symbol should be popped. */ |
2203 | 0 | int yylen = 0; |
2204 | |
|
2205 | 0 | YYDPRINTF ((stderr, "Starting parse\n")); |
2206 | |
|
2207 | 0 | yychar = YYEMPTY; /* Cause a token to be read. */ |
2208 | |
|
2209 | 0 | goto yysetstate; |
2210 | | |
2211 | | |
2212 | | /*------------------------------------------------------------. |
2213 | | | yynewstate -- push a new state, which is found in yystate. | |
2214 | | `------------------------------------------------------------*/ |
2215 | 0 | yynewstate: |
2216 | | /* In all cases, when you get here, the value and location stacks |
2217 | | have just been pushed. So pushing a state here evens the stacks. */ |
2218 | 0 | yyssp++; |
2219 | | |
2220 | | |
2221 | | /*--------------------------------------------------------------------. |
2222 | | | yysetstate -- set current state (the top of the stack) to yystate. | |
2223 | | `--------------------------------------------------------------------*/ |
2224 | 0 | yysetstate: |
2225 | 0 | YYDPRINTF ((stderr, "Entering state %d\n", yystate)); |
2226 | 0 | YY_ASSERT (0 <= yystate && yystate < YYNSTATES); |
2227 | 0 | YY_IGNORE_USELESS_CAST_BEGIN |
2228 | 0 | *yyssp = YY_CAST (yy_state_t, yystate); |
2229 | 0 | YY_IGNORE_USELESS_CAST_END |
2230 | 0 | YY_STACK_PRINT (yyss, yyssp); |
2231 | |
|
2232 | 0 | if (yyss + yystacksize - 1 <= yyssp) |
2233 | | #if !defined yyoverflow && !defined YYSTACK_RELOCATE |
2234 | | YYNOMEM; |
2235 | | #else |
2236 | 0 | { |
2237 | | /* Get the current used size of the three stacks, in elements. */ |
2238 | 0 | YYPTRDIFF_T yysize = yyssp - yyss + 1; |
2239 | |
|
2240 | | # if defined yyoverflow |
2241 | | { |
2242 | | /* Give user a chance to reallocate the stack. Use copies of |
2243 | | these so that the &'s don't force the real ones into |
2244 | | memory. */ |
2245 | | yy_state_t *yyss1 = yyss; |
2246 | | YYSTYPE *yyvs1 = yyvs; |
2247 | | |
2248 | | /* Each stack pointer address is followed by the size of the |
2249 | | data in use in that stack, in bytes. This used to be a |
2250 | | conditional around just the two extra args, but that might |
2251 | | be undefined if yyoverflow is a macro. */ |
2252 | | yyoverflow (YY_("memory exhausted"), |
2253 | | &yyss1, yysize * YYSIZEOF (*yyssp), |
2254 | | &yyvs1, yysize * YYSIZEOF (*yyvsp), |
2255 | | &yystacksize); |
2256 | | yyss = yyss1; |
2257 | | yyvs = yyvs1; |
2258 | | } |
2259 | | # else /* defined YYSTACK_RELOCATE */ |
2260 | | /* Extend the stack our own way. */ |
2261 | 0 | if (YYMAXDEPTH <= yystacksize) |
2262 | 0 | YYNOMEM; |
2263 | 0 | yystacksize *= 2; |
2264 | 0 | if (YYMAXDEPTH < yystacksize) |
2265 | 0 | yystacksize = YYMAXDEPTH; |
2266 | |
|
2267 | 0 | { |
2268 | 0 | yy_state_t *yyss1 = yyss; |
2269 | 0 | union yyalloc *yyptr = |
2270 | 0 | YY_CAST (union yyalloc *, |
2271 | 0 | YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize)))); |
2272 | 0 | if (! yyptr) |
2273 | 0 | YYNOMEM; |
2274 | 0 | YYSTACK_RELOCATE (yyss_alloc, yyss); |
2275 | 0 | YYSTACK_RELOCATE (yyvs_alloc, yyvs); |
2276 | 0 | # undef YYSTACK_RELOCATE |
2277 | 0 | if (yyss1 != yyssa) |
2278 | 0 | YYSTACK_FREE (yyss1); |
2279 | 0 | } |
2280 | 0 | # endif |
2281 | | |
2282 | 0 | yyssp = yyss + yysize - 1; |
2283 | 0 | yyvsp = yyvs + yysize - 1; |
2284 | |
|
2285 | 0 | YY_IGNORE_USELESS_CAST_BEGIN |
2286 | 0 | YYDPRINTF ((stderr, "Stack size increased to %ld\n", |
2287 | 0 | YY_CAST (long, yystacksize))); |
2288 | 0 | YY_IGNORE_USELESS_CAST_END |
2289 | |
|
2290 | 0 | if (yyss + yystacksize - 1 <= yyssp) |
2291 | 0 | YYABORT; |
2292 | 0 | } |
2293 | 0 | #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ |
2294 | | |
2295 | | |
2296 | 0 | if (yystate == YYFINAL) |
2297 | 0 | YYACCEPT; |
2298 | | |
2299 | 0 | goto yybackup; |
2300 | | |
2301 | | |
2302 | | /*-----------. |
2303 | | | yybackup. | |
2304 | | `-----------*/ |
2305 | 0 | yybackup: |
2306 | | /* Do appropriate processing given the current state. Read a |
2307 | | lookahead token if we need one and don't already have one. */ |
2308 | | |
2309 | | /* First try to decide what to do without reference to lookahead token. */ |
2310 | 0 | yyn = yypact[yystate]; |
2311 | 0 | if (yypact_value_is_default (yyn)) |
2312 | 0 | goto yydefault; |
2313 | | |
2314 | | /* Not known => get a lookahead token if don't already have one. */ |
2315 | | |
2316 | | /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */ |
2317 | 0 | if (yychar == YYEMPTY) |
2318 | 0 | { |
2319 | 0 | YYDPRINTF ((stderr, "Reading a token\n")); |
2320 | 0 | yychar = yylex (); |
2321 | 0 | } |
2322 | |
|
2323 | 0 | if (yychar <= YYEOF) |
2324 | 0 | { |
2325 | 0 | yychar = YYEOF; |
2326 | 0 | yytoken = YYSYMBOL_YYEOF; |
2327 | 0 | YYDPRINTF ((stderr, "Now at end of input.\n")); |
2328 | 0 | } |
2329 | 0 | else if (yychar == YYerror) |
2330 | 0 | { |
2331 | | /* The scanner already issued an error message, process directly |
2332 | | to error recovery. But do not keep the error token as |
2333 | | lookahead, it is too special and may lead us to an endless |
2334 | | loop in error recovery. */ |
2335 | 0 | yychar = YYUNDEF; |
2336 | 0 | yytoken = YYSYMBOL_YYerror; |
2337 | 0 | goto yyerrlab1; |
2338 | 0 | } |
2339 | 0 | else |
2340 | 0 | { |
2341 | 0 | yytoken = YYTRANSLATE (yychar); |
2342 | 0 | YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); |
2343 | 0 | } |
2344 | | |
2345 | | /* If the proper action on seeing token YYTOKEN is to reduce or to |
2346 | | detect an error, take that action. */ |
2347 | 0 | yyn += yytoken; |
2348 | 0 | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) |
2349 | 0 | goto yydefault; |
2350 | 0 | yyn = yytable[yyn]; |
2351 | 0 | if (yyn <= 0) |
2352 | 0 | { |
2353 | 0 | if (yytable_value_is_error (yyn)) |
2354 | 0 | goto yyerrlab; |
2355 | 0 | yyn = -yyn; |
2356 | 0 | goto yyreduce; |
2357 | 0 | } |
2358 | | |
2359 | | /* Count tokens shifted since error; after three, turn off error |
2360 | | status. */ |
2361 | 0 | if (yyerrstatus) |
2362 | 0 | yyerrstatus--; |
2363 | | |
2364 | | /* Shift the lookahead token. */ |
2365 | 0 | YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); |
2366 | 0 | yystate = yyn; |
2367 | 0 | YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
2368 | 0 | *++yyvsp = yylval; |
2369 | 0 | YY_IGNORE_MAYBE_UNINITIALIZED_END |
2370 | | |
2371 | | /* Discard the shifted token. */ |
2372 | 0 | yychar = YYEMPTY; |
2373 | 0 | goto yynewstate; |
2374 | | |
2375 | | |
2376 | | /*-----------------------------------------------------------. |
2377 | | | yydefault -- do the default action for the current state. | |
2378 | | `-----------------------------------------------------------*/ |
2379 | 0 | yydefault: |
2380 | 0 | yyn = yydefact[yystate]; |
2381 | 0 | if (yyn == 0) |
2382 | 0 | goto yyerrlab; |
2383 | 0 | goto yyreduce; |
2384 | | |
2385 | | |
2386 | | /*-----------------------------. |
2387 | | | yyreduce -- do a reduction. | |
2388 | | `-----------------------------*/ |
2389 | 0 | yyreduce: |
2390 | | /* yyn is the number of a rule to reduce with. */ |
2391 | 0 | yylen = yyr2[yyn]; |
2392 | | |
2393 | | /* If YYLEN is nonzero, implement the default value of the action: |
2394 | | '$$ = $1'. |
2395 | | |
2396 | | Otherwise, the following line sets YYVAL to garbage. |
2397 | | This behavior is undocumented and Bison |
2398 | | users should not rely upon it. Assigning to YYVAL |
2399 | | unconditionally makes the parser a bit smaller, and it avoids a |
2400 | | GCC warning that YYVAL may be used uninitialized. */ |
2401 | 0 | yyval = yyvsp[1-yylen]; |
2402 | | |
2403 | |
|
2404 | 0 | YY_REDUCE_PRINT (yyn); |
2405 | 0 | switch (yyn) |
2406 | 0 | { |
2407 | 0 | case 5: /* command_list: error T_EOC */ |
2408 | 0 | #line 406 "../../ntpd/ntp_parser.y" |
2409 | 0 | { |
2410 | | /* I will need to incorporate much more fine grained |
2411 | | * error messages. The following should suffice for |
2412 | | * the time being. |
2413 | | */ |
2414 | 0 | struct FILE_INFO * ip_ctx = lex_current(); |
2415 | 0 | msyslog(LOG_ERR, |
2416 | 0 | "syntax error in %s line %d, column %d", |
2417 | 0 | ip_ctx->fname, |
2418 | 0 | ip_ctx->errpos.nline, |
2419 | 0 | ip_ctx->errpos.ncol); |
2420 | 0 | } |
2421 | 0 | #line 2422 "ntp_parser.c" |
2422 | 0 | break; |
2423 | | |
2424 | 0 | case 21: /* server_command: client_type address option_list */ |
2425 | 0 | #line 443 "../../ntpd/ntp_parser.y" |
2426 | 0 | { |
2427 | 0 | peer_node *my_node; |
2428 | |
|
2429 | 0 | my_node = create_peer_node((yyvsp[-2].Integer), (yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); |
2430 | 0 | APPEND_G_FIFO(cfgt.peers, my_node); |
2431 | 0 | } |
2432 | 0 | #line 2433 "ntp_parser.c" |
2433 | 0 | break; |
2434 | | |
2435 | 0 | case 28: /* address: address_fam T_String */ |
2436 | 0 | #line 462 "../../ntpd/ntp_parser.y" |
2437 | 0 | { (yyval.Address_node) = create_address_node((yyvsp[0].String), (yyvsp[-1].Integer)); } |
2438 | 0 | #line 2439 "ntp_parser.c" |
2439 | 0 | break; |
2440 | | |
2441 | 0 | case 29: /* ip_address: T_String */ |
2442 | 0 | #line 467 "../../ntpd/ntp_parser.y" |
2443 | 0 | { (yyval.Address_node) = create_address_node((yyvsp[0].String), AF_UNSPEC); } |
2444 | 0 | #line 2445 "ntp_parser.c" |
2445 | 0 | break; |
2446 | | |
2447 | 0 | case 30: /* address_fam: T_Ipv4_flag */ |
2448 | 0 | #line 472 "../../ntpd/ntp_parser.y" |
2449 | 0 | { (yyval.Integer) = AF_INET; } |
2450 | 0 | #line 2451 "ntp_parser.c" |
2451 | 0 | break; |
2452 | | |
2453 | 0 | case 31: /* address_fam: T_Ipv6_flag */ |
2454 | 0 | #line 474 "../../ntpd/ntp_parser.y" |
2455 | 0 | { (yyval.Integer) = AF_INET6; } |
2456 | 0 | #line 2457 "ntp_parser.c" |
2457 | 0 | break; |
2458 | | |
2459 | 0 | case 32: /* option_list: %empty */ |
2460 | 0 | #line 479 "../../ntpd/ntp_parser.y" |
2461 | 0 | { (yyval.Attr_val_fifo) = NULL; } |
2462 | 0 | #line 2463 "ntp_parser.c" |
2463 | 0 | break; |
2464 | | |
2465 | 0 | case 33: /* option_list: option_list option */ |
2466 | 0 | #line 481 "../../ntpd/ntp_parser.y" |
2467 | 0 | { |
2468 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
2469 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
2470 | 0 | } |
2471 | 0 | #line 2472 "ntp_parser.c" |
2472 | 0 | break; |
2473 | | |
2474 | 0 | case 37: /* option_flag: option_flag_keyword */ |
2475 | 0 | #line 495 "../../ntpd/ntp_parser.y" |
2476 | 0 | { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); } |
2477 | 0 | #line 2478 "ntp_parser.c" |
2478 | 0 | break; |
2479 | | |
2480 | 0 | case 47: /* option_int: option_int_keyword T_Integer */ |
2481 | 0 | #line 512 "../../ntpd/ntp_parser.y" |
2482 | 0 | { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } |
2483 | 0 | #line 2484 "ntp_parser.c" |
2484 | 0 | break; |
2485 | | |
2486 | 0 | case 48: /* option_int: option_int_keyword T_U_int */ |
2487 | 0 | #line 514 "../../ntpd/ntp_parser.y" |
2488 | 0 | { (yyval.Attr_val) = create_attr_uval((yyvsp[-1].Integer), (yyvsp[0].Integer)); } |
2489 | 0 | #line 2490 "ntp_parser.c" |
2490 | 0 | break; |
2491 | | |
2492 | 0 | case 55: /* option_str: option_str_keyword T_String */ |
2493 | 0 | #line 528 "../../ntpd/ntp_parser.y" |
2494 | 0 | { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } |
2495 | 0 | #line 2496 "ntp_parser.c" |
2496 | 0 | break; |
2497 | | |
2498 | 0 | case 57: /* unpeer_command: unpeer_keyword address */ |
2499 | 0 | #line 542 "../../ntpd/ntp_parser.y" |
2500 | 0 | { |
2501 | 0 | unpeer_node *my_node; |
2502 | |
|
2503 | 0 | my_node = create_unpeer_node((yyvsp[0].Address_node)); |
2504 | 0 | if (my_node) |
2505 | 0 | APPEND_G_FIFO(cfgt.unpeers, my_node); |
2506 | 0 | } |
2507 | 0 | #line 2508 "ntp_parser.c" |
2508 | 0 | break; |
2509 | | |
2510 | 0 | case 60: /* other_mode_command: T_Broadcastclient */ |
2511 | 0 | #line 563 "../../ntpd/ntp_parser.y" |
2512 | 0 | { cfgt.broadcastclient = 1; } |
2513 | 0 | #line 2514 "ntp_parser.c" |
2514 | 0 | break; |
2515 | | |
2516 | 0 | case 61: /* other_mode_command: T_Manycastserver address_list */ |
2517 | 0 | #line 565 "../../ntpd/ntp_parser.y" |
2518 | 0 | { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[0].Address_fifo)); } |
2519 | 0 | #line 2520 "ntp_parser.c" |
2520 | 0 | break; |
2521 | | |
2522 | 0 | case 62: /* other_mode_command: T_Multicastclient address_list */ |
2523 | 0 | #line 567 "../../ntpd/ntp_parser.y" |
2524 | 0 | { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[0].Address_fifo)); } |
2525 | 0 | #line 2526 "ntp_parser.c" |
2526 | 0 | break; |
2527 | | |
2528 | 0 | case 63: /* other_mode_command: T_Mdnstries T_Integer */ |
2529 | 0 | #line 569 "../../ntpd/ntp_parser.y" |
2530 | 0 | { cfgt.mdnstries = (yyvsp[0].Integer); } |
2531 | 0 | #line 2532 "ntp_parser.c" |
2532 | 0 | break; |
2533 | | |
2534 | 0 | case 64: /* authentication_command: T_Automax T_Integer */ |
2535 | 0 | #line 580 "../../ntpd/ntp_parser.y" |
2536 | 0 | { |
2537 | 0 | attr_val *atrv; |
2538 | |
|
2539 | 0 | atrv = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); |
2540 | 0 | APPEND_G_FIFO(cfgt.vars, atrv); |
2541 | 0 | } |
2542 | 0 | #line 2543 "ntp_parser.c" |
2543 | 0 | break; |
2544 | | |
2545 | 0 | case 65: /* authentication_command: T_ControlKey T_Integer */ |
2546 | 0 | #line 587 "../../ntpd/ntp_parser.y" |
2547 | 0 | { cfgt.auth.control_key = (yyvsp[0].Integer); } |
2548 | 0 | #line 2549 "ntp_parser.c" |
2549 | 0 | break; |
2550 | | |
2551 | 0 | case 66: /* authentication_command: T_Crypto crypto_command_list */ |
2552 | 0 | #line 589 "../../ntpd/ntp_parser.y" |
2553 | 0 | { |
2554 | 0 | cfgt.auth.cryptosw++; |
2555 | 0 | CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[0].Attr_val_fifo)); |
2556 | 0 | } |
2557 | 0 | #line 2558 "ntp_parser.c" |
2558 | 0 | break; |
2559 | | |
2560 | 0 | case 67: /* authentication_command: T_Keys T_String */ |
2561 | 0 | #line 594 "../../ntpd/ntp_parser.y" |
2562 | 0 | { cfgt.auth.keys = (yyvsp[0].String); } |
2563 | 0 | #line 2564 "ntp_parser.c" |
2564 | 0 | break; |
2565 | | |
2566 | 0 | case 68: /* authentication_command: T_Keysdir T_String */ |
2567 | 0 | #line 596 "../../ntpd/ntp_parser.y" |
2568 | 0 | { cfgt.auth.keysdir = (yyvsp[0].String); } |
2569 | 0 | #line 2570 "ntp_parser.c" |
2570 | 0 | break; |
2571 | | |
2572 | 0 | case 69: /* authentication_command: T_Requestkey T_Integer */ |
2573 | 0 | #line 598 "../../ntpd/ntp_parser.y" |
2574 | 0 | { cfgt.auth.request_key = (yyvsp[0].Integer); } |
2575 | 0 | #line 2576 "ntp_parser.c" |
2576 | 0 | break; |
2577 | | |
2578 | 0 | case 70: /* authentication_command: T_Revoke T_Integer */ |
2579 | 0 | #line 600 "../../ntpd/ntp_parser.y" |
2580 | 0 | { cfgt.auth.revoke = (yyvsp[0].Integer); } |
2581 | 0 | #line 2582 "ntp_parser.c" |
2582 | 0 | break; |
2583 | | |
2584 | 0 | case 71: /* authentication_command: T_Trustedkey integer_list_range */ |
2585 | 0 | #line 602 "../../ntpd/ntp_parser.y" |
2586 | 0 | { |
2587 | | /* [Bug 948] leaves it open if appending or |
2588 | | * replacing the trusted key list is the right |
2589 | | * way. In any case, either alternative should |
2590 | | * be coded correctly! |
2591 | | */ |
2592 | 0 | DESTROY_G_FIFO(cfgt.auth.trusted_key_list, destroy_attr_val); /* remove for append */ |
2593 | 0 | CONCAT_G_FIFOS(cfgt.auth.trusted_key_list, (yyvsp[0].Attr_val_fifo)); |
2594 | 0 | } |
2595 | 0 | #line 2596 "ntp_parser.c" |
2596 | 0 | break; |
2597 | | |
2598 | 0 | case 72: /* authentication_command: T_NtpSignDsocket T_String */ |
2599 | 0 | #line 612 "../../ntpd/ntp_parser.y" |
2600 | 0 | { cfgt.auth.ntp_signd_socket = (yyvsp[0].String); } |
2601 | 0 | #line 2602 "ntp_parser.c" |
2602 | 0 | break; |
2603 | | |
2604 | 0 | case 73: /* crypto_command_list: %empty */ |
2605 | 0 | #line 617 "../../ntpd/ntp_parser.y" |
2606 | 0 | { (yyval.Attr_val_fifo) = NULL; } |
2607 | 0 | #line 2608 "ntp_parser.c" |
2608 | 0 | break; |
2609 | | |
2610 | 0 | case 74: /* crypto_command_list: crypto_command_list crypto_command */ |
2611 | 0 | #line 619 "../../ntpd/ntp_parser.y" |
2612 | 0 | { |
2613 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
2614 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
2615 | 0 | } |
2616 | 0 | #line 2617 "ntp_parser.c" |
2617 | 0 | break; |
2618 | | |
2619 | 0 | case 75: /* crypto_command: crypto_str_keyword T_String */ |
2620 | 0 | #line 627 "../../ntpd/ntp_parser.y" |
2621 | 0 | { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } |
2622 | 0 | #line 2623 "ntp_parser.c" |
2623 | 0 | break; |
2624 | | |
2625 | 0 | case 76: /* crypto_command: T_Revoke T_Integer */ |
2626 | 0 | #line 629 "../../ntpd/ntp_parser.y" |
2627 | 0 | { |
2628 | 0 | (yyval.Attr_val) = NULL; |
2629 | 0 | cfgt.auth.revoke = (yyvsp[0].Integer); |
2630 | 0 | msyslog(LOG_WARNING, |
2631 | 0 | "'crypto revoke %d' is deprecated, " |
2632 | 0 | "please use 'revoke %d' instead.", |
2633 | 0 | cfgt.auth.revoke, cfgt.auth.revoke); |
2634 | 0 | } |
2635 | 0 | #line 2636 "ntp_parser.c" |
2636 | 0 | break; |
2637 | | |
2638 | 0 | case 82: /* orphan_mode_command: T_Tos tos_option_list */ |
2639 | 0 | #line 654 "../../ntpd/ntp_parser.y" |
2640 | 0 | { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[0].Attr_val_fifo)); } |
2641 | 0 | #line 2642 "ntp_parser.c" |
2642 | 0 | break; |
2643 | | |
2644 | 0 | case 83: /* tos_option_list: tos_option_list tos_option */ |
2645 | 0 | #line 659 "../../ntpd/ntp_parser.y" |
2646 | 0 | { |
2647 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
2648 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
2649 | 0 | } |
2650 | 0 | #line 2651 "ntp_parser.c" |
2651 | 0 | break; |
2652 | | |
2653 | 0 | case 84: /* tos_option_list: tos_option */ |
2654 | 0 | #line 664 "../../ntpd/ntp_parser.y" |
2655 | 0 | { |
2656 | 0 | (yyval.Attr_val_fifo) = NULL; |
2657 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
2658 | 0 | } |
2659 | 0 | #line 2660 "ntp_parser.c" |
2660 | 0 | break; |
2661 | | |
2662 | 0 | case 85: /* tos_option: tos_option_int_keyword T_Integer */ |
2663 | 0 | #line 672 "../../ntpd/ntp_parser.y" |
2664 | 0 | { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); } |
2665 | 0 | #line 2666 "ntp_parser.c" |
2666 | 0 | break; |
2667 | | |
2668 | 0 | case 86: /* tos_option: tos_option_dbl_keyword number */ |
2669 | 0 | #line 674 "../../ntpd/ntp_parser.y" |
2670 | 0 | { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); } |
2671 | 0 | #line 2672 "ntp_parser.c" |
2672 | 0 | break; |
2673 | | |
2674 | 0 | case 87: /* tos_option: T_Cohort boolean */ |
2675 | 0 | #line 676 "../../ntpd/ntp_parser.y" |
2676 | 0 | { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); } |
2677 | 0 | #line 2678 "ntp_parser.c" |
2678 | 0 | break; |
2679 | | |
2680 | 0 | case 88: /* tos_option: basedate */ |
2681 | 0 | #line 678 "../../ntpd/ntp_parser.y" |
2682 | 0 | { (yyval.Attr_val) = create_attr_ival(T_Basedate, (yyvsp[0].Integer)); } |
2683 | 0 | #line 2684 "ntp_parser.c" |
2684 | 0 | break; |
2685 | | |
2686 | 0 | case 100: /* monitoring_command: T_Statistics stats_list */ |
2687 | 0 | #line 705 "../../ntpd/ntp_parser.y" |
2688 | 0 | { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[0].Int_fifo)); } |
2689 | 0 | #line 2690 "ntp_parser.c" |
2690 | 0 | break; |
2691 | | |
2692 | 0 | case 101: /* monitoring_command: T_Statsdir T_String */ |
2693 | 0 | #line 707 "../../ntpd/ntp_parser.y" |
2694 | 0 | { |
2695 | 0 | if (lex_from_file()) { |
2696 | 0 | cfgt.stats_dir = (yyvsp[0].String); |
2697 | 0 | } else { |
2698 | 0 | YYFREE((yyvsp[0].String)); |
2699 | 0 | yyerror("statsdir remote configuration ignored"); |
2700 | 0 | } |
2701 | 0 | } |
2702 | 0 | #line 2703 "ntp_parser.c" |
2703 | 0 | break; |
2704 | | |
2705 | 0 | case 102: /* monitoring_command: T_Filegen stat filegen_option_list */ |
2706 | 0 | #line 716 "../../ntpd/ntp_parser.y" |
2707 | 0 | { |
2708 | 0 | filegen_node *fgn; |
2709 | |
|
2710 | 0 | fgn = create_filegen_node((yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo)); |
2711 | 0 | APPEND_G_FIFO(cfgt.filegen_opts, fgn); |
2712 | 0 | } |
2713 | 0 | #line 2714 "ntp_parser.c" |
2714 | 0 | break; |
2715 | | |
2716 | 0 | case 103: /* stats_list: stats_list stat */ |
2717 | 0 | #line 726 "../../ntpd/ntp_parser.y" |
2718 | 0 | { |
2719 | 0 | (yyval.Int_fifo) = (yyvsp[-1].Int_fifo); |
2720 | 0 | APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); |
2721 | 0 | } |
2722 | 0 | #line 2723 "ntp_parser.c" |
2723 | 0 | break; |
2724 | | |
2725 | 0 | case 104: /* stats_list: stat */ |
2726 | 0 | #line 731 "../../ntpd/ntp_parser.y" |
2727 | 0 | { |
2728 | 0 | (yyval.Int_fifo) = NULL; |
2729 | 0 | APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); |
2730 | 0 | } |
2731 | 0 | #line 2732 "ntp_parser.c" |
2732 | 0 | break; |
2733 | | |
2734 | 0 | case 113: /* filegen_option_list: %empty */ |
2735 | 0 | #line 750 "../../ntpd/ntp_parser.y" |
2736 | 0 | { (yyval.Attr_val_fifo) = NULL; } |
2737 | 0 | #line 2738 "ntp_parser.c" |
2738 | 0 | break; |
2739 | | |
2740 | 0 | case 114: /* filegen_option_list: filegen_option_list filegen_option */ |
2741 | 0 | #line 752 "../../ntpd/ntp_parser.y" |
2742 | 0 | { |
2743 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
2744 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
2745 | 0 | } |
2746 | 0 | #line 2747 "ntp_parser.c" |
2747 | 0 | break; |
2748 | | |
2749 | 0 | case 115: /* filegen_option: T_File T_String */ |
2750 | 0 | #line 760 "../../ntpd/ntp_parser.y" |
2751 | 0 | { |
2752 | 0 | if (lex_from_file()) { |
2753 | 0 | (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); |
2754 | 0 | } else { |
2755 | 0 | (yyval.Attr_val) = NULL; |
2756 | 0 | YYFREE((yyvsp[0].String)); |
2757 | 0 | yyerror("filegen file remote config ignored"); |
2758 | 0 | } |
2759 | 0 | } |
2760 | 0 | #line 2761 "ntp_parser.c" |
2761 | 0 | break; |
2762 | | |
2763 | 0 | case 116: /* filegen_option: T_Type filegen_type */ |
2764 | 0 | #line 770 "../../ntpd/ntp_parser.y" |
2765 | 0 | { |
2766 | 0 | if (lex_from_file()) { |
2767 | 0 | (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); |
2768 | 0 | } else { |
2769 | 0 | (yyval.Attr_val) = NULL; |
2770 | 0 | yyerror("filegen type remote config ignored"); |
2771 | 0 | } |
2772 | 0 | } |
2773 | 0 | #line 2774 "ntp_parser.c" |
2774 | 0 | break; |
2775 | | |
2776 | 0 | case 117: /* filegen_option: link_nolink */ |
2777 | 0 | #line 779 "../../ntpd/ntp_parser.y" |
2778 | 0 | { |
2779 | 0 | const char *err; |
2780 | |
|
2781 | 0 | if (lex_from_file()) { |
2782 | 0 | (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); |
2783 | 0 | } else { |
2784 | 0 | (yyval.Attr_val) = NULL; |
2785 | 0 | if (T_Link == (yyvsp[0].Integer)) |
2786 | 0 | err = "filegen link remote config ignored"; |
2787 | 0 | else |
2788 | 0 | err = "filegen nolink remote config ignored"; |
2789 | 0 | yyerror(err); |
2790 | 0 | } |
2791 | 0 | } |
2792 | 0 | #line 2793 "ntp_parser.c" |
2793 | 0 | break; |
2794 | | |
2795 | 0 | case 118: /* filegen_option: enable_disable */ |
2796 | 0 | #line 794 "../../ntpd/ntp_parser.y" |
2797 | 0 | { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); } |
2798 | 0 | #line 2799 "ntp_parser.c" |
2799 | 0 | break; |
2800 | | |
2801 | 0 | case 130: /* access_control_command: T_Discard discard_option_list */ |
2802 | 0 | #line 824 "../../ntpd/ntp_parser.y" |
2803 | 0 | { |
2804 | 0 | CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[0].Attr_val_fifo)); |
2805 | 0 | } |
2806 | 0 | #line 2807 "ntp_parser.c" |
2807 | 0 | break; |
2808 | | |
2809 | 0 | case 131: /* access_control_command: T_Mru mru_option_list */ |
2810 | 0 | #line 828 "../../ntpd/ntp_parser.y" |
2811 | 0 | { |
2812 | 0 | CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[0].Attr_val_fifo)); |
2813 | 0 | } |
2814 | 0 | #line 2815 "ntp_parser.c" |
2815 | 0 | break; |
2816 | | |
2817 | 0 | case 132: /* access_control_command: T_Restrict address restrict_mask res_ippeerlimit ac_flag_list */ |
2818 | 0 | #line 832 "../../ntpd/ntp_parser.y" |
2819 | 0 | { |
2820 | 0 | restrict_node *rn; |
2821 | |
|
2822 | 0 | rn = create_restrict_node((yyvsp[-3].Address_node), (yyvsp[-2].Address_node), (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo), FALSE, |
2823 | 0 | lex_current()->curpos.nline, |
2824 | 0 | lex_current()->curpos.ncol); |
2825 | 0 | APPEND_G_FIFO(cfgt.restrict_opts, rn); |
2826 | 0 | } |
2827 | 0 | #line 2828 "ntp_parser.c" |
2828 | 0 | break; |
2829 | | |
2830 | 0 | case 133: /* access_control_command: T_Restrict T_Default res_ippeerlimit ac_flag_list */ |
2831 | 0 | #line 841 "../../ntpd/ntp_parser.y" |
2832 | 0 | { |
2833 | 0 | restrict_node *rn; |
2834 | |
|
2835 | 0 | rn = create_restrict_node(NULL, NULL, (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo), FALSE, |
2836 | 0 | lex_current()->curpos.nline, |
2837 | 0 | lex_current()->curpos.ncol); |
2838 | 0 | APPEND_G_FIFO(cfgt.restrict_opts, rn); |
2839 | 0 | } |
2840 | 0 | #line 2841 "ntp_parser.c" |
2841 | 0 | break; |
2842 | | |
2843 | 0 | case 134: /* access_control_command: T_Restrict T_Ipv4_flag T_Default res_ippeerlimit ac_flag_list */ |
2844 | 0 | #line 850 "../../ntpd/ntp_parser.y" |
2845 | 0 | { |
2846 | 0 | restrict_node *rn; |
2847 | |
|
2848 | 0 | rn = create_restrict_node( |
2849 | 0 | create_address_node( |
2850 | 0 | estrdup("0.0.0.0"), |
2851 | 0 | AF_INET), |
2852 | 0 | create_address_node( |
2853 | 0 | estrdup("0.0.0.0"), |
2854 | 0 | AF_INET), |
2855 | 0 | (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo), FALSE, |
2856 | 0 | lex_current()->curpos.nline, |
2857 | 0 | lex_current()->curpos.ncol); |
2858 | 0 | APPEND_G_FIFO(cfgt.restrict_opts, rn); |
2859 | 0 | } |
2860 | 0 | #line 2861 "ntp_parser.c" |
2861 | 0 | break; |
2862 | | |
2863 | 0 | case 135: /* access_control_command: T_Restrict T_Ipv6_flag T_Default res_ippeerlimit ac_flag_list */ |
2864 | 0 | #line 866 "../../ntpd/ntp_parser.y" |
2865 | 0 | { |
2866 | 0 | restrict_node *rn; |
2867 | |
|
2868 | 0 | rn = create_restrict_node( |
2869 | 0 | create_address_node( |
2870 | 0 | estrdup("::"), |
2871 | 0 | AF_INET6), |
2872 | 0 | create_address_node( |
2873 | 0 | estrdup("::"), |
2874 | 0 | AF_INET6), |
2875 | 0 | (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo), FALSE, |
2876 | 0 | lex_current()->curpos.nline, |
2877 | 0 | lex_current()->curpos.ncol); |
2878 | 0 | APPEND_G_FIFO(cfgt.restrict_opts, rn); |
2879 | 0 | } |
2880 | 0 | #line 2881 "ntp_parser.c" |
2881 | 0 | break; |
2882 | | |
2883 | 0 | case 136: /* access_control_command: T_Restrict T_Source res_ippeerlimit ac_flag_list */ |
2884 | 0 | #line 882 "../../ntpd/ntp_parser.y" |
2885 | 0 | { |
2886 | 0 | restrict_node * rn; |
2887 | |
|
2888 | 0 | APPEND_G_FIFO((yyvsp[0].Attr_val_fifo), create_attr_ival((yyvsp[-2].Integer), 1)); |
2889 | 0 | rn = create_restrict_node(NULL, NULL, (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo), FALSE, |
2890 | 0 | lex_current()->curpos.nline, |
2891 | 0 | lex_current()->curpos.ncol); |
2892 | 0 | APPEND_G_FIFO(cfgt.restrict_opts, rn); |
2893 | 0 | } |
2894 | 0 | #line 2895 "ntp_parser.c" |
2895 | 0 | break; |
2896 | | |
2897 | 0 | case 137: /* access_control_command: T_Delrestrict ip_address restrict_mask */ |
2898 | 0 | #line 892 "../../ntpd/ntp_parser.y" |
2899 | 0 | { |
2900 | 0 | restrict_node * rn; |
2901 | |
|
2902 | 0 | rn = create_restrict_node((yyvsp[-1].Address_node), (yyvsp[0].Address_node), -1, NULL, TRUE, |
2903 | 0 | lex_current()->curpos.nline, |
2904 | 0 | lex_current()->curpos.ncol); |
2905 | 0 | APPEND_G_FIFO(cfgt.restrict_opts, rn); |
2906 | 0 | } |
2907 | 0 | #line 2908 "ntp_parser.c" |
2908 | 0 | break; |
2909 | | |
2910 | 0 | case 138: /* access_control_command: T_Delrestrict T_Source ip_address */ |
2911 | 0 | #line 901 "../../ntpd/ntp_parser.y" |
2912 | 0 | { |
2913 | 0 | restrict_node * rn; |
2914 | 0 | attr_val_fifo * avf; |
2915 | |
|
2916 | 0 | avf = NULL; |
2917 | 0 | APPEND_G_FIFO(avf, create_attr_ival((yyvsp[-1].Integer), 1)); |
2918 | 0 | rn = create_restrict_node((yyvsp[0].Address_node), NULL, -1, avf, TRUE, |
2919 | 0 | lex_current()->curpos.nline, |
2920 | 0 | lex_current()->curpos.ncol); |
2921 | 0 | APPEND_G_FIFO(cfgt.restrict_opts, rn); |
2922 | 0 | } |
2923 | 0 | #line 2924 "ntp_parser.c" |
2924 | 0 | break; |
2925 | | |
2926 | 0 | case 139: /* restrict_mask: %empty */ |
2927 | 0 | #line 916 "../../ntpd/ntp_parser.y" |
2928 | 0 | { (yyval.Address_node) = NULL; } |
2929 | 0 | #line 2930 "ntp_parser.c" |
2930 | 0 | break; |
2931 | | |
2932 | 0 | case 140: /* restrict_mask: T_Mask ip_address */ |
2933 | 0 | #line 918 "../../ntpd/ntp_parser.y" |
2934 | 0 | { |
2935 | 0 | (yyval.Address_node) = (yyvsp[0].Address_node); |
2936 | 0 | } |
2937 | 0 | #line 2938 "ntp_parser.c" |
2938 | 0 | break; |
2939 | | |
2940 | 0 | case 141: /* res_ippeerlimit: %empty */ |
2941 | 0 | #line 925 "../../ntpd/ntp_parser.y" |
2942 | 0 | { (yyval.Integer) = -1; } |
2943 | 0 | #line 2944 "ntp_parser.c" |
2944 | 0 | break; |
2945 | | |
2946 | 0 | case 142: /* res_ippeerlimit: T_Ippeerlimit T_Integer */ |
2947 | 0 | #line 927 "../../ntpd/ntp_parser.y" |
2948 | 0 | { |
2949 | 0 | if (((yyvsp[0].Integer) < -1) || ((yyvsp[0].Integer) > 100)) { |
2950 | 0 | struct FILE_INFO * ip_ctx; |
2951 | |
|
2952 | 0 | ip_ctx = lex_current(); |
2953 | 0 | msyslog(LOG_ERR, |
2954 | 0 | "Unreasonable ippeerlimit value (%d) in %s line %d, column %d. Using 0.", |
2955 | 0 | (yyvsp[0].Integer), |
2956 | 0 | ip_ctx->fname, |
2957 | 0 | ip_ctx->curpos.nline, |
2958 | 0 | ip_ctx->curpos.ncol); |
2959 | 0 | (yyvsp[0].Integer) = 0; |
2960 | 0 | } |
2961 | 0 | (yyval.Integer) = (yyvsp[0].Integer); |
2962 | 0 | } |
2963 | 0 | #line 2964 "ntp_parser.c" |
2964 | 0 | break; |
2965 | | |
2966 | 0 | case 143: /* ac_flag_list: %empty */ |
2967 | 0 | #line 946 "../../ntpd/ntp_parser.y" |
2968 | 0 | { (yyval.Attr_val_fifo) = NULL; } |
2969 | 0 | #line 2970 "ntp_parser.c" |
2970 | 0 | break; |
2971 | | |
2972 | 0 | case 144: /* ac_flag_list: ac_flag_list access_control_flag */ |
2973 | 0 | #line 948 "../../ntpd/ntp_parser.y" |
2974 | 0 | { |
2975 | 0 | attr_val *av; |
2976 | |
|
2977 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
2978 | 0 | av = create_attr_ival((yyvsp[0].Integer), 1); |
2979 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), av); |
2980 | 0 | } |
2981 | 0 | #line 2982 "ntp_parser.c" |
2982 | 0 | break; |
2983 | | |
2984 | 0 | case 145: /* ac_flag_list: ac_flag_list T_Serverresponse T_Fuzz */ |
2985 | 0 | #line 956 "../../ntpd/ntp_parser.y" |
2986 | 0 | { |
2987 | 0 | attr_val *av; |
2988 | |
|
2989 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo); |
2990 | 0 | av = create_attr_ival(T_ServerresponseFuzz, 1); |
2991 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), av); |
2992 | 0 | } |
2993 | 0 | #line 2994 "ntp_parser.c" |
2994 | 0 | break; |
2995 | | |
2996 | 0 | case 163: /* discard_option_list: discard_option_list discard_option */ |
2997 | 0 | #line 987 "../../ntpd/ntp_parser.y" |
2998 | 0 | { |
2999 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
3000 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3001 | 0 | } |
3002 | 0 | #line 3003 "ntp_parser.c" |
3003 | 0 | break; |
3004 | | |
3005 | 0 | case 164: /* discard_option_list: discard_option */ |
3006 | 0 | #line 992 "../../ntpd/ntp_parser.y" |
3007 | 0 | { |
3008 | 0 | (yyval.Attr_val_fifo) = NULL; |
3009 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3010 | 0 | } |
3011 | 0 | #line 3012 "ntp_parser.c" |
3012 | 0 | break; |
3013 | | |
3014 | 0 | case 165: /* discard_option: discard_option_keyword T_Integer */ |
3015 | 0 | #line 1000 "../../ntpd/ntp_parser.y" |
3016 | 0 | { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } |
3017 | 0 | #line 3018 "ntp_parser.c" |
3018 | 0 | break; |
3019 | | |
3020 | 0 | case 169: /* mru_option_list: mru_option_list mru_option */ |
3021 | 0 | #line 1011 "../../ntpd/ntp_parser.y" |
3022 | 0 | { |
3023 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
3024 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3025 | 0 | } |
3026 | 0 | #line 3027 "ntp_parser.c" |
3027 | 0 | break; |
3028 | | |
3029 | 0 | case 170: /* mru_option_list: mru_option */ |
3030 | 0 | #line 1016 "../../ntpd/ntp_parser.y" |
3031 | 0 | { |
3032 | 0 | (yyval.Attr_val_fifo) = NULL; |
3033 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3034 | 0 | } |
3035 | 0 | #line 3036 "ntp_parser.c" |
3036 | 0 | break; |
3037 | | |
3038 | 0 | case 171: /* mru_option: mru_option_keyword T_Integer */ |
3039 | 0 | #line 1024 "../../ntpd/ntp_parser.y" |
3040 | 0 | { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } |
3041 | 0 | #line 3042 "ntp_parser.c" |
3042 | 0 | break; |
3043 | | |
3044 | 0 | case 180: /* fudge_command: T_Fudge address fudge_factor_list */ |
3045 | 0 | #line 1044 "../../ntpd/ntp_parser.y" |
3046 | 0 | { |
3047 | 0 | addr_opts_node *aon; |
3048 | |
|
3049 | 0 | aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); |
3050 | 0 | APPEND_G_FIFO(cfgt.fudge, aon); |
3051 | 0 | } |
3052 | 0 | #line 3053 "ntp_parser.c" |
3053 | 0 | break; |
3054 | | |
3055 | 0 | case 181: /* fudge_factor_list: fudge_factor_list fudge_factor */ |
3056 | 0 | #line 1054 "../../ntpd/ntp_parser.y" |
3057 | 0 | { |
3058 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
3059 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3060 | 0 | } |
3061 | 0 | #line 3062 "ntp_parser.c" |
3062 | 0 | break; |
3063 | | |
3064 | 0 | case 182: /* fudge_factor_list: fudge_factor */ |
3065 | 0 | #line 1059 "../../ntpd/ntp_parser.y" |
3066 | 0 | { |
3067 | 0 | (yyval.Attr_val_fifo) = NULL; |
3068 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3069 | 0 | } |
3070 | 0 | #line 3071 "ntp_parser.c" |
3071 | 0 | break; |
3072 | | |
3073 | 0 | case 183: /* fudge_factor: fudge_factor_dbl_keyword number */ |
3074 | 0 | #line 1067 "../../ntpd/ntp_parser.y" |
3075 | 0 | { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); } |
3076 | 0 | #line 3077 "ntp_parser.c" |
3077 | 0 | break; |
3078 | | |
3079 | 0 | case 184: /* fudge_factor: fudge_factor_bool_keyword boolean */ |
3080 | 0 | #line 1069 "../../ntpd/ntp_parser.y" |
3081 | 0 | { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } |
3082 | 0 | #line 3083 "ntp_parser.c" |
3083 | 0 | break; |
3084 | | |
3085 | 0 | case 185: /* fudge_factor: T_Stratum T_Integer */ |
3086 | 0 | #line 1071 "../../ntpd/ntp_parser.y" |
3087 | 0 | { |
3088 | 0 | if ((yyvsp[0].Integer) >= 0 && (yyvsp[0].Integer) <= 16) { |
3089 | 0 | (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); |
3090 | 0 | } else { |
3091 | 0 | (yyval.Attr_val) = NULL; |
3092 | 0 | yyerror("fudge factor: stratum value not in [0..16], ignored"); |
3093 | 0 | } |
3094 | 0 | } |
3095 | 0 | #line 3096 "ntp_parser.c" |
3096 | 0 | break; |
3097 | | |
3098 | 0 | case 186: /* fudge_factor: T_Abbrev T_String */ |
3099 | 0 | #line 1080 "../../ntpd/ntp_parser.y" |
3100 | 0 | { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } |
3101 | 0 | #line 3102 "ntp_parser.c" |
3102 | 0 | break; |
3103 | | |
3104 | 0 | case 187: /* fudge_factor: T_Refid T_String */ |
3105 | 0 | #line 1082 "../../ntpd/ntp_parser.y" |
3106 | 0 | { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } |
3107 | 0 | #line 3108 "ntp_parser.c" |
3108 | 0 | break; |
3109 | | |
3110 | 0 | case 195: /* device_command: T_Device address device_item_list */ |
3111 | 0 | #line 1104 "../../ntpd/ntp_parser.y" |
3112 | 0 | { |
3113 | 0 | addr_opts_node *aon; |
3114 | |
|
3115 | 0 | aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); |
3116 | 0 | APPEND_G_FIFO(cfgt.device, aon); |
3117 | 0 | } |
3118 | 0 | #line 3119 "ntp_parser.c" |
3119 | 0 | break; |
3120 | | |
3121 | 0 | case 196: /* device_item_list: device_item_list device_item */ |
3122 | 0 | #line 1114 "../../ntpd/ntp_parser.y" |
3123 | 0 | { |
3124 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
3125 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3126 | 0 | } |
3127 | 0 | #line 3128 "ntp_parser.c" |
3128 | 0 | break; |
3129 | | |
3130 | 0 | case 197: /* device_item_list: device_item */ |
3131 | 0 | #line 1119 "../../ntpd/ntp_parser.y" |
3132 | 0 | { |
3133 | 0 | (yyval.Attr_val_fifo) = NULL; |
3134 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3135 | 0 | } |
3136 | 0 | #line 3137 "ntp_parser.c" |
3137 | 0 | break; |
3138 | | |
3139 | 0 | case 198: /* device_item: device_item_path_keyword T_String */ |
3140 | 0 | #line 1127 "../../ntpd/ntp_parser.y" |
3141 | 0 | { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } |
3142 | 0 | #line 3143 "ntp_parser.c" |
3143 | 0 | break; |
3144 | | |
3145 | 0 | case 201: /* rlimit_command: T_Rlimit rlimit_option_list */ |
3146 | 0 | #line 1141 "../../ntpd/ntp_parser.y" |
3147 | 0 | { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[0].Attr_val_fifo)); } |
3148 | 0 | #line 3149 "ntp_parser.c" |
3149 | 0 | break; |
3150 | | |
3151 | 0 | case 202: /* rlimit_option_list: rlimit_option_list rlimit_option */ |
3152 | 0 | #line 1146 "../../ntpd/ntp_parser.y" |
3153 | 0 | { |
3154 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
3155 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3156 | 0 | } |
3157 | 0 | #line 3158 "ntp_parser.c" |
3158 | 0 | break; |
3159 | | |
3160 | 0 | case 203: /* rlimit_option_list: rlimit_option */ |
3161 | 0 | #line 1151 "../../ntpd/ntp_parser.y" |
3162 | 0 | { |
3163 | 0 | (yyval.Attr_val_fifo) = NULL; |
3164 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3165 | 0 | } |
3166 | 0 | #line 3167 "ntp_parser.c" |
3167 | 0 | break; |
3168 | | |
3169 | 0 | case 204: /* rlimit_option: rlimit_option_keyword T_Integer */ |
3170 | 0 | #line 1159 "../../ntpd/ntp_parser.y" |
3171 | 0 | { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } |
3172 | 0 | #line 3173 "ntp_parser.c" |
3173 | 0 | break; |
3174 | | |
3175 | 0 | case 208: /* system_option_command: T_Enable system_option_list */ |
3176 | 0 | #line 1175 "../../ntpd/ntp_parser.y" |
3177 | 0 | { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[0].Attr_val_fifo)); } |
3178 | 0 | #line 3179 "ntp_parser.c" |
3179 | 0 | break; |
3180 | | |
3181 | 0 | case 209: /* system_option_command: T_Disable system_option_list */ |
3182 | 0 | #line 1177 "../../ntpd/ntp_parser.y" |
3183 | 0 | { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[0].Attr_val_fifo)); } |
3184 | 0 | #line 3185 "ntp_parser.c" |
3185 | 0 | break; |
3186 | | |
3187 | 0 | case 210: /* system_option_list: system_option_list system_option */ |
3188 | 0 | #line 1182 "../../ntpd/ntp_parser.y" |
3189 | 0 | { |
3190 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
3191 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3192 | 0 | } |
3193 | 0 | #line 3194 "ntp_parser.c" |
3194 | 0 | break; |
3195 | | |
3196 | 0 | case 211: /* system_option_list: system_option */ |
3197 | 0 | #line 1187 "../../ntpd/ntp_parser.y" |
3198 | 0 | { |
3199 | 0 | (yyval.Attr_val_fifo) = NULL; |
3200 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3201 | 0 | } |
3202 | 0 | #line 3203 "ntp_parser.c" |
3203 | 0 | break; |
3204 | | |
3205 | 0 | case 212: /* system_option: system_option_flag_keyword */ |
3206 | 0 | #line 1195 "../../ntpd/ntp_parser.y" |
3207 | 0 | { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); } |
3208 | 0 | #line 3209 "ntp_parser.c" |
3209 | 0 | break; |
3210 | | |
3211 | 0 | case 213: /* system_option: system_option_local_flag_keyword */ |
3212 | 0 | #line 1197 "../../ntpd/ntp_parser.y" |
3213 | 0 | { |
3214 | 0 | if (lex_from_file()) { |
3215 | 0 | (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); |
3216 | 0 | } else { |
3217 | 0 | char err_str[128]; |
3218 | |
|
3219 | 0 | (yyval.Attr_val) = NULL; |
3220 | 0 | snprintf(err_str, sizeof(err_str), |
3221 | 0 | "enable/disable %s remote configuration ignored", |
3222 | 0 | keyword((yyvsp[0].Integer))); |
3223 | 0 | yyerror(err_str); |
3224 | 0 | } |
3225 | 0 | } |
3226 | 0 | #line 3227 "ntp_parser.c" |
3227 | 0 | break; |
3228 | | |
3229 | 0 | case 226: /* tinker_command: T_Tinker tinker_option_list */ |
3230 | 0 | #line 1236 "../../ntpd/ntp_parser.y" |
3231 | 0 | { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[0].Attr_val_fifo)); } |
3232 | 0 | #line 3233 "ntp_parser.c" |
3233 | 0 | break; |
3234 | | |
3235 | 0 | case 227: /* tinker_option_list: tinker_option_list tinker_option */ |
3236 | 0 | #line 1241 "../../ntpd/ntp_parser.y" |
3237 | 0 | { |
3238 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
3239 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3240 | 0 | } |
3241 | 0 | #line 3242 "ntp_parser.c" |
3242 | 0 | break; |
3243 | | |
3244 | 0 | case 228: /* tinker_option_list: tinker_option */ |
3245 | 0 | #line 1246 "../../ntpd/ntp_parser.y" |
3246 | 0 | { |
3247 | 0 | (yyval.Attr_val_fifo) = NULL; |
3248 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3249 | 0 | } |
3250 | 0 | #line 3251 "ntp_parser.c" |
3251 | 0 | break; |
3252 | | |
3253 | 0 | case 229: /* tinker_option: tinker_option_keyword number */ |
3254 | 0 | #line 1254 "../../ntpd/ntp_parser.y" |
3255 | 0 | { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); } |
3256 | 0 | #line 3257 "ntp_parser.c" |
3257 | 0 | break; |
3258 | | |
3259 | 0 | case 242: /* miscellaneous_command: misc_cmd_dbl_keyword number */ |
3260 | 0 | #line 1279 "../../ntpd/ntp_parser.y" |
3261 | 0 | { |
3262 | 0 | attr_val *av; |
3263 | |
|
3264 | 0 | av = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); |
3265 | 0 | APPEND_G_FIFO(cfgt.vars, av); |
3266 | 0 | } |
3267 | 0 | #line 3268 "ntp_parser.c" |
3268 | 0 | break; |
3269 | | |
3270 | 0 | case 243: /* miscellaneous_command: misc_cmd_int_keyword T_Integer */ |
3271 | 0 | #line 1286 "../../ntpd/ntp_parser.y" |
3272 | 0 | { |
3273 | 0 | attr_val *av; |
3274 | |
|
3275 | 0 | av = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); |
3276 | 0 | APPEND_G_FIFO(cfgt.vars, av); |
3277 | 0 | } |
3278 | 0 | #line 3279 "ntp_parser.c" |
3279 | 0 | break; |
3280 | | |
3281 | 0 | case 244: /* miscellaneous_command: misc_cmd_str_keyword T_String */ |
3282 | 0 | #line 1293 "../../ntpd/ntp_parser.y" |
3283 | 0 | { |
3284 | 0 | attr_val *av; |
3285 | |
|
3286 | 0 | av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); |
3287 | 0 | APPEND_G_FIFO(cfgt.vars, av); |
3288 | 0 | } |
3289 | 0 | #line 3290 "ntp_parser.c" |
3290 | 0 | break; |
3291 | | |
3292 | 0 | case 245: /* miscellaneous_command: misc_cmd_str_lcl_keyword T_String */ |
3293 | 0 | #line 1300 "../../ntpd/ntp_parser.y" |
3294 | 0 | { |
3295 | 0 | char error_text[64]; |
3296 | 0 | attr_val *av; |
3297 | |
|
3298 | 0 | if (lex_from_file()) { |
3299 | 0 | av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); |
3300 | 0 | APPEND_G_FIFO(cfgt.vars, av); |
3301 | 0 | } else { |
3302 | 0 | YYFREE((yyvsp[0].String)); |
3303 | 0 | snprintf(error_text, sizeof(error_text), |
3304 | 0 | "%s remote config ignored", |
3305 | 0 | keyword((yyvsp[-1].Integer))); |
3306 | 0 | yyerror(error_text); |
3307 | 0 | } |
3308 | 0 | } |
3309 | 0 | #line 3310 "ntp_parser.c" |
3310 | 0 | break; |
3311 | | |
3312 | 0 | case 246: /* miscellaneous_command: T_Includefile T_String command */ |
3313 | 0 | #line 1316 "../../ntpd/ntp_parser.y" |
3314 | 0 | { |
3315 | 0 | if (!lex_from_file()) { |
3316 | 0 | YYFREE((yyvsp[-1].String)); /* avoid leak */ |
3317 | 0 | yyerror("remote includefile ignored"); |
3318 | 0 | break; |
3319 | 0 | } |
3320 | 0 | if (lex_level() > MAXINCLUDELEVEL) { |
3321 | 0 | fprintf(stderr, "getconfig: Maximum include file level exceeded.\n"); |
3322 | 0 | msyslog(LOG_ERR, "getconfig: Maximum include file level exceeded."); |
3323 | 0 | } else { |
3324 | 0 | const char * path = FindConfig((yyvsp[-1].String)); /* might return $2! */ |
3325 | 0 | if (!lex_push_file(path, "r")) { |
3326 | 0 | fprintf(stderr, "getconfig: Couldn't open <%s>\n", path); |
3327 | 0 | msyslog(LOG_ERR, "getconfig: Couldn't open <%s>", path); |
3328 | 0 | } |
3329 | 0 | } |
3330 | 0 | YYFREE((yyvsp[-1].String)); /* avoid leak */ |
3331 | 0 | } |
3332 | 0 | #line 3333 "ntp_parser.c" |
3333 | 0 | break; |
3334 | | |
3335 | 0 | case 247: /* miscellaneous_command: T_Leapfile T_String opt_hash_check */ |
3336 | 0 | #line 1335 "../../ntpd/ntp_parser.y" |
3337 | 0 | { |
3338 | 0 | attr_val *av; |
3339 | |
|
3340 | 0 | av = create_attr_sval((yyvsp[-2].Integer), (yyvsp[-1].String)); |
3341 | 0 | av->flag = (yyvsp[0].Integer); |
3342 | 0 | APPEND_G_FIFO(cfgt.vars, av); |
3343 | 0 | } |
3344 | 0 | #line 3345 "ntp_parser.c" |
3345 | 0 | break; |
3346 | | |
3347 | 0 | case 248: /* miscellaneous_command: T_End */ |
3348 | 0 | #line 1343 "../../ntpd/ntp_parser.y" |
3349 | 0 | { lex_flush_stack(); } |
3350 | 0 | #line 3351 "ntp_parser.c" |
3351 | 0 | break; |
3352 | | |
3353 | 0 | case 249: /* miscellaneous_command: T_Driftfile drift_parm */ |
3354 | 0 | #line 1345 "../../ntpd/ntp_parser.y" |
3355 | 0 | { /* see drift_parm below for actions */ } |
3356 | 0 | #line 3357 "ntp_parser.c" |
3357 | 0 | break; |
3358 | | |
3359 | 0 | case 250: /* miscellaneous_command: T_Logconfig log_config_list */ |
3360 | 0 | #line 1347 "../../ntpd/ntp_parser.y" |
3361 | 0 | { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[0].Attr_val_fifo)); } |
3362 | 0 | #line 3363 "ntp_parser.c" |
3363 | 0 | break; |
3364 | | |
3365 | 0 | case 251: /* miscellaneous_command: T_Phone string_list */ |
3366 | 0 | #line 1349 "../../ntpd/ntp_parser.y" |
3367 | 0 | { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[0].String_fifo)); } |
3368 | 0 | #line 3369 "ntp_parser.c" |
3369 | 0 | break; |
3370 | | |
3371 | 0 | case 252: /* miscellaneous_command: T_PollSkewList pollskew_list */ |
3372 | 0 | #line 1351 "../../ntpd/ntp_parser.y" |
3373 | 0 | { CONCAT_G_FIFOS(cfgt.pollskewlist, (yyvsp[0].Attr_val_fifo)); } |
3374 | 0 | #line 3375 "ntp_parser.c" |
3375 | 0 | break; |
3376 | | |
3377 | 0 | case 253: /* miscellaneous_command: T_Setvar variable_assign */ |
3378 | 0 | #line 1353 "../../ntpd/ntp_parser.y" |
3379 | 0 | { APPEND_G_FIFO(cfgt.setvar, (yyvsp[0].Set_var)); } |
3380 | 0 | #line 3381 "ntp_parser.c" |
3381 | 0 | break; |
3382 | | |
3383 | 0 | case 254: /* miscellaneous_command: T_Trap ip_address trap_option_list */ |
3384 | 0 | #line 1355 "../../ntpd/ntp_parser.y" |
3385 | 0 | { |
3386 | 0 | addr_opts_node *aon; |
3387 | |
|
3388 | 0 | aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); |
3389 | 0 | APPEND_G_FIFO(cfgt.trap, aon); |
3390 | 0 | } |
3391 | 0 | #line 3392 "ntp_parser.c" |
3392 | 0 | break; |
3393 | | |
3394 | 0 | case 255: /* miscellaneous_command: T_Ttl integer_list */ |
3395 | 0 | #line 1362 "../../ntpd/ntp_parser.y" |
3396 | 0 | { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[0].Attr_val_fifo)); } |
3397 | 0 | #line 3398 "ntp_parser.c" |
3398 | 0 | break; |
3399 | | |
3400 | 0 | case 260: /* misc_cmd_int_keyword: T_Leapsmearinterval */ |
3401 | 0 | #line 1377 "../../ntpd/ntp_parser.y" |
3402 | 0 | { |
3403 | 0 | #ifndef LEAP_SMEAR |
3404 | 0 | yyerror("Built without LEAP_SMEAR support."); |
3405 | 0 | #endif |
3406 | 0 | } |
3407 | 0 | #line 3408 "ntp_parser.c" |
3408 | 0 | break; |
3409 | | |
3410 | 0 | case 261: /* opt_hash_check: T_Ignorehash */ |
3411 | 0 | #line 1386 "../../ntpd/ntp_parser.y" |
3412 | 0 | { (yyval.Integer) = FALSE; } |
3413 | 0 | #line 3414 "ntp_parser.c" |
3414 | 0 | break; |
3415 | | |
3416 | 0 | case 262: /* opt_hash_check: T_Checkhash */ |
3417 | 0 | #line 1388 "../../ntpd/ntp_parser.y" |
3418 | 0 | { (yyval.Integer) = TRUE; } |
3419 | 0 | #line 3420 "ntp_parser.c" |
3420 | 0 | break; |
3421 | | |
3422 | 0 | case 263: /* opt_hash_check: %empty */ |
3423 | 0 | #line 1390 "../../ntpd/ntp_parser.y" |
3424 | 0 | { (yyval.Integer) = TRUE; } |
3425 | 0 | #line 3426 "ntp_parser.c" |
3426 | 0 | break; |
3427 | | |
3428 | 0 | case 268: /* drift_parm: T_String */ |
3429 | 0 | #line 1405 "../../ntpd/ntp_parser.y" |
3430 | 0 | { |
3431 | 0 | if (lex_from_file()) { |
3432 | 0 | attr_val *av; |
3433 | 0 | av = create_attr_sval(T_Driftfile, (yyvsp[0].String)); |
3434 | 0 | APPEND_G_FIFO(cfgt.vars, av); |
3435 | 0 | } else { |
3436 | 0 | YYFREE((yyvsp[0].String)); |
3437 | 0 | yyerror("driftfile remote configuration ignored"); |
3438 | 0 | } |
3439 | 0 | } |
3440 | 0 | #line 3441 "ntp_parser.c" |
3441 | 0 | break; |
3442 | | |
3443 | 0 | case 269: /* drift_parm: T_String T_Double */ |
3444 | 0 | #line 1416 "../../ntpd/ntp_parser.y" |
3445 | 0 | { |
3446 | 0 | if (lex_from_file()) { |
3447 | 0 | attr_val *av; |
3448 | 0 | av = create_attr_sval(T_Driftfile, (yyvsp[-1].String)); |
3449 | 0 | APPEND_G_FIFO(cfgt.vars, av); |
3450 | 0 | av = create_attr_dval(T_WanderThreshold, (yyvsp[0].Double)); |
3451 | 0 | APPEND_G_FIFO(cfgt.vars, av); |
3452 | 0 | msyslog(LOG_WARNING, |
3453 | 0 | "'driftfile FILENAME WanderValue' is deprecated, " |
3454 | 0 | "please use separate 'driftfile FILENAME' and " |
3455 | 0 | "'nonvolatile WanderValue' lines instead."); |
3456 | 0 | } else { |
3457 | 0 | YYFREE((yyvsp[-1].String)); |
3458 | 0 | yyerror("driftfile remote configuration ignored"); |
3459 | 0 | } |
3460 | 0 | } |
3461 | 0 | #line 3462 "ntp_parser.c" |
3462 | 0 | break; |
3463 | | |
3464 | 0 | case 270: /* drift_parm: %empty */ |
3465 | 0 | #line 1433 "../../ntpd/ntp_parser.y" |
3466 | 0 | { |
3467 | 0 | if (lex_from_file()) { |
3468 | 0 | attr_val *av; |
3469 | 0 | av = create_attr_sval(T_Driftfile, estrdup("")); |
3470 | 0 | APPEND_G_FIFO(cfgt.vars, av); |
3471 | 0 | } else { |
3472 | 0 | yyerror("driftfile remote configuration ignored"); |
3473 | 0 | } |
3474 | 0 | } |
3475 | 0 | #line 3476 "ntp_parser.c" |
3476 | 0 | break; |
3477 | | |
3478 | 0 | case 271: /* pollskew_list: %empty */ |
3479 | 0 | #line 1446 "../../ntpd/ntp_parser.y" |
3480 | 0 | { (yyval.Attr_val_fifo) = NULL; } |
3481 | 0 | #line 3482 "ntp_parser.c" |
3482 | 0 | break; |
3483 | | |
3484 | 0 | case 272: /* pollskew_list: pollskew_list pollskew_spec */ |
3485 | 0 | #line 1448 "../../ntpd/ntp_parser.y" |
3486 | 0 | { (yyval.Attr_val_fifo) = append_gen_fifo((yyvsp[-1].Attr_val_fifo), (yyvsp[0].Attr_val)); } |
3487 | 0 | #line 3488 "ntp_parser.c" |
3488 | 0 | break; |
3489 | | |
3490 | 0 | case 273: /* pollskew_spec: pollskew_cycle T_Integer '|' T_Integer */ |
3491 | 0 | #line 1453 "../../ntpd/ntp_parser.y" |
3492 | 0 | { |
3493 | 0 | if ((yyvsp[-2].Integer) < 0 || (yyvsp[0].Integer) < 0) { |
3494 | | /* bad numbers */ |
3495 | 0 | yyerror("pollskewlist: skew values must be >=0"); |
3496 | 0 | destroy_attr_val((yyvsp[-3].Attr_val)); |
3497 | 0 | (yyvsp[-3].Attr_val) = NULL; |
3498 | 0 | } else if ((yyvsp[-3].Attr_val) == NULL) { |
3499 | 0 | yyerror("pollskewlist: poll value must be 3-17, inclusive"); |
3500 | 0 | } else if ((yyvsp[-3].Attr_val)->attr <= 0) { |
3501 | | /* process default range */ |
3502 | 0 | (yyvsp[-3].Attr_val)->value.r.first = (yyvsp[-2].Integer); |
3503 | 0 | (yyvsp[-3].Attr_val)->value.r.last = (yyvsp[0].Integer); |
3504 | 0 | } else if ((yyvsp[-2].Integer) < (1 << ((yyvsp[-3].Attr_val)->attr - 1)) && (yyvsp[0].Integer) < (1 << ((yyvsp[-3].Attr_val)->attr - 1))) { |
3505 | 0 | (yyvsp[-3].Attr_val)->value.r.first = (yyvsp[-2].Integer); |
3506 | 0 | (yyvsp[-3].Attr_val)->value.r.last = (yyvsp[0].Integer); |
3507 | 0 | } else { |
3508 | 0 | yyerror("pollskewlist: randomization limit must be <= half the poll interval"); |
3509 | 0 | destroy_attr_val((yyvsp[-3].Attr_val)); |
3510 | 0 | (yyvsp[-3].Attr_val) = NULL; |
3511 | 0 | } |
3512 | 0 | (yyval.Attr_val) = (yyvsp[-3].Attr_val); |
3513 | 0 | } |
3514 | 0 | #line 3515 "ntp_parser.c" |
3515 | 0 | break; |
3516 | | |
3517 | 0 | case 274: /* pollskew_cycle: T_Integer */ |
3518 | 0 | #line 1479 "../../ntpd/ntp_parser.y" |
3519 | 0 | { |
3520 | 0 | (yyval.Attr_val) = ((yyvsp[0].Integer) >= NTP_MINPOLL && (yyvsp[0].Integer) <= NTP_MAXPOLL) |
3521 | 0 | ? create_attr_rval((yyvsp[0].Integer), 0, 0) |
3522 | 0 | : NULL; |
3523 | 0 | } |
3524 | 0 | #line 3525 "ntp_parser.c" |
3525 | 0 | break; |
3526 | | |
3527 | 0 | case 275: /* pollskew_cycle: T_Default */ |
3528 | 0 | #line 1484 "../../ntpd/ntp_parser.y" |
3529 | 0 | { (yyval.Attr_val) = create_attr_rval(-1, 0, 0); } |
3530 | 0 | #line 3531 "ntp_parser.c" |
3531 | 0 | break; |
3532 | | |
3533 | 0 | case 276: /* variable_assign: T_String '=' T_String t_default_or_zero */ |
3534 | 0 | #line 1490 "../../ntpd/ntp_parser.y" |
3535 | 0 | { (yyval.Set_var) = create_setvar_node((yyvsp[-3].String), (yyvsp[-1].String), (yyvsp[0].Integer)); } |
3536 | 0 | #line 3537 "ntp_parser.c" |
3537 | 0 | break; |
3538 | | |
3539 | 0 | case 278: /* t_default_or_zero: %empty */ |
3540 | 0 | #line 1496 "../../ntpd/ntp_parser.y" |
3541 | 0 | { (yyval.Integer) = 0; } |
3542 | 0 | #line 3543 "ntp_parser.c" |
3543 | 0 | break; |
3544 | | |
3545 | 0 | case 279: /* trap_option_list: %empty */ |
3546 | 0 | #line 1501 "../../ntpd/ntp_parser.y" |
3547 | 0 | { (yyval.Attr_val_fifo) = NULL; } |
3548 | 0 | #line 3549 "ntp_parser.c" |
3549 | 0 | break; |
3550 | | |
3551 | 0 | case 280: /* trap_option_list: trap_option_list trap_option */ |
3552 | 0 | #line 1503 "../../ntpd/ntp_parser.y" |
3553 | 0 | { |
3554 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
3555 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3556 | 0 | } |
3557 | 0 | #line 3558 "ntp_parser.c" |
3558 | 0 | break; |
3559 | | |
3560 | 0 | case 281: /* trap_option: T_Port T_Integer */ |
3561 | 0 | #line 1511 "../../ntpd/ntp_parser.y" |
3562 | 0 | { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } |
3563 | 0 | #line 3564 "ntp_parser.c" |
3564 | 0 | break; |
3565 | | |
3566 | 0 | case 282: /* trap_option: T_Interface ip_address */ |
3567 | 0 | #line 1513 "../../ntpd/ntp_parser.y" |
3568 | 0 | { |
3569 | 0 | (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), estrdup((yyvsp[0].Address_node)->address)); |
3570 | 0 | destroy_address_node((yyvsp[0].Address_node)); |
3571 | 0 | } |
3572 | 0 | #line 3573 "ntp_parser.c" |
3573 | 0 | break; |
3574 | | |
3575 | 0 | case 283: /* log_config_list: log_config_list log_config_command */ |
3576 | 0 | #line 1521 "../../ntpd/ntp_parser.y" |
3577 | 0 | { |
3578 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
3579 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3580 | 0 | } |
3581 | 0 | #line 3582 "ntp_parser.c" |
3582 | 0 | break; |
3583 | | |
3584 | 0 | case 284: /* log_config_list: log_config_command */ |
3585 | 0 | #line 1526 "../../ntpd/ntp_parser.y" |
3586 | 0 | { |
3587 | 0 | (yyval.Attr_val_fifo) = NULL; |
3588 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3589 | 0 | } |
3590 | 0 | #line 3591 "ntp_parser.c" |
3591 | 0 | break; |
3592 | | |
3593 | 0 | case 285: /* log_config_command: T_String */ |
3594 | 0 | #line 1534 "../../ntpd/ntp_parser.y" |
3595 | 0 | { |
3596 | 0 | char prefix; |
3597 | 0 | char * type; |
3598 | |
|
3599 | 0 | switch ((yyvsp[0].String)[0]) { |
3600 | | |
3601 | 0 | case '+': |
3602 | 0 | case '-': |
3603 | 0 | case '=': |
3604 | 0 | prefix = (yyvsp[0].String)[0]; |
3605 | 0 | type = (yyvsp[0].String) + 1; |
3606 | 0 | break; |
3607 | | |
3608 | 0 | default: |
3609 | 0 | prefix = '='; |
3610 | 0 | type = (yyvsp[0].String); |
3611 | 0 | } |
3612 | | |
3613 | 0 | (yyval.Attr_val) = create_attr_sval(prefix, estrdup(type)); |
3614 | 0 | YYFREE((yyvsp[0].String)); |
3615 | 0 | } |
3616 | 0 | #line 3617 "ntp_parser.c" |
3617 | 0 | break; |
3618 | | |
3619 | 0 | case 286: /* interface_command: interface_nic nic_rule_action nic_rule_class */ |
3620 | 0 | #line 1559 "../../ntpd/ntp_parser.y" |
3621 | 0 | { |
3622 | 0 | nic_rule_node *nrn; |
3623 | |
|
3624 | 0 | nrn = create_nic_rule_node((yyvsp[0].Integer), NULL, (yyvsp[-1].Integer)); |
3625 | 0 | APPEND_G_FIFO(cfgt.nic_rules, nrn); |
3626 | 0 | } |
3627 | 0 | #line 3628 "ntp_parser.c" |
3628 | 0 | break; |
3629 | | |
3630 | 0 | case 287: /* interface_command: interface_nic nic_rule_action T_String */ |
3631 | 0 | #line 1566 "../../ntpd/ntp_parser.y" |
3632 | 0 | { |
3633 | 0 | nic_rule_node *nrn; |
3634 | |
|
3635 | 0 | nrn = create_nic_rule_node(0, (yyvsp[0].String), (yyvsp[-1].Integer)); |
3636 | 0 | APPEND_G_FIFO(cfgt.nic_rules, nrn); |
3637 | 0 | } |
3638 | 0 | #line 3639 "ntp_parser.c" |
3639 | 0 | break; |
3640 | | |
3641 | 0 | case 297: /* reset_command: T_Reset counter_set_list */ |
3642 | 0 | #line 1594 "../../ntpd/ntp_parser.y" |
3643 | 0 | { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[0].Int_fifo)); } |
3644 | 0 | #line 3645 "ntp_parser.c" |
3645 | 0 | break; |
3646 | | |
3647 | 0 | case 298: /* counter_set_list: counter_set_list counter_set_keyword */ |
3648 | 0 | #line 1599 "../../ntpd/ntp_parser.y" |
3649 | 0 | { |
3650 | 0 | (yyval.Int_fifo) = (yyvsp[-1].Int_fifo); |
3651 | 0 | APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); |
3652 | 0 | } |
3653 | 0 | #line 3654 "ntp_parser.c" |
3654 | 0 | break; |
3655 | | |
3656 | 0 | case 299: /* counter_set_list: counter_set_keyword */ |
3657 | 0 | #line 1604 "../../ntpd/ntp_parser.y" |
3658 | 0 | { |
3659 | 0 | (yyval.Int_fifo) = NULL; |
3660 | 0 | APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); |
3661 | 0 | } |
3662 | 0 | #line 3663 "ntp_parser.c" |
3663 | 0 | break; |
3664 | | |
3665 | 0 | case 307: /* integer_list: integer_list T_Integer */ |
3666 | 0 | #line 1628 "../../ntpd/ntp_parser.y" |
3667 | 0 | { |
3668 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
3669 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer))); |
3670 | 0 | } |
3671 | 0 | #line 3672 "ntp_parser.c" |
3672 | 0 | break; |
3673 | | |
3674 | 0 | case 308: /* integer_list: T_Integer */ |
3675 | 0 | #line 1633 "../../ntpd/ntp_parser.y" |
3676 | 0 | { |
3677 | 0 | (yyval.Attr_val_fifo) = NULL; |
3678 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer))); |
3679 | 0 | } |
3680 | 0 | #line 3681 "ntp_parser.c" |
3681 | 0 | break; |
3682 | | |
3683 | 0 | case 309: /* integer_list_range: integer_list_range integer_list_range_elt */ |
3684 | 0 | #line 1641 "../../ntpd/ntp_parser.y" |
3685 | 0 | { |
3686 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); |
3687 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3688 | 0 | } |
3689 | 0 | #line 3690 "ntp_parser.c" |
3690 | 0 | break; |
3691 | | |
3692 | 0 | case 310: /* integer_list_range: integer_list_range_elt */ |
3693 | 0 | #line 1646 "../../ntpd/ntp_parser.y" |
3694 | 0 | { |
3695 | 0 | (yyval.Attr_val_fifo) = NULL; |
3696 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); |
3697 | 0 | } |
3698 | 0 | #line 3699 "ntp_parser.c" |
3699 | 0 | break; |
3700 | | |
3701 | 0 | case 311: /* integer_list_range_elt: T_Integer */ |
3702 | 0 | #line 1654 "../../ntpd/ntp_parser.y" |
3703 | 0 | { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[0].Integer)); } |
3704 | 0 | #line 3705 "ntp_parser.c" |
3705 | 0 | break; |
3706 | | |
3707 | 0 | case 313: /* integer_range: '(' T_Integer T_Ellipsis T_Integer ')' */ |
3708 | 0 | #line 1660 "../../ntpd/ntp_parser.y" |
3709 | 0 | { (yyval.Attr_val) = create_attr_rval('-', (yyvsp[-3].Integer), (yyvsp[-1].Integer)); } |
3710 | 0 | #line 3711 "ntp_parser.c" |
3711 | 0 | break; |
3712 | | |
3713 | 0 | case 314: /* string_list: string_list T_String */ |
3714 | 0 | #line 1665 "../../ntpd/ntp_parser.y" |
3715 | 0 | { |
3716 | 0 | (yyval.String_fifo) = (yyvsp[-1].String_fifo); |
3717 | 0 | APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String))); |
3718 | 0 | } |
3719 | 0 | #line 3720 "ntp_parser.c" |
3720 | 0 | break; |
3721 | | |
3722 | 0 | case 315: /* string_list: T_String */ |
3723 | 0 | #line 1670 "../../ntpd/ntp_parser.y" |
3724 | 0 | { |
3725 | 0 | (yyval.String_fifo) = NULL; |
3726 | 0 | APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String))); |
3727 | 0 | } |
3728 | 0 | #line 3729 "ntp_parser.c" |
3729 | 0 | break; |
3730 | | |
3731 | 0 | case 316: /* address_list: address_list address */ |
3732 | 0 | #line 1678 "../../ntpd/ntp_parser.y" |
3733 | 0 | { |
3734 | 0 | (yyval.Address_fifo) = (yyvsp[-1].Address_fifo); |
3735 | 0 | APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node)); |
3736 | 0 | } |
3737 | 0 | #line 3738 "ntp_parser.c" |
3738 | 0 | break; |
3739 | | |
3740 | 0 | case 317: /* address_list: address */ |
3741 | 0 | #line 1683 "../../ntpd/ntp_parser.y" |
3742 | 0 | { |
3743 | 0 | (yyval.Address_fifo) = NULL; |
3744 | 0 | APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node)); |
3745 | 0 | } |
3746 | 0 | #line 3747 "ntp_parser.c" |
3747 | 0 | break; |
3748 | | |
3749 | 0 | case 318: /* boolean: T_Integer */ |
3750 | 0 | #line 1691 "../../ntpd/ntp_parser.y" |
3751 | 0 | { |
3752 | 0 | if ((yyvsp[0].Integer) != 0 && (yyvsp[0].Integer) != 1) { |
3753 | 0 | yyerror("Integer value is not boolean (0 or 1). Assuming 1"); |
3754 | 0 | (yyval.Integer) = 1; |
3755 | 0 | } else { |
3756 | 0 | (yyval.Integer) = (yyvsp[0].Integer); |
3757 | 0 | } |
3758 | 0 | } |
3759 | 0 | #line 3760 "ntp_parser.c" |
3760 | 0 | break; |
3761 | | |
3762 | 0 | case 319: /* boolean: T_True */ |
3763 | 0 | #line 1699 "../../ntpd/ntp_parser.y" |
3764 | 0 | { (yyval.Integer) = 1; } |
3765 | 0 | #line 3766 "ntp_parser.c" |
3766 | 0 | break; |
3767 | | |
3768 | 0 | case 320: /* boolean: T_False */ |
3769 | 0 | #line 1700 "../../ntpd/ntp_parser.y" |
3770 | 0 | { (yyval.Integer) = 0; } |
3771 | 0 | #line 3772 "ntp_parser.c" |
3772 | 0 | break; |
3773 | | |
3774 | 0 | case 321: /* number: T_Integer */ |
3775 | 0 | #line 1704 "../../ntpd/ntp_parser.y" |
3776 | 0 | { (yyval.Double) = (double)(yyvsp[0].Integer); } |
3777 | 0 | #line 3778 "ntp_parser.c" |
3778 | 0 | break; |
3779 | | |
3780 | 0 | case 323: /* basedate: T_Basedate T_String */ |
3781 | 0 | #line 1710 "../../ntpd/ntp_parser.y" |
3782 | 0 | { (yyval.Integer) = basedate_eval_string((yyvsp[0].String)); YYFREE((yyvsp[0].String)); } |
3783 | 0 | #line 3784 "ntp_parser.c" |
3784 | 0 | break; |
3785 | | |
3786 | 0 | case 324: /* simulate_command: sim_conf_start '{' sim_init_statement_list sim_server_list '}' */ |
3787 | 0 | #line 1718 "../../ntpd/ntp_parser.y" |
3788 | 0 | { |
3789 | 0 | sim_node *sn; |
3790 | |
|
3791 | 0 | sn = create_sim_node((yyvsp[-2].Attr_val_fifo), (yyvsp[-1].Sim_server_fifo)); |
3792 | 0 | APPEND_G_FIFO(cfgt.sim_details, sn); |
3793 | | |
3794 | | /* Revert from ; to \n for end-of-command */ |
3795 | 0 | old_config_style = 1; |
3796 | 0 | } |
3797 | 0 | #line 3798 "ntp_parser.c" |
3798 | 0 | break; |
3799 | | |
3800 | 0 | case 325: /* sim_conf_start: T_Simulate */ |
3801 | 0 | #line 1735 "../../ntpd/ntp_parser.y" |
3802 | 0 | { old_config_style = 0; } |
3803 | 0 | #line 3804 "ntp_parser.c" |
3804 | 0 | break; |
3805 | | |
3806 | 0 | case 326: /* sim_init_statement_list: sim_init_statement_list sim_init_statement T_EOC */ |
3807 | 0 | #line 1740 "../../ntpd/ntp_parser.y" |
3808 | 0 | { |
3809 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo); |
3810 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); |
3811 | 0 | } |
3812 | 0 | #line 3813 "ntp_parser.c" |
3813 | 0 | break; |
3814 | | |
3815 | 0 | case 327: /* sim_init_statement_list: sim_init_statement T_EOC */ |
3816 | 0 | #line 1745 "../../ntpd/ntp_parser.y" |
3817 | 0 | { |
3818 | 0 | (yyval.Attr_val_fifo) = NULL; |
3819 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); |
3820 | 0 | } |
3821 | 0 | #line 3822 "ntp_parser.c" |
3822 | 0 | break; |
3823 | | |
3824 | 0 | case 328: /* sim_init_statement: sim_init_keyword '=' number */ |
3825 | 0 | #line 1753 "../../ntpd/ntp_parser.y" |
3826 | 0 | { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); } |
3827 | 0 | #line 3828 "ntp_parser.c" |
3828 | 0 | break; |
3829 | | |
3830 | 0 | case 331: /* sim_server_list: sim_server_list sim_server */ |
3831 | 0 | #line 1763 "../../ntpd/ntp_parser.y" |
3832 | 0 | { |
3833 | 0 | (yyval.Sim_server_fifo) = (yyvsp[-1].Sim_server_fifo); |
3834 | 0 | APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server)); |
3835 | 0 | } |
3836 | 0 | #line 3837 "ntp_parser.c" |
3837 | 0 | break; |
3838 | | |
3839 | 0 | case 332: /* sim_server_list: sim_server */ |
3840 | 0 | #line 1768 "../../ntpd/ntp_parser.y" |
3841 | 0 | { |
3842 | 0 | (yyval.Sim_server_fifo) = NULL; |
3843 | 0 | APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server)); |
3844 | 0 | } |
3845 | 0 | #line 3846 "ntp_parser.c" |
3846 | 0 | break; |
3847 | | |
3848 | 0 | case 333: /* sim_server: sim_server_name '{' sim_server_offset sim_act_list '}' */ |
3849 | 0 | #line 1776 "../../ntpd/ntp_parser.y" |
3850 | 0 | { (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[-4].Address_node), (yyvsp[-2].Double), (yyvsp[-1].Sim_script_fifo))); } |
3851 | 0 | #line 3852 "ntp_parser.c" |
3852 | 0 | break; |
3853 | | |
3854 | 0 | case 334: /* sim_server_offset: T_Server_Offset '=' number T_EOC */ |
3855 | 0 | #line 1781 "../../ntpd/ntp_parser.y" |
3856 | 0 | { (yyval.Double) = (yyvsp[-1].Double); } |
3857 | 0 | #line 3858 "ntp_parser.c" |
3858 | 0 | break; |
3859 | | |
3860 | 0 | case 335: /* sim_server_name: T_Server '=' address */ |
3861 | 0 | #line 1786 "../../ntpd/ntp_parser.y" |
3862 | 0 | { (yyval.Address_node) = (yyvsp[0].Address_node); } |
3863 | 0 | #line 3864 "ntp_parser.c" |
3864 | 0 | break; |
3865 | | |
3866 | 0 | case 336: /* sim_act_list: sim_act_list sim_act */ |
3867 | 0 | #line 1791 "../../ntpd/ntp_parser.y" |
3868 | 0 | { |
3869 | 0 | (yyval.Sim_script_fifo) = (yyvsp[-1].Sim_script_fifo); |
3870 | 0 | APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script)); |
3871 | 0 | } |
3872 | 0 | #line 3873 "ntp_parser.c" |
3873 | 0 | break; |
3874 | | |
3875 | 0 | case 337: /* sim_act_list: sim_act */ |
3876 | 0 | #line 1796 "../../ntpd/ntp_parser.y" |
3877 | 0 | { |
3878 | 0 | (yyval.Sim_script_fifo) = NULL; |
3879 | 0 | APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script)); |
3880 | 0 | } |
3881 | 0 | #line 3882 "ntp_parser.c" |
3882 | 0 | break; |
3883 | | |
3884 | 0 | case 338: /* sim_act: T_Duration '=' number '{' sim_act_stmt_list '}' */ |
3885 | 0 | #line 1804 "../../ntpd/ntp_parser.y" |
3886 | 0 | { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[-3].Double), (yyvsp[-1].Attr_val_fifo))); } |
3887 | 0 | #line 3888 "ntp_parser.c" |
3888 | 0 | break; |
3889 | | |
3890 | 0 | case 339: /* sim_act_stmt_list: sim_act_stmt_list sim_act_stmt T_EOC */ |
3891 | 0 | #line 1809 "../../ntpd/ntp_parser.y" |
3892 | 0 | { |
3893 | 0 | (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo); |
3894 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); |
3895 | 0 | } |
3896 | 0 | #line 3897 "ntp_parser.c" |
3897 | 0 | break; |
3898 | | |
3899 | 0 | case 340: /* sim_act_stmt_list: sim_act_stmt T_EOC */ |
3900 | 0 | #line 1814 "../../ntpd/ntp_parser.y" |
3901 | 0 | { |
3902 | 0 | (yyval.Attr_val_fifo) = NULL; |
3903 | 0 | APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); |
3904 | 0 | } |
3905 | 0 | #line 3906 "ntp_parser.c" |
3906 | 0 | break; |
3907 | | |
3908 | 0 | case 341: /* sim_act_stmt: sim_act_keyword '=' number */ |
3909 | 0 | #line 1822 "../../ntpd/ntp_parser.y" |
3910 | 0 | { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); } |
3911 | 0 | #line 3912 "ntp_parser.c" |
3912 | 0 | break; |
3913 | | |
3914 | | |
3915 | 0 | #line 3916 "ntp_parser.c" |
3916 | | |
3917 | 0 | default: break; |
3918 | 0 | } |
3919 | | /* User semantic actions sometimes alter yychar, and that requires |
3920 | | that yytoken be updated with the new translation. We take the |
3921 | | approach of translating immediately before every use of yytoken. |
3922 | | One alternative is translating here after every semantic action, |
3923 | | but that translation would be missed if the semantic action invokes |
3924 | | YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or |
3925 | | if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an |
3926 | | incorrect destructor might then be invoked immediately. In the |
3927 | | case of YYERROR or YYBACKUP, subsequent parser actions might lead |
3928 | | to an incorrect destructor call or verbose syntax error message |
3929 | | before the lookahead is translated. */ |
3930 | 0 | YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc); |
3931 | |
|
3932 | 0 | YYPOPSTACK (yylen); |
3933 | 0 | yylen = 0; |
3934 | |
|
3935 | 0 | *++yyvsp = yyval; |
3936 | | |
3937 | | /* Now 'shift' the result of the reduction. Determine what state |
3938 | | that goes to, based on the state we popped back to and the rule |
3939 | | number reduced by. */ |
3940 | 0 | { |
3941 | 0 | const int yylhs = yyr1[yyn] - YYNTOKENS; |
3942 | 0 | const int yyi = yypgoto[yylhs] + *yyssp; |
3943 | 0 | yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp |
3944 | 0 | ? yytable[yyi] |
3945 | 0 | : yydefgoto[yylhs]); |
3946 | 0 | } |
3947 | |
|
3948 | 0 | goto yynewstate; |
3949 | | |
3950 | | |
3951 | | /*--------------------------------------. |
3952 | | | yyerrlab -- here on detecting error. | |
3953 | | `--------------------------------------*/ |
3954 | 0 | yyerrlab: |
3955 | | /* Make sure we have latest lookahead translation. See comments at |
3956 | | user semantic actions for why this is necessary. */ |
3957 | 0 | yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar); |
3958 | | /* If not already recovering from an error, report this error. */ |
3959 | 0 | if (!yyerrstatus) |
3960 | 0 | { |
3961 | 0 | ++yynerrs; |
3962 | 0 | yyerror (YY_("syntax error")); |
3963 | 0 | } |
3964 | |
|
3965 | 0 | if (yyerrstatus == 3) |
3966 | 0 | { |
3967 | | /* If just tried and failed to reuse lookahead token after an |
3968 | | error, discard it. */ |
3969 | |
|
3970 | 0 | if (yychar <= YYEOF) |
3971 | 0 | { |
3972 | | /* Return failure if at end of input. */ |
3973 | 0 | if (yychar == YYEOF) |
3974 | 0 | YYABORT; |
3975 | 0 | } |
3976 | 0 | else |
3977 | 0 | { |
3978 | 0 | yydestruct ("Error: discarding", |
3979 | 0 | yytoken, &yylval); |
3980 | 0 | yychar = YYEMPTY; |
3981 | 0 | } |
3982 | 0 | } |
3983 | | |
3984 | | /* Else will try to reuse lookahead token after shifting the error |
3985 | | token. */ |
3986 | 0 | goto yyerrlab1; |
3987 | | |
3988 | | |
3989 | | /*---------------------------------------------------. |
3990 | | | yyerrorlab -- error raised explicitly by YYERROR. | |
3991 | | `---------------------------------------------------*/ |
3992 | 0 | yyerrorlab: |
3993 | | /* Pacify compilers when the user code never invokes YYERROR and the |
3994 | | label yyerrorlab therefore never appears in user code. */ |
3995 | 0 | if (0) |
3996 | 0 | YYERROR; |
3997 | 0 | ++yynerrs; |
3998 | | |
3999 | | /* Do not reclaim the symbols of the rule whose action triggered |
4000 | | this YYERROR. */ |
4001 | 0 | YYPOPSTACK (yylen); |
4002 | 0 | yylen = 0; |
4003 | 0 | YY_STACK_PRINT (yyss, yyssp); |
4004 | 0 | yystate = *yyssp; |
4005 | 0 | goto yyerrlab1; |
4006 | | |
4007 | | |
4008 | | /*-------------------------------------------------------------. |
4009 | | | yyerrlab1 -- common code for both syntax error and YYERROR. | |
4010 | | `-------------------------------------------------------------*/ |
4011 | 0 | yyerrlab1: |
4012 | 0 | yyerrstatus = 3; /* Each real token shifted decrements this. */ |
4013 | | |
4014 | | /* Pop stack until we find a state that shifts the error token. */ |
4015 | 0 | for (;;) |
4016 | 0 | { |
4017 | 0 | yyn = yypact[yystate]; |
4018 | 0 | if (!yypact_value_is_default (yyn)) |
4019 | 0 | { |
4020 | 0 | yyn += YYSYMBOL_YYerror; |
4021 | 0 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) |
4022 | 0 | { |
4023 | 0 | yyn = yytable[yyn]; |
4024 | 0 | if (0 < yyn) |
4025 | 0 | break; |
4026 | 0 | } |
4027 | 0 | } |
4028 | | |
4029 | | /* Pop the current state because it cannot handle the error token. */ |
4030 | 0 | if (yyssp == yyss) |
4031 | 0 | YYABORT; |
4032 | | |
4033 | | |
4034 | 0 | yydestruct ("Error: popping", |
4035 | 0 | YY_ACCESSING_SYMBOL (yystate), yyvsp); |
4036 | 0 | YYPOPSTACK (1); |
4037 | 0 | yystate = *yyssp; |
4038 | 0 | YY_STACK_PRINT (yyss, yyssp); |
4039 | 0 | } |
4040 | | |
4041 | 0 | YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
4042 | 0 | *++yyvsp = yylval; |
4043 | 0 | YY_IGNORE_MAYBE_UNINITIALIZED_END |
4044 | | |
4045 | | |
4046 | | /* Shift the error token. */ |
4047 | 0 | YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp); |
4048 | |
|
4049 | 0 | yystate = yyn; |
4050 | 0 | goto yynewstate; |
4051 | | |
4052 | | |
4053 | | /*-------------------------------------. |
4054 | | | yyacceptlab -- YYACCEPT comes here. | |
4055 | | `-------------------------------------*/ |
4056 | 0 | yyacceptlab: |
4057 | 0 | yyresult = 0; |
4058 | 0 | goto yyreturnlab; |
4059 | | |
4060 | | |
4061 | | /*-----------------------------------. |
4062 | | | yyabortlab -- YYABORT comes here. | |
4063 | | `-----------------------------------*/ |
4064 | 0 | yyabortlab: |
4065 | 0 | yyresult = 1; |
4066 | 0 | goto yyreturnlab; |
4067 | | |
4068 | | |
4069 | | /*-----------------------------------------------------------. |
4070 | | | yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. | |
4071 | | `-----------------------------------------------------------*/ |
4072 | 0 | yyexhaustedlab: |
4073 | 0 | yyerror (YY_("memory exhausted")); |
4074 | 0 | yyresult = 2; |
4075 | 0 | goto yyreturnlab; |
4076 | | |
4077 | | |
4078 | | /*----------------------------------------------------------. |
4079 | | | yyreturnlab -- parsing is finished, clean up and return. | |
4080 | | `----------------------------------------------------------*/ |
4081 | 0 | yyreturnlab: |
4082 | 0 | if (yychar != YYEMPTY) |
4083 | 0 | { |
4084 | | /* Make sure we have latest lookahead translation. See comments at |
4085 | | user semantic actions for why this is necessary. */ |
4086 | 0 | yytoken = YYTRANSLATE (yychar); |
4087 | 0 | yydestruct ("Cleanup: discarding lookahead", |
4088 | 0 | yytoken, &yylval); |
4089 | 0 | } |
4090 | | /* Do not reclaim the symbols of the rule whose action triggered |
4091 | | this YYABORT or YYACCEPT. */ |
4092 | 0 | YYPOPSTACK (yylen); |
4093 | 0 | YY_STACK_PRINT (yyss, yyssp); |
4094 | 0 | while (yyssp != yyss) |
4095 | 0 | { |
4096 | 0 | yydestruct ("Cleanup: popping", |
4097 | 0 | YY_ACCESSING_SYMBOL (+*yyssp), yyvsp); |
4098 | 0 | YYPOPSTACK (1); |
4099 | 0 | } |
4100 | 0 | #ifndef yyoverflow |
4101 | 0 | if (yyss != yyssa) |
4102 | 0 | YYSTACK_FREE (yyss); |
4103 | 0 | #endif |
4104 | |
|
4105 | 0 | return yyresult; |
4106 | 0 | } |
4107 | | |
4108 | | #line 1833 "../../ntpd/ntp_parser.y" |
4109 | | |
4110 | | |
4111 | | void |
4112 | | yyerror( |
4113 | | const char *msg |
4114 | | ) |
4115 | 0 | { |
4116 | 0 | int retval; |
4117 | 0 | struct FILE_INFO * ip_ctx; |
4118 | |
|
4119 | 0 | ip_ctx = lex_current(); |
4120 | 0 | ip_ctx->errpos = ip_ctx->tokpos; |
4121 | |
|
4122 | 0 | msyslog(LOG_ERR, "line %d column %d %s", |
4123 | 0 | ip_ctx->errpos.nline, ip_ctx->errpos.ncol, msg); |
4124 | 0 | if (!lex_from_file()) { |
4125 | | /* Save the error message in the correct buffer */ |
4126 | 0 | retval = snprintf(remote_config.err_msg + remote_config.err_pos, |
4127 | 0 | sizeof remote_config.err_msg - remote_config.err_pos, |
4128 | 0 | "column %d %s", |
4129 | 0 | ip_ctx->errpos.ncol, msg); |
4130 | | |
4131 | | /* Increment the value of err_pos */ |
4132 | 0 | if (retval > 0) |
4133 | 0 | remote_config.err_pos += retval; |
4134 | | |
4135 | | /* Increment the number of errors */ |
4136 | 0 | ++remote_config.no_errors; |
4137 | 0 | } |
4138 | 0 | } |
4139 | | |
4140 | | |
4141 | | /* |
4142 | | * token_name - convert T_ token integers to text |
4143 | | * example: token_name(T_Server) returns "T_Server" |
4144 | | */ |
4145 | | const char * |
4146 | | token_name( |
4147 | | int token |
4148 | | ) |
4149 | 0 | { |
4150 | 0 | return yytname[YYTRANSLATE(token)]; |
4151 | 0 | } |
4152 | | |
4153 | | |
4154 | | /* Initial Testing function -- ignore */ |
4155 | | #if 0 |
4156 | | int main(int argc, char *argv[]) |
4157 | | { |
4158 | | ip_file = FOPEN(argv[1], "r"); |
4159 | | if (!ip_file) |
4160 | | fprintf(stderr, "ERROR!! Could not open file: %s\n", argv[1]); |
4161 | | yyparse(); |
4162 | | return 0; |
4163 | | } |
4164 | | #endif |
4165 | | |