1d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/* A Bison parser, made by GNU Bison 3.0.2.  */
2aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Bison implementation for Yacc-like parsers in C
4d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
5d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes   Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
7aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   This program is free software: you can redistribute it and/or modify
8aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   it under the terms of the GNU General Public License as published by
9aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   the Free Software Foundation, either version 3 of the License, or
10aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   (at your option) any later version.
11d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
12aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   This program is distributed in the hope that it will be useful,
13aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   but WITHOUT ANY WARRANTY; without even the implied warranty of
14aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   GNU General Public License for more details.
16d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
17aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   You should have received a copy of the GNU General Public License
18aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
20aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* As a special exception, you may create a larger work that contains
21aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   part or all of the Bison parser skeleton and distribute that work
22aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   under terms of your choice, so long as that work isn't itself a
23aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   parser generator using the skeleton or a modified version thereof
24aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   as a parser skeleton.  Alternatively, if you modify or redistribute
25aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   the parser skeleton itself, you may (at your option) remove this
26aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   special exception, which will cause the skeleton and the resulting
27aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   Bison output files to be licensed under the GNU General Public
28aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   License without this special exception.
29d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
30aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   This special exception was added by the Free Software Foundation in
31aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   version 2.2 of Bison.  */
32aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
33aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* C LALR(1) parser skeleton written by Richard Stallman, by
34aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   simplifying the original so-called "semantic" parser.  */
35aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
36aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* All symbols defined below should begin with yy or YY, to avoid
37aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   infringing on user name space.  This should be done even for local
38aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   variables, as they might otherwise be expanded by user macros.
39aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   There are some unavoidable exceptions within include files to
40aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   define necessary library symbols; they are noted "INFRINGES ON
41aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   USER NAME SPACE" below.  */
42aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
43aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Identify Bison output.  */
44aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYBISON 1
45aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
46aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Bison version.  */
47d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYBISON_VERSION "3.0.2"
48aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
49aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Skeleton name.  */
50aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYSKELETON_NAME "yacc.c"
51aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
52aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Pure parsers.  */
53965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#define YYPURE 1
54aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
55aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Push parsers.  */
56aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYPUSH 0
57aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
58aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Pull parsers.  */
59aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYPULL 1
60aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
61aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
62aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Substitute the variable and function names.  */
63aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define yyparse         pcap_parse
64aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define yylex           pcap_lex
65aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define yyerror         pcap_error
66aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define yydebug         pcap_debug
67aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define yynerrs         pcap_nerrs
68aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
69aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
70aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Copy the first part of user declarations.  */
71965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 26 "grammar.y" /* yacc.c:339  */
72aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
73aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*
74aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996
75aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall *	The Regents of the University of California.  All rights reserved.
76aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall *
77aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * Redistribution and use in source and binary forms, with or without
78aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * modification, are permitted provided that: (1) source code distributions
79aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * retain the above copyright notice and this paragraph in its entirety, (2)
80aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * distributions including binary code include the above copyright notice and
81aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * this paragraph in its entirety in the documentation or other materials
82aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * provided with the distribution, and (3) all advertising materials mentioning
83aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * features or use of this software display the following acknowledgement:
84aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * ``This product includes software developed by the University of California,
85aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
86aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * the University nor the names of its contributors may be used to endorse
87aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * or promote products derived from this software without specific prior
88aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * written permission.
89aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
90aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
91aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
92aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall *
93aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall */
94aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
95aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef HAVE_CONFIG_H
96aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include "config.h"
97aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
98aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
99965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#ifdef _WIN32
100aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <pcap-stdinc.h>
101965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#else /* _WIN32 */
102aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <sys/types.h>
103aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <sys/socket.h>
104965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#endif /* _WIN32 */
105aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
106aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <stdlib.h>
107aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
108965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#ifndef _WIN32
109aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if __STDC__
110aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstruct mbuf;
111aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstruct rtentry;
112aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
113aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
114aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <netinet/in.h>
115aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <arpa/inet.h>
116965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#endif /* _WIN32 */
117aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
118aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <stdio.h>
119aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
120aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include "pcap-int.h"
121aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
122aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include "gencode.h"
123965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#include "grammar.h"
124965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#include "scanner.h"
125965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes
126aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef HAVE_NET_PFVAR_H
127aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <net/if.h>
128aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <net/pfvar.h>
129aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <net/if_pflog.h>
130aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
131d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#include "llc.h"
132aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include "ieee80211.h"
133aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include <pcap/namedb.h>
134aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
135aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef HAVE_OS_PROTO_H
136aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#include "os-proto.h"
137aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
138aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
139aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define QSET(q, p, d, a) (q).proto = (p),\
140aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall			 (q).dir = (d),\
141aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall			 (q).addr = (a)
142aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
143aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstruct tok {
144aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	int v;			/* value */
145aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	const char *s;		/* string */
146aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
147aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
148aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const struct tok ieee80211_types[] = {
149aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_DATA, "data" },
150aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_MGT, "mgt" },
151aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_MGT, "management" },
152aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_CTL, "ctl" },
153aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_CTL, "control" },
154aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ 0, NULL }
155aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
156aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const struct tok ieee80211_mgt_subtypes[] = {
157aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_ASSOC_REQ, "assocreq" },
158aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_ASSOC_REQ, "assoc-req" },
159aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_ASSOC_RESP, "assocresp" },
160aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_ASSOC_RESP, "assoc-resp" },
161aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_REASSOC_REQ, "reassocreq" },
162aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_REASSOC_REQ, "reassoc-req" },
163aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_REASSOC_RESP, "reassocresp" },
164aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_REASSOC_RESP, "reassoc-resp" },
165aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_PROBE_REQ, "probereq" },
166aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_PROBE_REQ, "probe-req" },
167aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_PROBE_RESP, "proberesp" },
168aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_PROBE_RESP, "probe-resp" },
169aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_BEACON, "beacon" },
170aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_ATIM, "atim" },
171aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_DISASSOC, "disassoc" },
172aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_DISASSOC, "disassociation" },
173aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_AUTH, "auth" },
174aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_AUTH, "authentication" },
175aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_DEAUTH, "deauth" },
176aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_DEAUTH, "deauthentication" },
177aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ 0, NULL }
178aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
179aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const struct tok ieee80211_ctl_subtypes[] = {
180aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_PS_POLL, "ps-poll" },
181aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_RTS, "rts" },
182aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_CTS, "cts" },
183aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_ACK, "ack" },
184aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_CF_END, "cf-end" },
185aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_CF_END_ACK, "cf-end-ack" },
186aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ 0, NULL }
187aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
188aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const struct tok ieee80211_data_subtypes[] = {
189aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_DATA, "data" },
190aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_CF_ACK, "data-cf-ack" },
191aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_CF_POLL, "data-cf-poll" },
192aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_CF_ACPL, "data-cf-ack-poll" },
193aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_NODATA, "null" },
194aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_NODATA_CF_ACK, "cf-ack" },
195aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_NODATA_CF_POLL, "cf-poll"  },
196aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_NODATA_CF_ACPL, "cf-ack-poll" },
197aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_SUBTYPE_DATA, "qos-data" },
198aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_SUBTYPE_CF_ACK, "qos-data-cf-ack" },
199aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_SUBTYPE_CF_POLL, "qos-data-cf-poll" },
200aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_SUBTYPE_CF_ACPL, "qos-data-cf-ack-poll" },
201aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_SUBTYPE_NODATA, "qos" },
202aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_SUBTYPE_NODATA_CF_POLL, "qos-cf-poll" },
203aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_SUBTYPE_NODATA_CF_ACPL, "qos-cf-ack-poll" },
204aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ 0, NULL }
205aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
206d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughesstatic const struct tok llc_s_subtypes[] = {
207d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes	{ LLC_RR, "rr" },
208d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes	{ LLC_RNR, "rnr" },
209d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes	{ LLC_REJ, "rej" },
210d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes	{ 0, NULL }
211d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes};
212d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughesstatic const struct tok llc_u_subtypes[] = {
213d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes	{ LLC_UI, "ui" },
214d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes	{ LLC_UA, "ua" },
215d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes	{ LLC_DISC, "disc" },
216d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes	{ LLC_DM, "dm" },
217d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes	{ LLC_SABME, "sabme" },
218d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes	{ LLC_TEST, "test" },
219d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes	{ LLC_XID, "xid" },
220d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes	{ LLC_FRMR, "frmr" },
221d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes	{ 0, NULL }
222d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes};
223aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstruct type2tok {
224aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	int type;
225aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	const struct tok *tok;
226aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
227aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const struct type2tok ieee80211_type_subtypes[] = {
228aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_MGT, ieee80211_mgt_subtypes },
229aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_CTL, ieee80211_ctl_subtypes },
230aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ IEEE80211_FC0_TYPE_DATA, ieee80211_data_subtypes },
231aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	{ 0, NULL }
232aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
233aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
234aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic int
235aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstr2tok(const char *str, const struct tok *toks)
236aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
237aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	int i;
238aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
239aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	for (i = 0; toks[i].s != NULL; i++) {
240aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		if (pcap_strcasecmp(toks[i].s, str) == 0)
241aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall			return (toks[i].v);
242aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	}
243aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	return (-1);
244aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
245aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
246aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic struct qual qerr = { Q_UNDEF, Q_UNDEF, Q_UNDEF, Q_UNDEF };
247aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
248aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic void
249965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughesyyerror(void *yyscanner, compiler_state_t *cstate, const char *msg)
250aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
251965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes	bpf_syntax_error(cstate, msg);
252aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	/* NOTREACHED */
253aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
254aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
255aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef HAVE_NET_PFVAR_H
256aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic int
257965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughespfreason_to_num(compiler_state_t *cstate, const char *reason)
258aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
259aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	const char *reasons[] = PFRES_NAMES;
260aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	int i;
261aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
262aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	for (i = 0; reasons[i]; i++) {
263aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		if (pcap_strcasecmp(reason, reasons[i]) == 0)
264aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall			return (i);
265aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	}
266965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes	bpf_error(cstate, "unknown PF reason");
267aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	/*NOTREACHED*/
268aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
269aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
270aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic int
271965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughespfaction_to_num(compiler_state_t *cstate, const char *action)
272aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
273aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	if (pcap_strcasecmp(action, "pass") == 0 ||
274aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	    pcap_strcasecmp(action, "accept") == 0)
275aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		return (PF_PASS);
276aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	else if (pcap_strcasecmp(action, "drop") == 0 ||
277aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		pcap_strcasecmp(action, "block") == 0)
278aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		return (PF_DROP);
279aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if HAVE_PF_NAT_THROUGH_PF_NORDR
280aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	else if (pcap_strcasecmp(action, "rdr") == 0)
281aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		return (PF_RDR);
282aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	else if (pcap_strcasecmp(action, "nat") == 0)
283aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		return (PF_NAT);
284aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	else if (pcap_strcasecmp(action, "binat") == 0)
285aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		return (PF_BINAT);
286aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	else if (pcap_strcasecmp(action, "nordr") == 0)
287aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		return (PF_NORDR);
288aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
289aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	else {
290965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes		bpf_error(cstate, "unknown PF action");
291aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		/*NOTREACHED*/
292aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	}
293aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
294aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else /* !HAVE_NET_PFVAR_H */
295aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic int
296965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughespfreason_to_num(compiler_state_t *cstate, const char *reason)
297aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
298965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes	bpf_error(cstate, "libpcap was compiled on a machine without pf support");
299aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	/*NOTREACHED*/
300aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
301aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	/* this is to make the VC compiler happy */
302aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	return -1;
303aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
304aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
305aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic int
306965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughespfaction_to_num(compiler_state_t *cstate, const char *action)
307aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
308965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes	bpf_error(cstate, "libpcap was compiled on a machine without pf support");
309aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	/*NOTREACHED*/
310aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
311aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	/* this is to make the VC compiler happy */
312aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	return -1;
313aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
314aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif /* HAVE_NET_PFVAR_H */
315aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
316965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 317 "grammar.c" /* yacc.c:339  */
317aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
318d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# ifndef YY_NULLPTR
319d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#  if defined __cplusplus && 201103L <= __cplusplus
320d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#   define YY_NULLPTR nullptr
321d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#  else
322d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#   define YY_NULLPTR 0
323d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#  endif
324d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# endif
325aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
326aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Enabling verbose error messages.  */
327aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef YYERROR_VERBOSE
328aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# undef YYERROR_VERBOSE
329aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYERROR_VERBOSE 1
330aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
331aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYERROR_VERBOSE 0
332aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
333aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
334d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/* In a future release of Bison, this section will be replaced
335965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes   by #include "grammar.h".  */
336965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#ifndef YY_PCAP_GRAMMAR_H_INCLUDED
337965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes# define YY_PCAP_GRAMMAR_H_INCLUDED
338d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/* Debug traces.  */
339d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#ifndef YYDEBUG
340d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YYDEBUG 0
341d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#endif
342d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#if YYDEBUG
343d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughesextern int pcap_debug;
344aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
345aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
346d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/* Token type.  */
347aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifndef YYTOKENTYPE
348aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYTOKENTYPE
349d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  enum yytokentype
350d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  {
351d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    DST = 258,
352d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    SRC = 259,
353d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    HOST = 260,
354d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    GATEWAY = 261,
355d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    NET = 262,
356d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    NETMASK = 263,
357d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    PORT = 264,
358d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    PORTRANGE = 265,
359d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    LESS = 266,
360d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    GREATER = 267,
361d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    PROTO = 268,
362d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    PROTOCHAIN = 269,
363d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    CBYTE = 270,
364d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    ARP = 271,
365d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    RARP = 272,
366d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    IP = 273,
367d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    SCTP = 274,
368d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    TCP = 275,
369d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    UDP = 276,
370d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    ICMP = 277,
371d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    IGMP = 278,
372d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    IGRP = 279,
373d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    PIM = 280,
374d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    VRRP = 281,
375d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    CARP = 282,
376d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    ATALK = 283,
377d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    AARP = 284,
378d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    DECNET = 285,
379d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    LAT = 286,
380d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    SCA = 287,
381d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    MOPRC = 288,
382d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    MOPDL = 289,
383d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    TK_BROADCAST = 290,
384d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    TK_MULTICAST = 291,
385d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    NUM = 292,
386d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    INBOUND = 293,
387d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    OUTBOUND = 294,
388d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    PF_IFNAME = 295,
389d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    PF_RSET = 296,
390d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    PF_RNR = 297,
391d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    PF_SRNR = 298,
392d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    PF_REASON = 299,
393d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    PF_ACTION = 300,
394d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    TYPE = 301,
395d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    SUBTYPE = 302,
396d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    DIR = 303,
397d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    ADDR1 = 304,
398d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    ADDR2 = 305,
399d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    ADDR3 = 306,
400d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    ADDR4 = 307,
401d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    RA = 308,
402d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    TA = 309,
403d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    LINK = 310,
404d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    GEQ = 311,
405d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    LEQ = 312,
406d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    NEQ = 313,
407d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    ID = 314,
408d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    EID = 315,
409d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    HID = 316,
410d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    HID6 = 317,
411d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    AID = 318,
412d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    LSH = 319,
413d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    RSH = 320,
414d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    LEN = 321,
415d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    IPV6 = 322,
416d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    ICMPV6 = 323,
417d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    AH = 324,
418d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    ESP = 325,
419d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    VLAN = 326,
420d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    MPLS = 327,
421d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    PPPOED = 328,
422d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    PPPOES = 329,
423d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    GENEVE = 330,
424d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    ISO = 331,
425d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    ESIS = 332,
426d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    CLNP = 333,
427d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    ISIS = 334,
428d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    L1 = 335,
429d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    L2 = 336,
430d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    IIH = 337,
431d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    LSP = 338,
432d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    SNP = 339,
433d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    CSNP = 340,
434d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    PSNP = 341,
435d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    STP = 342,
436d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    IPX = 343,
437d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    NETBEUI = 344,
438d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    LANE = 345,
439d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    LLC = 346,
440d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    METAC = 347,
441d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    BCC = 348,
442d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    SC = 349,
443d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    ILMIC = 350,
444d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    OAMF4EC = 351,
445d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    OAMF4SC = 352,
446d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    OAM = 353,
447d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    OAMF4 = 354,
448d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    CONNECTMSG = 355,
449d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    METACONNECT = 356,
450d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    VPI = 357,
451d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    VCI = 358,
452d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    RADIO = 359,
453d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    FISU = 360,
454d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    LSSU = 361,
455d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    MSU = 362,
456d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    HFISU = 363,
457d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    HLSSU = 364,
458d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    HMSU = 365,
459d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    SIO = 366,
460d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    OPC = 367,
461d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    DPC = 368,
462d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    SLS = 369,
463d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    HSIO = 370,
464d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    HOPC = 371,
465d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    HDPC = 372,
466d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    HSLS = 373,
467d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    OR = 374,
468d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    AND = 375,
469d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    UMINUS = 376
470d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  };
471aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
472aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Tokens.  */
473aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define DST 258
474aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define SRC 259
475aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define HOST 260
476aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define GATEWAY 261
477aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define NET 262
478aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define NETMASK 263
479aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PORT 264
480aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PORTRANGE 265
481aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LESS 266
482aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define GREATER 267
483aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PROTO 268
484aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PROTOCHAIN 269
485aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define CBYTE 270
486aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ARP 271
487aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define RARP 272
488aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define IP 273
489aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define SCTP 274
490aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define TCP 275
491aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define UDP 276
492aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ICMP 277
493aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define IGMP 278
494aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define IGRP 279
495aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PIM 280
496aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define VRRP 281
497aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define CARP 282
498aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ATALK 283
499aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define AARP 284
500aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define DECNET 285
501aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LAT 286
502aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define SCA 287
503aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define MOPRC 288
504aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define MOPDL 289
505aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define TK_BROADCAST 290
506aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define TK_MULTICAST 291
507aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define NUM 292
508aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define INBOUND 293
509aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define OUTBOUND 294
510aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PF_IFNAME 295
511aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PF_RSET 296
512aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PF_RNR 297
513aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PF_SRNR 298
514aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PF_REASON 299
515aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PF_ACTION 300
516aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define TYPE 301
517aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define SUBTYPE 302
518aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define DIR 303
519aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ADDR1 304
520aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ADDR2 305
521aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ADDR3 306
522aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ADDR4 307
523aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define RA 308
524aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define TA 309
525aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LINK 310
526aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define GEQ 311
527aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LEQ 312
528aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define NEQ 313
529aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ID 314
530aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define EID 315
531aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define HID 316
532aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define HID6 317
533aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define AID 318
534aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LSH 319
535aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define RSH 320
536aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define LEN 321
537aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define IPV6 322
538aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ICMPV6 323
539aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define AH 324
540aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define ESP 325
541aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define VLAN 326
542aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define MPLS 327
543aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PPPOED 328
544aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define PPPOES 329
545d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define GENEVE 330
546d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define ISO 331
547d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define ESIS 332
548d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define CLNP 333
549d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define ISIS 334
550d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define L1 335
551d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define L2 336
552d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define IIH 337
553d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define LSP 338
554d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define SNP 339
555d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define CSNP 340
556d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define PSNP 341
557d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define STP 342
558d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define IPX 343
559d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define NETBEUI 344
560d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define LANE 345
561d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define LLC 346
562d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define METAC 347
563d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define BCC 348
564d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define SC 349
565d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define ILMIC 350
566d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define OAMF4EC 351
567d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define OAMF4SC 352
568d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define OAM 353
569d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define OAMF4 354
570d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define CONNECTMSG 355
571d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define METACONNECT 356
572d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define VPI 357
573d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define VCI 358
574d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define RADIO 359
575d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define FISU 360
576d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define LSSU 361
577d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define MSU 362
578d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define HFISU 363
579d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define HLSSU 364
580d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define HMSU 365
581d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define SIO 366
582d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define OPC 367
583d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define DPC 368
584d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define SLS 369
585d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define HSIO 370
586d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define HOPC 371
587d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define HDPC 372
588d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define HSLS 373
589aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define OR 374
590d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define AND 375
591d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define UMINUS 376
592aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
593d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/* Value type.  */
594aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
595d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughestypedef union YYSTYPE YYSTYPE;
596d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughesunion YYSTYPE
597aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
598965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 271 "grammar.y" /* yacc.c:355  */
599aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
600aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	int i;
601aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	bpf_u_int32 h;
602aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	u_char *e;
603aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	char *s;
604aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	struct stmt *stmt;
605aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	struct arth *a;
606aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	struct {
607aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		struct qual q;
608aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		int atmfieldtype;
609aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		int mtp3fieldtype;
610aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall		struct block *b;
611aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	} blk;
612aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	struct block *rblk;
613aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
614965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 615 "grammar.c" /* yacc.c:355  */
615d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes};
616aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYSTYPE_IS_TRIVIAL 1
617aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYSTYPE_IS_DECLARED 1
618aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
619aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
620aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
621d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
622965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughesint pcap_parse (void *yyscanner, compiler_state_t *cstate);
623aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
624965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#endif /* !YY_PCAP_GRAMMAR_H_INCLUDED  */
625d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
626d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/* Copy the second part of user declarations.  */
627aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
628965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 629 "grammar.c" /* yacc.c:358  */
629aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
630aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef short
631aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# undef short
632aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
633aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
634aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef YYTYPE_UINT8
635aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef YYTYPE_UINT8 yytype_uint8;
636aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
637aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef unsigned char yytype_uint8;
638aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
639aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
640aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef YYTYPE_INT8
641aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef YYTYPE_INT8 yytype_int8;
642aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
643d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughestypedef signed char yytype_int8;
644aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
645aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
646aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef YYTYPE_UINT16
647aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef YYTYPE_UINT16 yytype_uint16;
648aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
649aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef unsigned short int yytype_uint16;
650aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
651aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
652aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef YYTYPE_INT16
653aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef YYTYPE_INT16 yytype_int16;
654aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
655aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgralltypedef short int yytype_int16;
656aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
657aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
658aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifndef YYSIZE_T
659aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifdef __SIZE_TYPE__
660aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  define YYSIZE_T __SIZE_TYPE__
661aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# elif defined size_t
662aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  define YYSIZE_T size_t
663d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# elif ! defined YYSIZE_T
664aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
665aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  define YYSIZE_T size_t
666aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# else
667aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  define YYSIZE_T unsigned int
668aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
669aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
670aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
671aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
672aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
673aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifndef YY_
674aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# if defined YYENABLE_NLS && YYENABLE_NLS
675aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  if ENABLE_NLS
676aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
677d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
678aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
679aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
680aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifndef YY_
681d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#  define YY_(Msgid) Msgid
682d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# endif
683d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#endif
684d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
685d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#ifndef YY_ATTRIBUTE
686d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# if (defined __GNUC__                                               \
687d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
688d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
689d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
690d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# else
691d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#  define YY_ATTRIBUTE(Spec) /* empty */
692d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# endif
693d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#endif
694d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
695d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#ifndef YY_ATTRIBUTE_PURE
696d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
697d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#endif
698d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
699d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#ifndef YY_ATTRIBUTE_UNUSED
700d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
701d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#endif
702d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
703d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#if !defined _Noreturn \
704d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
705d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# if defined _MSC_VER && 1200 <= _MSC_VER
706d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#  define _Noreturn __declspec (noreturn)
707d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# else
708d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
709aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
710aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
711aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
712aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Suppress unused-variable warnings by "using" E.  */
713aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if ! defined lint || defined __GNUC__
714d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YYUSE(E) ((void) (E))
715aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
716d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YYUSE(E) /* empty */
717aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
718aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
719d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
720d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
721d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
722d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    _Pragma ("GCC diagnostic push") \
723d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
724d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
725d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
726d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    _Pragma ("GCC diagnostic pop")
727aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
728d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YY_INITIAL_VALUE(Value) Value
729aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
730d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
731d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
732d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YY_IGNORE_MAYBE_UNINITIALIZED_END
733d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#endif
734d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#ifndef YY_INITIAL_VALUE
735d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YY_INITIAL_VALUE(Value) /* Nothing. */
736aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
737aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
738d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
739aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if ! defined yyoverflow || YYERROR_VERBOSE
740aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
741aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* The parser invokes alloca or malloc; define the necessary symbols.  */
742aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
743aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifdef YYSTACK_USE_ALLOCA
744aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  if YYSTACK_USE_ALLOCA
745aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   ifdef __GNUC__
746aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    define YYSTACK_ALLOC __builtin_alloca
747aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   elif defined __BUILTIN_VA_ARG_INCR
748aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
749aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   elif defined _AIX
750aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    define YYSTACK_ALLOC __alloca
751aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   elif defined _MSC_VER
752aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
753aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    define alloca _alloca
754aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   else
755aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    define YYSTACK_ALLOC alloca
756d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
757aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
758d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
759aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#     ifndef EXIT_SUCCESS
760aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#      define EXIT_SUCCESS 0
761aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#     endif
762aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    endif
763aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   endif
764aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
765aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
766aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
767aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifdef YYSTACK_ALLOC
768d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes   /* Pacify GCC's 'empty if-body' warning.  */
769d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
770aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  ifndef YYSTACK_ALLOC_MAXIMUM
771aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    /* The OS might guarantee only one guard page at the bottom of the stack,
772aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       and a page size can be as small as 4096 bytes.  So we cannot safely
773aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
774aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       to allow for a few compiler-allocated temporary stack slots.  */
775aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
776aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
777aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# else
778aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  define YYSTACK_ALLOC YYMALLOC
779aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  define YYSTACK_FREE YYFREE
780aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  ifndef YYSTACK_ALLOC_MAXIMUM
781aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
782aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
783aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
784aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       && ! ((defined YYMALLOC || defined malloc) \
785d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes             && (defined YYFREE || defined free)))
786aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
787aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   ifndef EXIT_SUCCESS
788aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#    define EXIT_SUCCESS 0
789aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   endif
790aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
791aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  ifndef YYMALLOC
792aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   define YYMALLOC malloc
793d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#   if ! defined malloc && ! defined EXIT_SUCCESS
794aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
795aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   endif
796aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
797aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  ifndef YYFREE
798aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   define YYFREE free
799d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#   if ! defined free && ! defined EXIT_SUCCESS
800aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallvoid free (void *); /* INFRINGES ON USER NAME SPACE */
801aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   endif
802aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
803aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
804aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
805aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
806aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
807aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if (! defined yyoverflow \
808aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     && (! defined __cplusplus \
809d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
810aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
811aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* A type that is properly aligned for any stack member.  */
812aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallunion yyalloc
813aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
814aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yytype_int16 yyss_alloc;
815aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYSTYPE yyvs_alloc;
816aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
817aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
818aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* The size of the maximum gap between one aligned stack and the next.  */
819aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
820aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
821aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* The size of an array large to enough to hold all stacks, each with
822aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   N elements.  */
823aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYSTACK_BYTES(N) \
824aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
825aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      + YYSTACK_GAP_MAXIMUM)
826aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
827aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYCOPY_NEEDED 1
828aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
829aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Relocate STACK from its old location to the new one.  The
830aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   local variables YYSIZE and YYSTACKSIZE give the old and new number of
831aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   elements in the stack, and YYPTR gives the new location of the
832aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   stack.  Advance YYPTR to a properly aligned location for the next
833aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   stack.  */
834d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
835d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    do                                                                  \
836d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      {                                                                 \
837d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        YYSIZE_T yynewbytes;                                            \
838d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
839d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        Stack = &yyptr->Stack_alloc;                                    \
840d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
841d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        yyptr += yynewbytes / sizeof (*yyptr);                          \
842d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      }                                                                 \
843d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    while (0)
844aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
845aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
846aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
847aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
848d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/* Copy COUNT objects from SRC to DST.  The source and destination do
849aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   not overlap.  */
850aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifndef YYCOPY
851aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  if defined __GNUC__ && 1 < __GNUC__
852d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#   define YYCOPY(Dst, Src, Count) \
853d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
854aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  else
855d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#   define YYCOPY(Dst, Src, Count)              \
856d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      do                                        \
857d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        {                                       \
858d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          YYSIZE_T yyi;                         \
859d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          for (yyi = 0; yyi < (Count); yyi++)   \
860d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes            (Dst)[yyi] = (Src)[yyi];            \
861d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        }                                       \
862d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      while (0)
863aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
864aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
865aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif /* !YYCOPY_NEEDED */
866aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
867aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYFINAL -- State number of the termination state.  */
868aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYFINAL  3
869aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYLAST -- Last index in YYTABLE.  */
870d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYLAST   788
871aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
872aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYNTOKENS -- Number of terminals.  */
873d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYNTOKENS  139
874aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYNNTS -- Number of nonterminals.  */
875d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYNNTS  47
876aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYNRULES -- Number of rules.  */
877d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYNRULES  220
878d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/* YYNSTATES -- Number of states.  */
879d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYNSTATES  294
880aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
881d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
882d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes   by yylex, with out-of-bounds checking.  */
883aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYUNDEFTOK  2
884d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYMAXUTOK   376
885aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
886d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYTRANSLATE(YYX)                                                \
887aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
888aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
889d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
890d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes   as returned by yylex, without out-of-bounds checking.  */
891aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const yytype_uint8 yytranslate[] =
892aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
893aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
894aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
895aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
896d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       2,     2,     2,   121,     2,     2,     2,   137,   123,     2,
897d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     130,   129,   126,   124,     2,   125,     2,   127,     2,     2,
898d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       2,     2,     2,     2,     2,     2,     2,     2,   136,     2,
899d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     133,   132,   131,     2,     2,     2,     2,     2,     2,     2,
900aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
901aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
902d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       2,   134,     2,   135,   138,     2,     2,     2,     2,     2,
903aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
904aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
905d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       2,     2,     2,     2,   122,     2,     2,     2,     2,     2,
906aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
907aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
908aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
909aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
910aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
911aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
912aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
913aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
914aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
915aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
916aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
917aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
918aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
919aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
920aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
921aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
922aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
923aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
924aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
925aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
926aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
927aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
928aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
929aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
930d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     115,   116,   117,   118,   119,   120,   128
931aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
932aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
933aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if YYDEBUG
934d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
935aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const yytype_uint16 yyrline[] =
936aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
937965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes       0,   345,   345,   349,   351,   353,   354,   355,   356,   357,
938965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     359,   361,   363,   364,   366,   368,   369,   371,   373,   386,
939965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     395,   404,   413,   422,   424,   426,   428,   429,   430,   432,
940965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     434,   436,   437,   439,   440,   441,   442,   443,   444,   446,
941965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     447,   448,   449,   451,   453,   454,   455,   456,   457,   458,
942965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     461,   462,   465,   466,   467,   468,   469,   470,   471,   472,
943965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     473,   474,   475,   476,   479,   480,   481,   482,   485,   487,
944965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     488,   489,   490,   491,   492,   493,   494,   495,   496,   497,
945965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
946965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
947965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     518,   519,   520,   521,   522,   523,   524,   525,   527,   528,
948965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
949965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     539,   540,   541,   542,   543,   544,   545,   548,   549,   550,
950965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     551,   552,   553,   556,   561,   564,   568,   571,   572,   578,
951965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     579,   599,   615,   616,   637,   640,   641,   654,   655,   658,
952965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     661,   662,   663,   665,   666,   667,   669,   670,   672,   673,
953965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     674,   675,   676,   677,   678,   679,   680,   681,   682,   683,
954965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     684,   685,   686,   688,   689,   690,   691,   692,   694,   695,
955965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     697,   698,   699,   700,   701,   702,   703,   705,   706,   707,
956965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     708,   711,   712,   714,   715,   716,   717,   719,   726,   727,
957965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     730,   731,   732,   733,   734,   735,   738,   739,   740,   741,
958965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     742,   743,   744,   745,   747,   748,   749,   750,   752,   765,
959965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes     766
960aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
961aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
962aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
963d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#if YYDEBUG || YYERROR_VERBOSE || 0
964aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
965aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
966aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const char *const yytname[] =
967aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
968aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  "$end", "error", "$undefined", "DST", "SRC", "HOST", "GATEWAY", "NET",
969aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  "NETMASK", "PORT", "PORTRANGE", "LESS", "GREATER", "PROTO", "PROTOCHAIN",
970aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  "CBYTE", "ARP", "RARP", "IP", "SCTP", "TCP", "UDP", "ICMP", "IGMP",
971aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  "IGRP", "PIM", "VRRP", "CARP", "ATALK", "AARP", "DECNET", "LAT", "SCA",
972aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  "MOPRC", "MOPDL", "TK_BROADCAST", "TK_MULTICAST", "NUM", "INBOUND",
973aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  "OUTBOUND", "PF_IFNAME", "PF_RSET", "PF_RNR", "PF_SRNR", "PF_REASON",
974aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  "PF_ACTION", "TYPE", "SUBTYPE", "DIR", "ADDR1", "ADDR2", "ADDR3",
975aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  "ADDR4", "RA", "TA", "LINK", "GEQ", "LEQ", "NEQ", "ID", "EID", "HID",
976aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  "HID6", "AID", "LSH", "RSH", "LEN", "IPV6", "ICMPV6", "AH", "ESP",
977d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  "VLAN", "MPLS", "PPPOED", "PPPOES", "GENEVE", "ISO", "ESIS", "CLNP",
978d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  "ISIS", "L1", "L2", "IIH", "LSP", "SNP", "CSNP", "PSNP", "STP", "IPX",
979d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  "NETBEUI", "LANE", "LLC", "METAC", "BCC", "SC", "ILMIC", "OAMF4EC",
980d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  "OAMF4SC", "OAM", "OAMF4", "CONNECTMSG", "METACONNECT", "VPI", "VCI",
981d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  "RADIO", "FISU", "LSSU", "MSU", "HFISU", "HLSSU", "HMSU", "SIO", "OPC",
982d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  "DPC", "SLS", "HSIO", "HOPC", "HDPC", "HSLS", "OR", "AND", "'!'", "'|'",
983d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  "'&'", "'+'", "'-'", "'*'", "'/'", "UMINUS", "')'", "'('", "'>'", "'='",
984d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  "'<'", "'['", "']'", "':'", "'%'", "'^'", "$accept", "prog", "null",
985d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  "expr", "and", "or", "id", "nid", "not", "paren", "pid", "qid", "term",
986d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  "head", "rterm", "pqual", "dqual", "aqual", "ndaqual", "pname", "other",
987d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  "pfvar", "p80211", "type", "subtype", "type_subtype", "pllc", "dir",
988d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  "reason", "action", "relop", "irelop", "arth", "narth", "byteop", "pnum",
989d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  "atmtype", "atmmultitype", "atmfield", "atmvalue", "atmfieldvalue",
990d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  "atmlistvalue", "mtp2type", "mtp3field", "mtp3value", "mtp3fieldvalue",
991d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  "mtp3listvalue", YY_NULLPTR
992aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
993aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
994aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
995aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifdef YYPRINT
996d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/* YYTOKNUM[NUM] -- (External) token number corresponding to the
997d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes   (internal) symbol number NUM (which must be that of a token).  */
998aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const yytype_uint16 yytoknum[] =
999aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1000aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1001aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1002aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1003aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1004aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1005aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1006aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1007aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1008aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1009aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1010aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1011aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1012d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     375,    33,   124,    38,    43,    45,    42,    47,   376,    41,
1013d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      40,    62,    61,    60,    91,    93,    58,    37,    94
1014aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
1015aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
1016aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1017d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYPACT_NINF -216
1018aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1019d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define yypact_value_is_default(Yystate) \
1020d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  (!!((Yystate) == (-216)))
1021d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
1022d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYTABLE_NINF -42
1023d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
1024d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define yytable_value_is_error(Yytable_value) \
1025d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  0
1026d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
1027d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1028d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     STATE-NUM.  */
1029d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughesstatic const yytype_int16 yypact[] =
1030aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1031d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,    24,   257,  -216,     0,    12,    17,  -216,  -216,  -216,
1032d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,
1033d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,    16,
1034d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      25,    29,    72,   -18,    55,  -216,  -216,  -216,  -216,  -216,
1035d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,   -25,   -25,  -216,   -25,   -25,  -216,  -216,  -216,  -216,
1036d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,
1037d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,   -24,  -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,
1038d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,
1039d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,
1040d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     604,  -216,   -30,   489,   489,  -216,   125,  -216,   734,     3,
1041d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,  -216,  -216,   183,  -216,  -216,  -216,  -216,    -5,  -216,
1042d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      39,  -216,  -216,   -54,  -216,  -216,  -216,  -216,  -216,  -216,
1043d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,  -216,  -216,   -25,  -216,  -216,  -216,  -216,  -216,  -216,
1044d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     604,   -16,  -108,  -216,  -216,   373,   373,  -216,  -103,   -10,
1045d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       2,  -216,  -216,    -7,    11,  -216,  -216,  -216,   125,   125,
1046d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,    -3,    21,  -216,  -216,  -216,  -216,  -216,  -216,  -216,
1047d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,  -216,   -12,    77,    -9,  -216,  -216,  -216,  -216,  -216,
1048d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,    78,  -216,  -216,  -216,   604,  -216,  -216,  -216,   604,
1049d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     604,   604,   604,   604,   604,   604,   604,  -216,  -216,  -216,
1050d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     604,   604,   604,   604,  -216,   111,   113,   114,  -216,  -216,
1051d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,   115,   124,   126,  -216,  -216,  -216,  -216,  -216,  -216,
1052d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,   131,     2,   575,  -216,   373,   373,  -216,    10,  -216,
1053d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,  -216,  -216,  -216,   112,   137,   138,  -216,  -216,    47,
1054d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     -30,     2,   173,   176,   178,   186,  -216,  -216,   143,  -216,
1055d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,  -216,  -216,  -216,  -216,   127,   -64,   -64,   580,   598,
1056d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -104,  -104,  -108,  -108,   575,   575,   575,   575,  -216,   -98,
1057d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,  -216,  -216,   -47,  -216,  -216,  -216,   -49,  -216,  -216,
1058d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,  -216,   125,   125,  -216,  -216,  -216,  -216,    -1,  -216,
1059d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     156,  -216,   111,  -216,   115,  -216,  -216,  -216,  -216,  -216,
1060d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      59,  -216,  -216,  -216
1061aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
1062aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1063d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1064d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     Performed when YYTABLE does not specify something else to do.  Zero
1065d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     means the default is an error.  */
1066aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const yytype_uint8 yydefact[] =
1067aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1068aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       4,     0,    51,     1,     0,     0,     0,    71,    72,    70,
1069aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1070d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      83,    84,    85,    86,    88,    87,   178,   113,   114,     0,
1071d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,     0,     0,     0,    69,   172,    89,    90,    91,
1072d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      92,   116,   118,   119,   121,   123,    93,    94,   103,    95,
1073d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      96,    97,    98,    99,   100,   102,   101,   104,   105,   106,
1074d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     180,   142,   181,   182,   185,   186,   183,   184,   187,   188,
1075d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     189,   190,   191,   192,   107,   200,   201,   202,   203,   204,
1076d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     205,   206,   207,   208,   209,   210,   211,   212,   213,    24,
1077d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,    25,     2,    51,    51,     5,     0,    31,     0,    50,
1078d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      44,   124,   126,     0,   157,   156,    45,    46,     0,    48,
1079d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,   110,   111,     0,   127,   128,   129,   130,   147,   148,
1080d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     131,   149,   132,     0,   115,   117,   120,   122,   144,   143,
1081d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,   170,    11,    10,    51,    51,    32,     0,   157,
1082d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     156,    15,    21,    18,    20,    22,    39,    12,     0,     0,
1083d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      13,    53,    52,    64,    68,    65,    66,    67,    36,    37,
1084d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     108,   109,     0,     0,     0,    58,    59,    60,    61,    62,
1085d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      63,    34,    35,    38,   125,     0,   151,   153,   155,     0,
1086d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,     0,     0,     0,     0,     0,   150,   152,   154,
1087d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,     0,     0,   197,     0,     0,     0,    47,   193,
1088d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     218,     0,     0,     0,    49,   214,   174,   173,   176,   177,
1089d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     175,     0,     0,     0,     7,    51,    51,     6,   156,     9,
1090d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       8,    40,   171,   179,     0,     0,     0,    23,    26,    30,
1091d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,    29,     0,     0,     0,     0,   137,   138,   134,   141,
1092d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     135,   145,   146,   136,    33,     0,   168,   169,   166,   165,
1093d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     160,   161,   162,   163,   164,   167,    42,    43,   198,     0,
1094d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     194,   195,   219,     0,   215,   216,   112,   156,    17,    16,
1095d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      19,    14,     0,     0,    55,    57,    54,    56,     0,   158,
1096d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,   196,     0,   217,     0,    27,    28,   139,   140,   133,
1097d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,   199,   220,   159
1098aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
1099aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1100d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  /* YYPGOTO[NTERM-NUM].  */
1101d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughesstatic const yytype_int16 yypgoto[] =
1102aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1103d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,  -216,  -216,   193,   -34,  -215,   -90,  -135,     7,    -2,
1104d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,  -216,   -80,  -216,  -216,  -216,  -216,    26,  -216,     9,
1105d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,  -216,
1106d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     -43,     5,   -26,   -92,  -216,   -37,  -216,  -216,  -216,  -216,
1107d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    -175,  -216,  -216,  -216,  -216,  -174,  -216
1108aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
1109aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1110d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  /* YYDEFGOTO[NTERM-NUM].  */
1111d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughesstatic const yytype_int16 yydefgoto[] =
1112aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1113d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,     1,     2,   138,   135,   136,   227,   147,   148,   130,
1114d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     229,   230,    95,    96,    97,    98,   171,   172,   173,   131,
1115d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     100,   101,   174,   238,   289,   240,   102,   243,   120,   122,
1116d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     192,   193,   103,   104,   211,   105,   106,   107,   108,   198,
1117d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     199,   259,   109,   110,   204,   205,   263
1118aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
1119aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1120d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1121d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     positive, shift that token.  If negative, reduce the rule whose
1122d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1123aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const yytype_int16 yytable[] =
1124aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1125d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      94,   224,   139,   -41,   124,   125,   146,   126,   127,    93,
1126d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     -13,    99,    26,   137,   228,   273,   133,   134,   128,   118,
1127d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     258,   133,   185,   186,     3,   236,   221,   262,   241,   190,
1128d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     191,   281,   194,   190,   191,   129,   287,   111,   139,   123,
1129d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     123,   119,   123,   123,   282,   214,   219,   237,   284,   112,
1130d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     242,   176,   177,   178,   113,   217,   220,   140,   288,   150,
1131d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     183,   184,   185,   186,   132,   196,   116,   202,   206,   207,
1132d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     -29,   -29,   133,   190,   191,   114,   200,   208,   209,   210,
1133d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     223,   228,   283,   153,   115,   155,   212,   156,   157,   133,
1134d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     134,    94,    94,   140,   149,   176,   177,   178,   218,   218,
1135d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      93,    93,    99,    99,   213,    91,   195,   291,   201,   117,
1136d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     292,   150,   231,   197,   121,   203,   232,   233,   175,   222,
1137d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     225,   123,   -41,   -41,   139,    91,   187,   188,   189,   -13,
1138d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     -13,   223,   -41,   216,   216,   137,   239,   175,   226,   -13,
1139d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     234,   235,   215,   215,    99,    99,   149,   123,   194,   245,
1140d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     260,   261,   200,   246,   247,   248,   249,   250,   251,   252,
1141d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     253,   264,    26,   265,   254,   255,   256,   257,   266,    91,
1142d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     187,   188,   189,   268,   269,   270,   271,   274,   218,   267,
1143d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     275,   276,   285,   286,   141,   142,   143,   144,   145,   277,
1144d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     278,   179,   180,   290,   293,    92,   272,   244,     0,     0,
1145aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1146d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,     0,   216,    94,     0,     0,     0,     0,     0,
1147d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,   215,   215,    99,    99,     0,     0,     0,     0,
1148d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,     0,     0,     0,   150,   150,     0,     0,   176,
1149d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     177,   178,     0,     0,     0,     0,    89,   179,   180,   181,
1150d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     182,   183,   184,   185,   186,    91,     0,    -3,     0,     0,
1151d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,   279,   280,   190,   191,     0,     0,     4,     5,
1152d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     149,   149,     6,     7,     8,     9,    10,    11,    12,    13,
1153d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1154d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      24,    25,     0,     0,    26,    27,    28,    29,    30,    31,
1155d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      32,    33,    34,     0,     0,   181,   182,   183,   184,   185,
1156d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     186,     0,    35,     0,   187,   188,   189,     0,     0,     0,
1157d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     190,   191,     0,    36,    37,    38,    39,    40,    41,    42,
1158d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1159d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1160d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1161d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1162d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      83,    84,    85,    86,    87,    88,     0,     0,    89,     0,
1163d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,    90,     0,     4,     5,     0,    91,     6,     7,
1164d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1165d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
1166d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      26,    27,    28,    29,    30,    31,    32,    33,    34,     0,
1167d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,     0,     0,     0,     0,     0,     0,    35,     0,
1168d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,   141,   142,   143,   144,   145,     0,     0,    36,
1169d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1170d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1171d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1172d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1173d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1174d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      87,    88,     0,     0,    89,     0,     0,     0,    90,     0,
1175d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       4,     5,     0,    91,     6,     7,     8,     9,    10,    11,
1176d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
1177d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      22,    23,    24,    25,     0,     0,    26,    27,    28,    29,
1178d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      30,    31,    32,    33,    34,     0,     0,     0,     0,     0,
1179d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,     0,     0,    35,     0,     0,     0,     0,     0,
1180d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,     0,     0,     0,    36,    37,    38,    39,    40,
1181d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1182d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1183d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1184d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1185d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      81,    82,    83,    84,    85,    86,    87,    88,     0,     0,
1186d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      89,     0,     0,     0,    90,     0,     0,     0,     0,    91,
1187d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
1188d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      17,    18,    19,    20,    21,    22,    23,    24,    25,   179,
1189d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     180,    26,     0,     0,   179,   180,     0,     0,     0,     0,
1190d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,     0,     0,     0,     0,     0,     0,     0,    35,
1191d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,   179,   180,     0,     0,     0,     0,     0,     0,
1192d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      36,    37,    38,    39,    40,     0,     0,     0,     0,     0,
1193d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
1194d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      56,    57,    58,    59,     0,     0,     0,   181,   182,   183,
1195d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     184,   185,   186,   182,   183,   184,   185,   186,    74,     0,
1196d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,   190,   191,     0,     0,     0,   190,   191,     0,
1197d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,   183,   184,   185,   186,     0,     0,     0,    90,
1198d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,     0,     0,    91,   190,   191,   151,   152,   153,
1199d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     154,   155,     0,   156,   157,     0,     0,   158,   159,     0,
1200aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1201d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     0,     0,     0,     0,     0,     0,     0,     0,   160,
1202d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     161,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1203d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     162,   163,   164,   165,   166,   167,   168,   169,   170
1204aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
1205aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1206aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const yytype_int16 yycheck[] =
1207aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1208d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       2,     8,    94,     0,    41,    42,    96,    44,    45,     2,
1209d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     2,    37,    93,   149,   230,   119,   120,    42,    37,
1210d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     195,   119,   126,   127,     0,    37,   129,   201,    37,   137,
1211d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     138,   129,    37,   137,   138,    59,    37,    37,   130,    41,
1212d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      42,    59,    44,    45,   259,   135,   136,    59,   263,    37,
1213d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      59,    56,    57,    58,    37,   135,   136,    94,    59,    96,
1214d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     124,   125,   126,   127,    90,   108,    37,   110,   122,   123,
1215d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     119,   120,   119,   137,   138,    59,    37,   131,   132,   133,
1216d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     129,   216,   129,     5,    59,     7,   123,     9,    10,   119,
1217d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     120,    93,    94,   130,    96,    56,    57,    58,   135,   136,
1218d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      93,    94,    93,    94,   130,   130,   108,   282,   110,    37,
1219d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     284,   148,   149,   108,    59,   110,   119,   120,   134,   129,
1220d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     127,   123,   119,   120,   216,   130,   131,   132,   133,   119,
1221d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     120,   129,   129,   135,   136,   215,    59,   134,   127,   129,
1222d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     119,   120,   135,   136,   135,   136,   148,   149,    37,   175,
1223d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      37,    37,    37,   179,   180,   181,   182,   183,   184,   185,
1224d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     186,    37,    37,    37,   190,   191,   192,   193,    37,   130,
1225d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     131,   132,   133,    61,    37,    37,   129,     4,   215,   216,
1226d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       4,     3,   272,   273,    59,    60,    61,    62,    63,     3,
1227d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      47,    64,    65,    37,   135,     2,   230,   171,    -1,    -1,
1228aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1229d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,    -1,    -1,   215,   216,    -1,    -1,    -1,    -1,    -1,
1230d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,    -1,   215,   216,   215,   216,    -1,    -1,    -1,    -1,
1231d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,    -1,    -1,    -1,    -1,   272,   273,    -1,    -1,    56,
1232d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      57,    58,    -1,    -1,    -1,    -1,   121,    64,    65,   122,
1233d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     123,   124,   125,   126,   127,   130,    -1,     0,    -1,    -1,
1234d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,    -1,   135,   136,   137,   138,    -1,    -1,    11,    12,
1235d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     272,   273,    15,    16,    17,    18,    19,    20,    21,    22,
1236d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1237d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      33,    34,    -1,    -1,    37,    38,    39,    40,    41,    42,
1238d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      43,    44,    45,    -1,    -1,   122,   123,   124,   125,   126,
1239d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     127,    -1,    55,    -1,   131,   132,   133,    -1,    -1,    -1,
1240d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     137,   138,    -1,    66,    67,    68,    69,    70,    71,    72,
1241d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1242d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1243d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1244d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1245d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     113,   114,   115,   116,   117,   118,    -1,    -1,   121,    -1,
1246d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,    -1,   125,    -1,    11,    12,    -1,   130,    15,    16,
1247d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1248d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      27,    28,    29,    30,    31,    32,    33,    34,    -1,    -1,
1249d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      37,    38,    39,    40,    41,    42,    43,    44,    45,    -1,
1250d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,    -1,
1251d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,    -1,    59,    60,    61,    62,    63,    -1,    -1,    66,
1252d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1253d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1254d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1255d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1256d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1257d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     117,   118,    -1,    -1,   121,    -1,    -1,    -1,   125,    -1,
1258d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      11,    12,    -1,   130,    15,    16,    17,    18,    19,    20,
1259d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1260d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      31,    32,    33,    34,    -1,    -1,    37,    38,    39,    40,
1261d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      41,    42,    43,    44,    45,    -1,    -1,    -1,    -1,    -1,
1262d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,    -1,    -1,    -1,    55,    -1,    -1,    -1,    -1,    -1,
1263d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,    -1,    -1,    -1,    -1,    66,    67,    68,    69,    70,
1264d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1265d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1266d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1267d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1268d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
1269d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     121,    -1,    -1,    -1,   125,    -1,    -1,    -1,    -1,   130,
1270d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1271d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      26,    27,    28,    29,    30,    31,    32,    33,    34,    64,
1272d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      65,    37,    -1,    -1,    64,    65,    -1,    -1,    -1,    -1,
1273d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,
1274d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,    -1,    64,    65,    -1,    -1,    -1,    -1,    -1,    -1,
1275d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,    -1,
1276d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1277d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      86,    87,    88,    89,    -1,    -1,    -1,   122,   123,   124,
1278d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     125,   126,   127,   123,   124,   125,   126,   127,   104,    -1,
1279d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,    -1,   137,   138,    -1,    -1,    -1,   137,   138,    -1,
1280d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,    -1,   124,   125,   126,   127,    -1,    -1,    -1,   125,
1281d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,    -1,    -1,    -1,   130,   137,   138,     3,     4,     5,
1282d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       6,     7,    -1,     9,    10,    -1,    -1,    13,    14,    -1,
1283aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1284d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,
1285d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1286d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      46,    47,    48,    49,    50,    51,    52,    53,    54
1287aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
1288aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1289d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1290d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     symbol of state STATE-NUM.  */
1291aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic const yytype_uint8 yystos[] =
1292aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1293d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,   140,   141,     0,    11,    12,    15,    16,    17,    18,
1294aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1295aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      29,    30,    31,    32,    33,    34,    37,    38,    39,    40,
1296aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      41,    42,    43,    44,    45,    55,    66,    67,    68,    69,
1297aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1298aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1299aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1300aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1301d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     110,   111,   112,   113,   114,   115,   116,   117,   118,   121,
1302d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     125,   130,   142,   147,   148,   151,   152,   153,   154,   158,
1303d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     159,   160,   165,   171,   172,   174,   175,   176,   177,   181,
1304d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     182,    37,    37,    37,    59,    59,    37,    37,    37,    59,
1305d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     167,    59,   168,   148,   174,   174,   174,   174,    42,    59,
1306d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     148,   158,   171,   119,   120,   143,   144,   151,   142,   172,
1307d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     174,    59,    60,    61,    62,    63,   145,   146,   147,   148,
1308d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     174,     3,     4,     5,     6,     7,     9,    10,    13,    14,
1309d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      35,    36,    46,    47,    48,    49,    50,    51,    52,    53,
1310d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      54,   155,   156,   157,   161,   134,    56,    57,    58,    64,
1311d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      65,   122,   123,   124,   125,   126,   127,   131,   132,   133,
1312d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     137,   138,   169,   170,    37,   148,   169,   170,   178,   179,
1313d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      37,   148,   169,   170,   183,   184,   122,   123,   131,   132,
1314d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     133,   173,   174,   171,   145,   147,   148,   151,   174,   145,
1315d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     151,   129,   129,   129,     8,   127,   127,   145,   146,   149,
1316d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     150,   174,   119,   120,   119,   120,    37,    59,   162,    59,
1317d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     164,    37,    59,   166,   156,   171,   171,   171,   171,   171,
1318d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     171,   171,   171,   171,   171,   171,   171,   171,   179,   180,
1319d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      37,    37,   184,   185,    37,    37,    37,   174,    61,    37,
1320d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      37,   129,   143,   144,     4,     4,     3,     3,    47,   135,
1321d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     136,   129,   144,   129,   144,   145,   145,    37,    59,   163,
1322d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      37,   179,   184,   135
1323aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall};
1324aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1325d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1326d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughesstatic const yytype_uint8 yyr1[] =
1327d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes{
1328d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,   139,   140,   140,   141,   142,   142,   142,   142,   142,
1329d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     143,   144,   145,   145,   145,   146,   146,   146,   146,   146,
1330d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     146,   146,   146,   146,   147,   148,   149,   149,   149,   150,
1331d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     150,   151,   151,   152,   152,   152,   152,   152,   152,   153,
1332d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     153,   153,   153,   153,   153,   153,   153,   153,   153,   153,
1333d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     154,   154,   155,   155,   155,   155,   155,   155,   155,   155,
1334d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     155,   155,   155,   155,   156,   156,   156,   156,   157,   158,
1335d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     158,   158,   158,   158,   158,   158,   158,   158,   158,   158,
1336d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     158,   158,   158,   158,   158,   158,   158,   158,   158,   158,
1337d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     158,   158,   158,   158,   158,   158,   158,   158,   158,   158,
1338d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     158,   158,   158,   158,   158,   158,   158,   158,   159,   159,
1339d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     159,   159,   159,   159,   159,   159,   159,   159,   159,   159,
1340d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     159,   159,   159,   159,   159,   159,   159,   160,   160,   160,
1341d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     160,   160,   160,   161,   161,   161,   161,   162,   162,   163,
1342d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     163,   164,   165,   165,   165,   166,   166,   167,   167,   168,
1343d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     169,   169,   169,   170,   170,   170,   171,   171,   172,   172,
1344d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     172,   172,   172,   172,   172,   172,   172,   172,   172,   172,
1345d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     172,   172,   172,   173,   173,   173,   173,   173,   174,   174,
1346d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     175,   175,   175,   175,   175,   175,   175,   176,   176,   176,
1347d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     176,   177,   177,   178,   178,   178,   178,   179,   180,   180,
1348d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     181,   181,   181,   181,   181,   181,   182,   182,   182,   182,
1349d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     182,   182,   182,   182,   183,   183,   183,   183,   184,   185,
1350d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     185
1351d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes};
1352aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1353d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
1354d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughesstatic const yytype_uint8 yyr2[] =
1355d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes{
1356d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       0,     2,     2,     1,     0,     1,     3,     3,     3,     3,
1357d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       1,     1,     1,     1,     3,     1,     3,     3,     1,     3,
1358d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       1,     1,     1,     2,     1,     1,     1,     3,     3,     1,
1359d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       1,     1,     2,     3,     2,     2,     2,     2,     2,     2,
1360d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       3,     1,     3,     3,     1,     1,     1,     2,     1,     2,
1361d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       1,     0,     1,     1,     3,     3,     3,     3,     1,     1,
1362d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1363d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1364d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1365d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1366d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
1367d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       2,     2,     4,     1,     1,     2,     1,     2,     1,     1,
1368d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       2,     1,     2,     1,     1,     2,     1,     2,     2,     2,
1369d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       2,     2,     2,     4,     2,     2,     2,     1,     1,     1,
1370d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       1,     1,     1,     2,     2,     1,     1,     1,     1,     1,
1371d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       1,     1,     1,     1,     1,     1,     1,     1,     4,     6,
1372d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1373d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       2,     3,     1,     1,     1,     1,     1,     1,     1,     3,
1374d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1375d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       1,     1,     1,     1,     2,     2,     3,     1,     1,     3,
1376d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1377d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       1,     1,     1,     1,     1,     2,     2,     3,     1,     1,
1378d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       3
1379d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes};
1380aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1381aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1382d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define yyerrok         (yyerrstatus = 0)
1383d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define yyclearin       (yychar = YYEMPTY)
1384d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYEMPTY         (-2)
1385d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYEOF           0
1386aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1387d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYACCEPT        goto yyacceptlab
1388d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYABORT         goto yyabortlab
1389d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYERROR         goto yyerrorlab
1390aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1391aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1392d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYRECOVERING()  (!!yyerrstatus)
1393d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
1394d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYBACKUP(Token, Value)                                  \
1395d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughesdo                                                              \
1396d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  if (yychar == YYEMPTY)                                        \
1397d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    {                                                           \
1398d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      yychar = (Token);                                         \
1399d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      yylval = (Value);                                         \
1400d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      YYPOPSTACK (yylen);                                       \
1401d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      yystate = *yyssp;                                         \
1402d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      goto yybackup;                                            \
1403d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    }                                                           \
1404d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  else                                                          \
1405d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    {                                                           \
1406965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes      yyerror (yyscanner, cstate, YY_("syntax error: cannot back up")); \
1407d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      YYERROR;                                                  \
1408d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    }                                                           \
1409d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hugheswhile (0)
1410d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
1411d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/* Error token number */
1412d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYTERROR        1
1413d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#define YYERRCODE       256
1414aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1415aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1416aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1417aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Enable debugging if requested.  */
1418aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if YYDEBUG
1419aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1420aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifndef YYFPRINTF
1421aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1422aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  define YYFPRINTF fprintf
1423aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
1424aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1425d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YYDPRINTF(Args)                        \
1426d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughesdo {                                            \
1427d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  if (yydebug)                                  \
1428d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    YYFPRINTF Args;                             \
1429d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes} while (0)
1430d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
1431d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/* This macro is provided for backward compatibility. */
1432d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#ifndef YY_LOCATION_PRINT
1433d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1434d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#endif
1435d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
1436aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1437d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
1438d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughesdo {                                                                      \
1439d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  if (yydebug)                                                            \
1440d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    {                                                                     \
1441d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      YYFPRINTF (stderr, "%s ", Title);                                   \
1442d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      yy_symbol_print (stderr,                                            \
1443965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes                  Type, Value, yyscanner, cstate); \
1444d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      YYFPRINTF (stderr, "\n");                                           \
1445d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    }                                                                     \
1446d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes} while (0)
1447aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1448aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1449d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/*----------------------------------------.
1450d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes| Print this symbol's value on YYOUTPUT.  |
1451d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes`----------------------------------------*/
1452aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1453aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic void
1454965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughesyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, void *yyscanner, compiler_state_t *cstate)
1455aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1456d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  FILE *yyo = yyoutput;
1457d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  YYUSE (yyo);
1458965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes  YYUSE (yyscanner);
1459965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes  YYUSE (cstate);
1460aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (!yyvaluep)
1461aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    return;
1462aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifdef YYPRINT
1463aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (yytype < YYNTOKENS)
1464aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1465aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
1466d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  YYUSE (yytype);
1467aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
1468aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1469aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1470aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*--------------------------------.
1471aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall| Print this symbol on YYOUTPUT.  |
1472aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall`--------------------------------*/
1473aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1474aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic void
1475965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughesyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, void *yyscanner, compiler_state_t *cstate)
1476aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1477d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  YYFPRINTF (yyoutput, "%s %s (",
1478d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
1479aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1480965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes  yy_symbol_value_print (yyoutput, yytype, yyvaluep, yyscanner, cstate);
1481aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYFPRINTF (yyoutput, ")");
1482aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
1483aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1484aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*------------------------------------------------------------------.
1485aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall| yy_stack_print -- Print the state stack from its BOTTOM up to its |
1486aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall| TOP (included).                                                   |
1487aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall`------------------------------------------------------------------*/
1488aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1489aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic void
1490aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1491aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1492aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYFPRINTF (stderr, "Stack now");
1493aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  for (; yybottom <= yytop; yybottom++)
1494aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
1495aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      int yybot = *yybottom;
1496aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYFPRINTF (stderr, " %d", yybot);
1497aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
1498aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYFPRINTF (stderr, "\n");
1499aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
1500aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1501d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YY_STACK_PRINT(Bottom, Top)                            \
1502d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughesdo {                                                            \
1503d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  if (yydebug)                                                  \
1504d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    yy_stack_print ((Bottom), (Top));                           \
1505d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes} while (0)
1506aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1507aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1508aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*------------------------------------------------.
1509aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall| Report that the YYRULE is going to be reduced.  |
1510aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall`------------------------------------------------*/
1511aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1512aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic void
1513965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughesyy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, void *yyscanner, compiler_state_t *cstate)
1514aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1515d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  unsigned long int yylno = yyrline[yyrule];
1516aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  int yynrhs = yyr2[yyrule];
1517aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  int yyi;
1518aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1519d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes             yyrule - 1, yylno);
1520aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* The symbols being reduced.  */
1521aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  for (yyi = 0; yyi < yynrhs; yyi++)
1522aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
1523aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
1524d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      yy_symbol_print (stderr,
1525d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes                       yystos[yyssp[yyi + 1 - yynrhs]],
1526d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes                       &(yyvsp[(yyi + 1) - (yynrhs)])
1527965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes                                              , yyscanner, cstate);
1528aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYFPRINTF (stderr, "\n");
1529aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
1530aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
1531aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1532d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes# define YY_REDUCE_PRINT(Rule)          \
1533d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughesdo {                                    \
1534d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  if (yydebug)                          \
1535965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    yy_reduce_print (yyssp, yyvsp, Rule, yyscanner, cstate); \
1536d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes} while (0)
1537aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1538aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Nonzero means print parse trace.  It is left uninitialized so that
1539aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   multiple parsers can coexist.  */
1540aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallint yydebug;
1541aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else /* !YYDEBUG */
1542aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYDPRINTF(Args)
1543aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1544aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YY_STACK_PRINT(Bottom, Top)
1545aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YY_REDUCE_PRINT(Rule)
1546aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif /* !YYDEBUG */
1547aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1548aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1549aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYINITDEPTH -- initial size of the parser's stacks.  */
1550d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#ifndef YYINITDEPTH
1551aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYINITDEPTH 200
1552aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
1553aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1554aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1555aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   if the built-in stack extension method is used).
1556aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1557aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   Do not make this value too large; the results are undefined if
1558aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1559aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   evaluated with infinite-precision integer arithmetic.  */
1560aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1561aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifndef YYMAXDEPTH
1562aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYMAXDEPTH 10000
1563aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
1564aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1565aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1566aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if YYERROR_VERBOSE
1567aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1568aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifndef yystrlen
1569aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  if defined __GLIBC__ && defined _STRING_H
1570aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   define yystrlen strlen
1571aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  else
1572aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Return the length of YYSTR.  */
1573aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic YYSIZE_T
1574aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyystrlen (const char *yystr)
1575aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1576aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYSIZE_T yylen;
1577aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  for (yylen = 0; yystr[yylen]; yylen++)
1578aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    continue;
1579aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  return yylen;
1580aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
1581aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
1582aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
1583aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1584aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifndef yystpcpy
1585aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1586aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#   define yystpcpy stpcpy
1587aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  else
1588aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1589aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   YYDEST.  */
1590aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic char *
1591aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyystpcpy (char *yydest, const char *yysrc)
1592aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1593aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  char *yyd = yydest;
1594aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  const char *yys = yysrc;
1595aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1596aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  while ((*yyd++ = *yys++) != '\0')
1597aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    continue;
1598aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1599aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  return yyd - 1;
1600aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
1601aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  endif
1602aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
1603aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1604aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifndef yytnamerr
1605aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1606aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   quotes and backslashes, so that it's suitable for yyerror.  The
1607aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   heuristic is that double-quoting is unnecessary unless the string
1608aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   contains an apostrophe, a comma, or backslash (other than
1609aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
1610aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   null, do not copy; instead, return the length of what the result
1611aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   would have been.  */
1612aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic YYSIZE_T
1613aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyytnamerr (char *yyres, const char *yystr)
1614aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1615aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (*yystr == '"')
1616aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
1617aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYSIZE_T yyn = 0;
1618aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      char const *yyp = yystr;
1619aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1620aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      for (;;)
1621d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        switch (*++yyp)
1622d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          {
1623d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          case '\'':
1624d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          case ',':
1625d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes            goto do_not_strip_quotes;
1626d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
1627d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          case '\\':
1628d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes            if (*++yyp != '\\')
1629d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes              goto do_not_strip_quotes;
1630d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes            /* Fall through.  */
1631d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          default:
1632d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes            if (yyres)
1633d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes              yyres[yyn] = *yyp;
1634d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes            yyn++;
1635d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes            break;
1636d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
1637d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          case '"':
1638d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes            if (yyres)
1639d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes              yyres[yyn] = '\0';
1640d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes            return yyn;
1641d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          }
1642aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    do_not_strip_quotes: ;
1643aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
1644aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1645aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (! yyres)
1646aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    return yystrlen (yystr);
1647aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1648aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  return yystpcpy (yyres, yystr) - yyres;
1649aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
1650aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
1651aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1652aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
1653aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   about the unexpected token YYTOKEN for the state stack whose top is
1654aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   YYSSP.
1655aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1656aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
1657aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   not large enough to hold the message.  In that case, also set
1658aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
1659aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall   required number of bytes is too large to store.  */
1660aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic int
1661aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
1662aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall                yytype_int16 *yyssp, int yytoken)
1663aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1664d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
1665aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYSIZE_T yysize = yysize0;
1666aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1667aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Internationalized format string. */
1668d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  const char *yyformat = YY_NULLPTR;
1669aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Arguments of yyformat. */
1670aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1671aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Number of reported tokens (one for the "unexpected", one per
1672aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     "expected"). */
1673aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  int yycount = 0;
1674aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1675aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* There are many possibilities here to consider:
1676aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     - If this state is a consistent state with a default action, then
1677aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       the only way this function was invoked is if the default action
1678aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       is an error action.  In that case, don't check for expected
1679aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       tokens because there are none.
1680aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     - The only way there can be no lookahead present (in yychar) is if
1681aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       this state is a consistent state with a default action.  Thus,
1682aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       detecting the absence of a lookahead is sufficient to determine
1683aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       that there is no unexpected or expected token to report.  In that
1684aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       case, just report a simple "syntax error".
1685aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     - Don't assume there isn't a lookahead just because this state is a
1686aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       consistent state with a default action.  There might have been a
1687aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       previous inconsistent state, consistent state with a non-default
1688aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       action, or user semantic action that manipulated yychar.
1689aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     - Of course, the expected token list depends on states to have
1690aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       correct lookahead information, and it depends on the parser not
1691aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       to perform extra reductions after fetching a lookahead from the
1692aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       scanner and before detecting a syntax error.  Thus, state merging
1693aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       (from LALR or IELR) and default reductions corrupt the expected
1694aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       token list.  However, the list is correct for canonical LR with
1695aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       one exception: it will still contain any token that will not be
1696aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       accepted due to an error action in a later state.
1697aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  */
1698aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (yytoken != YYEMPTY)
1699aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
1700aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      int yyn = yypact[*yyssp];
1701aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      yyarg[yycount++] = yytname[yytoken];
1702aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      if (!yypact_value_is_default (yyn))
1703aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        {
1704aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall          /* Start YYX at -YYN if negative to avoid negative indexes in
1705aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall             YYCHECK.  In other words, skip the first -YYN actions for
1706aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall             this state because they are default actions.  */
1707aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall          int yyxbegin = yyn < 0 ? -yyn : 0;
1708aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall          /* Stay within bounds of both yycheck and yytname.  */
1709aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall          int yychecklim = YYLAST - yyn + 1;
1710aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1711aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall          int yyx;
1712aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1713aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1714aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
1715aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall                && !yytable_value_is_error (yytable[yyx + yyn]))
1716aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall              {
1717aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1718aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall                  {
1719aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall                    yycount = 1;
1720aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall                    yysize = yysize0;
1721aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall                    break;
1722aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall                  }
1723aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall                yyarg[yycount++] = yytname[yyx];
1724d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes                {
1725d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
1726d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes                  if (! (yysize <= yysize1
1727d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1728d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes                    return 2;
1729d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes                  yysize = yysize1;
1730d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes                }
1731aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall              }
1732aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        }
1733aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
1734aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1735aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  switch (yycount)
1736aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
1737aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYCASE_(N, S)                      \
1738aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      case N:                               \
1739aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        yyformat = S;                       \
1740aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      break
1741aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYCASE_(0, YY_("syntax error"));
1742aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYCASE_(1, YY_("syntax error, unexpected %s"));
1743aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
1744aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
1745aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
1746aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1747aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# undef YYCASE_
1748aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
1749aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1750d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  {
1751d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
1752d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1753d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes      return 2;
1754d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    yysize = yysize1;
1755d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  }
1756aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1757aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (*yymsg_alloc < yysize)
1758aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
1759aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      *yymsg_alloc = 2 * yysize;
1760aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      if (! (yysize <= *yymsg_alloc
1761aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
1762aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
1763aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      return 1;
1764aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
1765aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1766aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Avoid sprintf, as that infringes on the user's name space.
1767aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     Don't have undefined behavior even if the translation
1768aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     produced a string with the wrong number of "%s"s.  */
1769aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  {
1770aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    char *yyp = *yymsg;
1771aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    int yyi = 0;
1772aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    while ((*yyp = *yyformat) != '\0')
1773aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
1774aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        {
1775aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall          yyp += yytnamerr (yyp, yyarg[yyi++]);
1776aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall          yyformat += 2;
1777aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        }
1778aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      else
1779aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        {
1780aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall          yyp++;
1781aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall          yyformat++;
1782aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        }
1783aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  }
1784aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  return 0;
1785aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
1786aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif /* YYERROR_VERBOSE */
1787aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1788aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*-----------------------------------------------.
1789aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall| Release the memory associated to this symbol.  |
1790aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall`-----------------------------------------------*/
1791aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1792aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallstatic void
1793965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughesyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, void *yyscanner, compiler_state_t *cstate)
1794aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1795aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYUSE (yyvaluep);
1796965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes  YYUSE (yyscanner);
1797965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes  YYUSE (cstate);
1798aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (!yymsg)
1799aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    yymsg = "Deleting";
1800aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1801aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1802d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1803d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  YYUSE (yytype);
1804d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  YY_IGNORE_MAYBE_UNINITIALIZED_END
1805aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
1806aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1807aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1808aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1809aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1810aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*----------.
1811aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall| yyparse.  |
1812aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall`----------*/
1813aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1814aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallint
1815965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughesyyparse (void *yyscanner, compiler_state_t *cstate)
1816aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall{
1817965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes/* The lookahead symbol.  */
1818965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughesint yychar;
1819965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes
1820965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes
1821965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes/* The semantic value of the lookahead symbol.  */
1822965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes/* Default value used for initialization, for pacifying older GCCs
1823965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes   or non-GCC compilers.  */
1824965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott HughesYY_INITIAL_VALUE (static YYSTYPE yyval_default;)
1825965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott HughesYYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
1826965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes
1827965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    /* Number of syntax errors so far.  */
1828965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    int yynerrs;
1829965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes
1830aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    int yystate;
1831aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    /* Number of tokens to shift before error messages enabled.  */
1832aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    int yyerrstatus;
1833aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1834aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    /* The stacks and their tools:
1835d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       'yyss': related to states.
1836d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       'yyvs': related to semantic values.
1837aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1838d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes       Refer to the stacks through separate pointers, to allow yyoverflow
1839aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall       to reallocate them elsewhere.  */
1840aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1841aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    /* The state stack.  */
1842aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    yytype_int16 yyssa[YYINITDEPTH];
1843aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    yytype_int16 *yyss;
1844aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    yytype_int16 *yyssp;
1845aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1846aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    /* The semantic value stack.  */
1847aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    YYSTYPE yyvsa[YYINITDEPTH];
1848aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    YYSTYPE *yyvs;
1849aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    YYSTYPE *yyvsp;
1850aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1851aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    YYSIZE_T yystacksize;
1852aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1853aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  int yyn;
1854aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  int yyresult;
1855aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Lookahead token as an internal (translated) token number.  */
1856d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  int yytoken = 0;
1857aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* The variables used to return semantic value and location from the
1858aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     action routines.  */
1859aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYSTYPE yyval;
1860aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1861aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if YYERROR_VERBOSE
1862aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Buffer for error messages, and its allocated size.  */
1863aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  char yymsgbuf[128];
1864aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  char *yymsg = yymsgbuf;
1865aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1866aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
1867aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1868aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
1869aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1870aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* The number of symbols on the RHS of the reduced rule.
1871aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     Keep to zero when no symbol should be popped.  */
1872aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  int yylen = 0;
1873aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1874d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  yyssp = yyss = yyssa;
1875d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  yyvsp = yyvs = yyvsa;
1876aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yystacksize = YYINITDEPTH;
1877aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1878aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYDPRINTF ((stderr, "Starting parse\n"));
1879aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1880aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yystate = 0;
1881aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yyerrstatus = 0;
1882aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yynerrs = 0;
1883aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yychar = YYEMPTY; /* Cause a token to be read.  */
1884aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  goto yysetstate;
1885aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1886aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*------------------------------------------------------------.
1887aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall| yynewstate -- Push a new state, which is found in yystate.  |
1888aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall`------------------------------------------------------------*/
1889aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall yynewstate:
1890aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* In all cases, when you get here, the value and location stacks
1891aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     have just been pushed.  So pushing a state here evens the stacks.  */
1892aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yyssp++;
1893aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1894aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall yysetstate:
1895aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  *yyssp = yystate;
1896aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1897aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (yyss + yystacksize - 1 <= yyssp)
1898aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
1899aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      /* Get the current used size of the three stacks, in elements.  */
1900aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYSIZE_T yysize = yyssp - yyss + 1;
1901aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1902aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef yyoverflow
1903aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      {
1904d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        /* Give user a chance to reallocate the stack.  Use copies of
1905d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes           these so that the &'s don't force the real ones into
1906d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes           memory.  */
1907d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        YYSTYPE *yyvs1 = yyvs;
1908d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        yytype_int16 *yyss1 = yyss;
1909d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
1910d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        /* Each stack pointer address is followed by the size of the
1911d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes           data in use in that stack, in bytes.  This used to be a
1912d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes           conditional around just the two extra args, but that might
1913d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes           be undefined if yyoverflow is a macro.  */
1914d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        yyoverflow (YY_("memory exhausted"),
1915d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes                    &yyss1, yysize * sizeof (*yyssp),
1916d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes                    &yyvs1, yysize * sizeof (*yyvsp),
1917d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes                    &yystacksize);
1918d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
1919d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        yyss = yyss1;
1920d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        yyvs = yyvs1;
1921aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      }
1922aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else /* no yyoverflow */
1923aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# ifndef YYSTACK_RELOCATE
1924aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      goto yyexhaustedlab;
1925aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# else
1926aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      /* Extend the stack our own way.  */
1927aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      if (YYMAXDEPTH <= yystacksize)
1928d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        goto yyexhaustedlab;
1929aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      yystacksize *= 2;
1930aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      if (YYMAXDEPTH < yystacksize)
1931d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        yystacksize = YYMAXDEPTH;
1932aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1933aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      {
1934d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        yytype_int16 *yyss1 = yyss;
1935d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        union yyalloc *yyptr =
1936d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1937d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        if (! yyptr)
1938d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          goto yyexhaustedlab;
1939d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        YYSTACK_RELOCATE (yyss_alloc, yyss);
1940d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1941aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#  undef YYSTACK_RELOCATE
1942d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        if (yyss1 != yyssa)
1943d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          YYSTACK_FREE (yyss1);
1944aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      }
1945aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# endif
1946aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif /* no yyoverflow */
1947aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1948aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      yyssp = yyss + yysize - 1;
1949aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      yyvsp = yyvs + yysize - 1;
1950aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1951aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1952d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes                  (unsigned long int) yystacksize));
1953aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1954aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      if (yyss + yystacksize - 1 <= yyssp)
1955d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        YYABORT;
1956aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
1957aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1958aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1959aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1960aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (yystate == YYFINAL)
1961aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    YYACCEPT;
1962aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1963aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  goto yybackup;
1964aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1965aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*-----------.
1966aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall| yybackup.  |
1967aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall`-----------*/
1968aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyybackup:
1969aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1970aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Do appropriate processing given the current state.  Read a
1971aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     lookahead token if we need one and don't already have one.  */
1972aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1973aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* First try to decide what to do without reference to lookahead token.  */
1974aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yyn = yypact[yystate];
1975aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (yypact_value_is_default (yyn))
1976aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    goto yydefault;
1977aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1978aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Not known => get a lookahead token if don't already have one.  */
1979aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1980aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
1981aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (yychar == YYEMPTY)
1982aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
1983aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYDPRINTF ((stderr, "Reading a token: "));
1984965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes      yychar = yylex (&yylval, yyscanner);
1985aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
1986aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1987aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (yychar <= YYEOF)
1988aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
1989aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      yychar = yytoken = YYEOF;
1990aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYDPRINTF ((stderr, "Now at end of input.\n"));
1991aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
1992aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  else
1993aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
1994aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      yytoken = YYTRANSLATE (yychar);
1995aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1996aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
1997aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
1998aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* If the proper action on seeing token YYTOKEN is to reduce or to
1999aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     detect an error, take that action.  */
2000aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yyn += yytoken;
2001aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
2002aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    goto yydefault;
2003aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yyn = yytable[yyn];
2004aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (yyn <= 0)
2005aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
2006aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      if (yytable_value_is_error (yyn))
2007aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        goto yyerrlab;
2008aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      yyn = -yyn;
2009aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      goto yyreduce;
2010aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
2011aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2012aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Count tokens shifted since error; after three, turn off error
2013aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     status.  */
2014aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (yyerrstatus)
2015aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    yyerrstatus--;
2016aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2017aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Shift the lookahead token.  */
2018aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2019aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2020aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Discard the shifted token.  */
2021aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yychar = YYEMPTY;
2022aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2023aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yystate = yyn;
2024d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2025aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  *++yyvsp = yylval;
2026d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  YY_IGNORE_MAYBE_UNINITIALIZED_END
2027aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2028aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  goto yynewstate;
2029aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2030aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2031aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*-----------------------------------------------------------.
2032aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall| yydefault -- do the default action for the current state.  |
2033aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall`-----------------------------------------------------------*/
2034aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyydefault:
2035aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yyn = yydefact[yystate];
2036aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (yyn == 0)
2037aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    goto yyerrlab;
2038aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  goto yyreduce;
2039aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2040aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2041aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*-----------------------------.
2042aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall| yyreduce -- Do a reduction.  |
2043aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall`-----------------------------*/
2044aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyyreduce:
2045aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* yyn is the number of a rule to reduce with.  */
2046aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yylen = yyr2[yyn];
2047aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2048aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* If YYLEN is nonzero, implement the default value of the action:
2049d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes     '$$ = $1'.
2050aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2051aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     Otherwise, the following line sets YYVAL to garbage.
2052aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     This behavior is undocumented and Bison
2053aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     users should not rely upon it.  Assigning to YYVAL
2054aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     unconditionally makes the parser a bit smaller, and it avoids a
2055aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     GCC warning that YYVAL may be used uninitialized.  */
2056aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yyval = yyvsp[1-yylen];
2057aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2058aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2059aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YY_REDUCE_PRINT (yyn);
2060aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  switch (yyn)
2061aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
2062aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        case 2:
2063965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 346 "grammar.y" /* yacc.c:1646  */
2064aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
2065965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes	finish_parse(cstate, (yyvsp[0].blk).b);
2066aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
2067965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2068 "grammar.c" /* yacc.c:1646  */
2068aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2069aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2070aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 4:
2071965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 351 "grammar.y" /* yacc.c:1646  */
2072aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.blk).q = qerr; }
2073965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2074 "grammar.c" /* yacc.c:1646  */
2074aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2075aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2076aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 6:
2077965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 354 "grammar.y" /* yacc.c:1646  */
2078d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { gen_and((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); }
2079965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2080 "grammar.c" /* yacc.c:1646  */
2080aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2081aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2082aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 7:
2083965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 355 "grammar.y" /* yacc.c:1646  */
2084d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { gen_and((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); }
2085965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2086 "grammar.c" /* yacc.c:1646  */
2086aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2087aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2088aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 8:
2089965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 356 "grammar.y" /* yacc.c:1646  */
2090d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { gen_or((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); }
2091965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2092 "grammar.c" /* yacc.c:1646  */
2092aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2093aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2094aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 9:
2095965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 357 "grammar.y" /* yacc.c:1646  */
2096d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { gen_or((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); }
2097965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2098 "grammar.c" /* yacc.c:1646  */
2098aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2099aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2100aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 10:
2101965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 359 "grammar.y" /* yacc.c:1646  */
2102d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.blk) = (yyvsp[-1].blk); }
2103965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2104 "grammar.c" /* yacc.c:1646  */
2104aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2105aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2106aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 11:
2107965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 361 "grammar.y" /* yacc.c:1646  */
2108d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.blk) = (yyvsp[-1].blk); }
2109965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2110 "grammar.c" /* yacc.c:1646  */
2110aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2111aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2112aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 13:
2113965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 364 "grammar.y" /* yacc.c:1646  */
2114965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.blk).b = gen_ncode(cstate, NULL, (bpf_u_int32)(yyvsp[0].i),
2115d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes						   (yyval.blk).q = (yyvsp[-1].blk).q); }
2116965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2117 "grammar.c" /* yacc.c:1646  */
2117aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2118aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2119aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 14:
2120965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 366 "grammar.y" /* yacc.c:1646  */
2121d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.blk) = (yyvsp[-1].blk); }
2122965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2123 "grammar.c" /* yacc.c:1646  */
2123aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2124aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2125aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 15:
2126965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 368 "grammar.y" /* yacc.c:1646  */
2127965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.blk).b = gen_scode(cstate, (yyvsp[0].s), (yyval.blk).q = (yyvsp[-1].blk).q); }
2128965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2129 "grammar.c" /* yacc.c:1646  */
2129aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2130aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2131aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 16:
2132965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 369 "grammar.y" /* yacc.c:1646  */
2133965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.blk).b = gen_mcode(cstate, (yyvsp[-2].s), NULL, (yyvsp[0].i),
2134d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				    (yyval.blk).q = (yyvsp[-3].blk).q); }
2135965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2136 "grammar.c" /* yacc.c:1646  */
2136aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2137aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2138aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 17:
2139965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 371 "grammar.y" /* yacc.c:1646  */
2140965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.blk).b = gen_mcode(cstate, (yyvsp[-2].s), (yyvsp[0].s), 0,
2141d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				    (yyval.blk).q = (yyvsp[-3].blk).q); }
2142965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2143 "grammar.c" /* yacc.c:1646  */
2143aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2144aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2145aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 18:
2146965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 373 "grammar.y" /* yacc.c:1646  */
2147aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
2148aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  /* Decide how to parse HID based on proto */
2149d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				  (yyval.blk).q = (yyvsp[-1].blk).q;
2150aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  if ((yyval.blk).q.addr == Q_PORT)
2151965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes				  	bpf_error(cstate, "'port' modifier applied to ip host");
2152aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  else if ((yyval.blk).q.addr == Q_PORTRANGE)
2153965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes				  	bpf_error(cstate, "'portrange' modifier applied to ip host");
2154aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  else if ((yyval.blk).q.addr == Q_PROTO)
2155965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes				  	bpf_error(cstate, "'proto' modifier applied to ip host");
2156aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  else if ((yyval.blk).q.addr == Q_PROTOCHAIN)
2157965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes				  	bpf_error(cstate, "'protochain' modifier applied to ip host");
2158965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes				  (yyval.blk).b = gen_ncode(cstate, (yyvsp[0].s), 0, (yyval.blk).q);
2159aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				}
2160965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2161 "grammar.c" /* yacc.c:1646  */
2161aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2162aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2163aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 19:
2164965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 386 "grammar.y" /* yacc.c:1646  */
2165aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
2166aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef INET6
2167965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes				  (yyval.blk).b = gen_mcode6(cstate, (yyvsp[-2].s), NULL, (yyvsp[0].i),
2168d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				    (yyval.blk).q = (yyvsp[-3].blk).q);
2169aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
2170965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes				  bpf_error(cstate, "'ip6addr/prefixlen' not supported "
2171aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall					"in this configuration");
2172aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif /*INET6*/
2173aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				}
2174965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2175 "grammar.c" /* yacc.c:1646  */
2175aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2176aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2177aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 20:
2178965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 395 "grammar.y" /* yacc.c:1646  */
2179aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
2180aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifdef INET6
2181965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes				  (yyval.blk).b = gen_mcode6(cstate, (yyvsp[0].s), 0, 128,
2182d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				    (yyval.blk).q = (yyvsp[-1].blk).q);
2183aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
2184965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes				  bpf_error(cstate, "'ip6addr' not supported "
2185aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall					"in this configuration");
2186aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif /*INET6*/
2187aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				}
2188965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2189 "grammar.c" /* yacc.c:1646  */
2189aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2190aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2191aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 21:
2192965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 404 "grammar.y" /* yacc.c:1646  */
2193d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    {
2194965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes				  (yyval.blk).b = gen_ecode(cstate, (yyvsp[0].e), (yyval.blk).q = (yyvsp[-1].blk).q);
2195aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  /*
2196aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				   * $1 was allocated by "pcap_ether_aton()",
2197aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				   * so we must free it now that we're done
2198aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				   * with it.
2199aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				   */
2200d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				  free((yyvsp[0].e));
2201aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				}
2202965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2203 "grammar.c" /* yacc.c:1646  */
2203aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2204aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2205aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 22:
2206965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 413 "grammar.y" /* yacc.c:1646  */
2207aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
2208965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes				  (yyval.blk).b = gen_acode(cstate, (yyvsp[0].e), (yyval.blk).q = (yyvsp[-1].blk).q);
2209aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  /*
2210aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				   * $1 was allocated by "pcap_ether_aton()",
2211aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				   * so we must free it now that we're done
2212aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				   * with it.
2213aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				   */
2214d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				  free((yyvsp[0].e));
2215aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				}
2216965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2217 "grammar.c" /* yacc.c:1646  */
2217aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2218aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2219aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 23:
2220965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 422 "grammar.y" /* yacc.c:1646  */
2221d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { gen_not((yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); }
2222965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2223 "grammar.c" /* yacc.c:1646  */
2223aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2224aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2225aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 24:
2226965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 424 "grammar.y" /* yacc.c:1646  */
2227d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.blk) = (yyvsp[-1].blk); }
2228965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2229 "grammar.c" /* yacc.c:1646  */
2229aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2230aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2231aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 25:
2232965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 426 "grammar.y" /* yacc.c:1646  */
2233d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.blk) = (yyvsp[-1].blk); }
2234965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2235 "grammar.c" /* yacc.c:1646  */
2235aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2236aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2237aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 27:
2238965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 429 "grammar.y" /* yacc.c:1646  */
2239d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { gen_and((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); }
2240965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2241 "grammar.c" /* yacc.c:1646  */
2241aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2242aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2243aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 28:
2244965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 430 "grammar.y" /* yacc.c:1646  */
2245d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { gen_or((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); }
2246965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2247 "grammar.c" /* yacc.c:1646  */
2247aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2248aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2249aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 29:
2250965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 432 "grammar.y" /* yacc.c:1646  */
2251965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.blk).b = gen_ncode(cstate, NULL, (bpf_u_int32)(yyvsp[0].i),
2252d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes						   (yyval.blk).q = (yyvsp[-1].blk).q); }
2253965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2254 "grammar.c" /* yacc.c:1646  */
2254aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2255aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2256aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 32:
2257965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 437 "grammar.y" /* yacc.c:1646  */
2258d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { gen_not((yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); }
2259965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2260 "grammar.c" /* yacc.c:1646  */
2260aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2261aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2262aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 33:
2263965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 439 "grammar.y" /* yacc.c:1646  */
2264d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { QSET((yyval.blk).q, (yyvsp[-2].i), (yyvsp[-1].i), (yyvsp[0].i)); }
2265965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2266 "grammar.c" /* yacc.c:1646  */
2266aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2267aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2268aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 34:
2269965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 440 "grammar.y" /* yacc.c:1646  */
2270d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { QSET((yyval.blk).q, (yyvsp[-1].i), (yyvsp[0].i), Q_DEFAULT); }
2271965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2272 "grammar.c" /* yacc.c:1646  */
2272aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2273aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2274aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 35:
2275965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 441 "grammar.y" /* yacc.c:1646  */
2276d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { QSET((yyval.blk).q, (yyvsp[-1].i), Q_DEFAULT, (yyvsp[0].i)); }
2277965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2278 "grammar.c" /* yacc.c:1646  */
2278aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2279aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2280aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 36:
2281965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 442 "grammar.y" /* yacc.c:1646  */
2282d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { QSET((yyval.blk).q, (yyvsp[-1].i), Q_DEFAULT, Q_PROTO); }
2283965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2284 "grammar.c" /* yacc.c:1646  */
2284aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2285aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2286aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 37:
2287965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 443 "grammar.y" /* yacc.c:1646  */
2288d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { QSET((yyval.blk).q, (yyvsp[-1].i), Q_DEFAULT, Q_PROTOCHAIN); }
2289965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2290 "grammar.c" /* yacc.c:1646  */
2290aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2291aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2292aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 38:
2293965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 444 "grammar.y" /* yacc.c:1646  */
2294d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { QSET((yyval.blk).q, (yyvsp[-1].i), Q_DEFAULT, (yyvsp[0].i)); }
2295965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2296 "grammar.c" /* yacc.c:1646  */
2296aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2297aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2298aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 39:
2299965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 446 "grammar.y" /* yacc.c:1646  */
2300d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.blk) = (yyvsp[0].blk); }
2301965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2302 "grammar.c" /* yacc.c:1646  */
2302aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2303aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2304aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 40:
2305965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 447 "grammar.y" /* yacc.c:1646  */
2306d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.blk).b = (yyvsp[-1].blk).b; (yyval.blk).q = (yyvsp[-2].blk).q; }
2307965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2308 "grammar.c" /* yacc.c:1646  */
2308aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2309aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2310aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 41:
2311965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 448 "grammar.y" /* yacc.c:1646  */
2312965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.blk).b = gen_proto_abbrev(cstate, (yyvsp[0].i)); (yyval.blk).q = qerr; }
2313965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2314 "grammar.c" /* yacc.c:1646  */
2314aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2315aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2316aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 42:
2317965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 449 "grammar.y" /* yacc.c:1646  */
2318965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.blk).b = gen_relation(cstate, (yyvsp[-1].i), (yyvsp[-2].a), (yyvsp[0].a), 0);
2319aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  (yyval.blk).q = qerr; }
2320965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2321 "grammar.c" /* yacc.c:1646  */
2321aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2322aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2323aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 43:
2324965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 451 "grammar.y" /* yacc.c:1646  */
2325965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.blk).b = gen_relation(cstate, (yyvsp[-1].i), (yyvsp[-2].a), (yyvsp[0].a), 1);
2326aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  (yyval.blk).q = qerr; }
2327965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2328 "grammar.c" /* yacc.c:1646  */
2328aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2329aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2330aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 44:
2331965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 453 "grammar.y" /* yacc.c:1646  */
2332d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.blk).b = (yyvsp[0].rblk); (yyval.blk).q = qerr; }
2333965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2334 "grammar.c" /* yacc.c:1646  */
2334aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2335aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2336aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 45:
2337965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 454 "grammar.y" /* yacc.c:1646  */
2338965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.blk).b = gen_atmtype_abbrev(cstate, (yyvsp[0].i)); (yyval.blk).q = qerr; }
2339965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2340 "grammar.c" /* yacc.c:1646  */
2340aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2341aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2342aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 46:
2343965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 455 "grammar.y" /* yacc.c:1646  */
2344965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.blk).b = gen_atmmulti_abbrev(cstate, (yyvsp[0].i)); (yyval.blk).q = qerr; }
2345965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2346 "grammar.c" /* yacc.c:1646  */
2346aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2347aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2348aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 47:
2349965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 456 "grammar.y" /* yacc.c:1646  */
2350d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.blk).b = (yyvsp[0].blk).b; (yyval.blk).q = qerr; }
2351965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2352 "grammar.c" /* yacc.c:1646  */
2352aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2353aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2354aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 48:
2355965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 457 "grammar.y" /* yacc.c:1646  */
2356965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.blk).b = gen_mtp2type_abbrev(cstate, (yyvsp[0].i)); (yyval.blk).q = qerr; }
2357965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2358 "grammar.c" /* yacc.c:1646  */
2358aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2359aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2360aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 49:
2361965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 458 "grammar.y" /* yacc.c:1646  */
2362d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.blk).b = (yyvsp[0].blk).b; (yyval.blk).q = qerr; }
2363965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2364 "grammar.c" /* yacc.c:1646  */
2364aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2365aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2366aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 51:
2367965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 462 "grammar.y" /* yacc.c:1646  */
2368aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_DEFAULT; }
2369965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2370 "grammar.c" /* yacc.c:1646  */
2370aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2371aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2372aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 52:
2373965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 465 "grammar.y" /* yacc.c:1646  */
2374aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_SRC; }
2375965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2376 "grammar.c" /* yacc.c:1646  */
2376aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2377aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2378aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 53:
2379965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 466 "grammar.y" /* yacc.c:1646  */
2380aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_DST; }
2381965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2382 "grammar.c" /* yacc.c:1646  */
2382aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2383aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2384aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 54:
2385965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 467 "grammar.y" /* yacc.c:1646  */
2386aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_OR; }
2387965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2388 "grammar.c" /* yacc.c:1646  */
2388aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2389aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2390aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 55:
2391965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 468 "grammar.y" /* yacc.c:1646  */
2392aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_OR; }
2393965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2394 "grammar.c" /* yacc.c:1646  */
2394aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2395aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2396aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 56:
2397965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 469 "grammar.y" /* yacc.c:1646  */
2398aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_AND; }
2399965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2400 "grammar.c" /* yacc.c:1646  */
2400aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2401aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2402aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 57:
2403965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 470 "grammar.y" /* yacc.c:1646  */
2404aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_AND; }
2405965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2406 "grammar.c" /* yacc.c:1646  */
2406aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2407aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2408aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 58:
2409965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 471 "grammar.y" /* yacc.c:1646  */
2410aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ADDR1; }
2411965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2412 "grammar.c" /* yacc.c:1646  */
2412aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2413aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2414aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 59:
2415965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 472 "grammar.y" /* yacc.c:1646  */
2416aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ADDR2; }
2417965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2418 "grammar.c" /* yacc.c:1646  */
2418aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2419aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2420aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 60:
2421965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 473 "grammar.y" /* yacc.c:1646  */
2422aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ADDR3; }
2423965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2424 "grammar.c" /* yacc.c:1646  */
2424aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2425aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2426aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 61:
2427965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 474 "grammar.y" /* yacc.c:1646  */
2428aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ADDR4; }
2429965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2430 "grammar.c" /* yacc.c:1646  */
2430aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2431aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2432aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 62:
2433965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 475 "grammar.y" /* yacc.c:1646  */
2434aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_RA; }
2435965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2436 "grammar.c" /* yacc.c:1646  */
2436aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2437aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2438aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 63:
2439965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 476 "grammar.y" /* yacc.c:1646  */
2440aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_TA; }
2441965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2442 "grammar.c" /* yacc.c:1646  */
2442aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2443aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2444aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 64:
2445965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 479 "grammar.y" /* yacc.c:1646  */
2446aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_HOST; }
2447965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2448 "grammar.c" /* yacc.c:1646  */
2448aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2449aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2450aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 65:
2451965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 480 "grammar.y" /* yacc.c:1646  */
2452aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_NET; }
2453965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2454 "grammar.c" /* yacc.c:1646  */
2454aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2455aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2456aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 66:
2457965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 481 "grammar.y" /* yacc.c:1646  */
2458aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_PORT; }
2459965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2460 "grammar.c" /* yacc.c:1646  */
2460aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2461aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2462aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 67:
2463965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 482 "grammar.y" /* yacc.c:1646  */
2464aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_PORTRANGE; }
2465965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2466 "grammar.c" /* yacc.c:1646  */
2466aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2467aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2468aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 68:
2469965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 485 "grammar.y" /* yacc.c:1646  */
2470aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_GATEWAY; }
2471965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2472 "grammar.c" /* yacc.c:1646  */
2472aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2473aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2474aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 69:
2475965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 487 "grammar.y" /* yacc.c:1646  */
2476aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_LINK; }
2477965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2478 "grammar.c" /* yacc.c:1646  */
2478aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2479aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2480aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 70:
2481965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 488 "grammar.y" /* yacc.c:1646  */
2482aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_IP; }
2483965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2484 "grammar.c" /* yacc.c:1646  */
2484aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2485aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2486aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 71:
2487965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 489 "grammar.y" /* yacc.c:1646  */
2488aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ARP; }
2489965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2490 "grammar.c" /* yacc.c:1646  */
2490aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2491aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2492aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 72:
2493965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 490 "grammar.y" /* yacc.c:1646  */
2494aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_RARP; }
2495965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2496 "grammar.c" /* yacc.c:1646  */
2496aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2497aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2498aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 73:
2499965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 491 "grammar.y" /* yacc.c:1646  */
2500aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_SCTP; }
2501965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2502 "grammar.c" /* yacc.c:1646  */
2502aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2503aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2504aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 74:
2505965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 492 "grammar.y" /* yacc.c:1646  */
2506aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_TCP; }
2507965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2508 "grammar.c" /* yacc.c:1646  */
2508aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2509aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2510aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 75:
2511965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 493 "grammar.y" /* yacc.c:1646  */
2512aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_UDP; }
2513965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2514 "grammar.c" /* yacc.c:1646  */
2514aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2515aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2516aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 76:
2517965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 494 "grammar.y" /* yacc.c:1646  */
2518aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ICMP; }
2519965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2520 "grammar.c" /* yacc.c:1646  */
2520aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2521aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2522aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 77:
2523965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 495 "grammar.y" /* yacc.c:1646  */
2524aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_IGMP; }
2525965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2526 "grammar.c" /* yacc.c:1646  */
2526aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2527aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2528aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 78:
2529965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 496 "grammar.y" /* yacc.c:1646  */
2530aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_IGRP; }
2531965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2532 "grammar.c" /* yacc.c:1646  */
2532aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2533aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2534aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 79:
2535965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 497 "grammar.y" /* yacc.c:1646  */
2536aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_PIM; }
2537965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2538 "grammar.c" /* yacc.c:1646  */
2538aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2539aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2540aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 80:
2541965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 498 "grammar.y" /* yacc.c:1646  */
2542aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_VRRP; }
2543965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2544 "grammar.c" /* yacc.c:1646  */
2544aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2545aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2546aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 81:
2547965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 499 "grammar.y" /* yacc.c:1646  */
2548aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_CARP; }
2549965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2550 "grammar.c" /* yacc.c:1646  */
2550aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2551aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2552aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 82:
2553965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 500 "grammar.y" /* yacc.c:1646  */
2554aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ATALK; }
2555965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2556 "grammar.c" /* yacc.c:1646  */
2556aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2557aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2558aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 83:
2559965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 501 "grammar.y" /* yacc.c:1646  */
2560aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_AARP; }
2561965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2562 "grammar.c" /* yacc.c:1646  */
2562aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2563aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2564aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 84:
2565965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 502 "grammar.y" /* yacc.c:1646  */
2566aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_DECNET; }
2567965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2568 "grammar.c" /* yacc.c:1646  */
2568aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2569aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2570aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 85:
2571965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 503 "grammar.y" /* yacc.c:1646  */
2572aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_LAT; }
2573965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2574 "grammar.c" /* yacc.c:1646  */
2574aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2575aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2576aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 86:
2577965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 504 "grammar.y" /* yacc.c:1646  */
2578aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_SCA; }
2579965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2580 "grammar.c" /* yacc.c:1646  */
2580aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2581aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2582aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 87:
2583965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 505 "grammar.y" /* yacc.c:1646  */
2584aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_MOPDL; }
2585965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2586 "grammar.c" /* yacc.c:1646  */
2586aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2587aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2588aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 88:
2589965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 506 "grammar.y" /* yacc.c:1646  */
2590aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_MOPRC; }
2591965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2592 "grammar.c" /* yacc.c:1646  */
2592aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2593aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2594aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 89:
2595965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 507 "grammar.y" /* yacc.c:1646  */
2596aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_IPV6; }
2597965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2598 "grammar.c" /* yacc.c:1646  */
2598aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2599aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2600aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 90:
2601965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 508 "grammar.y" /* yacc.c:1646  */
2602aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ICMPV6; }
2603965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2604 "grammar.c" /* yacc.c:1646  */
2604aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2605aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2606aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 91:
2607965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 509 "grammar.y" /* yacc.c:1646  */
2608aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_AH; }
2609965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2610 "grammar.c" /* yacc.c:1646  */
2610aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2611aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2612aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 92:
2613965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 510 "grammar.y" /* yacc.c:1646  */
2614aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ESP; }
2615965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2616 "grammar.c" /* yacc.c:1646  */
2616aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2617aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2618aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 93:
2619965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 511 "grammar.y" /* yacc.c:1646  */
2620aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ISO; }
2621965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2622 "grammar.c" /* yacc.c:1646  */
2622aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2623aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2624aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 94:
2625965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 512 "grammar.y" /* yacc.c:1646  */
2626aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ESIS; }
2627965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2628 "grammar.c" /* yacc.c:1646  */
2628aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2629aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2630aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 95:
2631965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 513 "grammar.y" /* yacc.c:1646  */
2632aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ISIS; }
2633965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2634 "grammar.c" /* yacc.c:1646  */
2634aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2635aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2636aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 96:
2637965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 514 "grammar.y" /* yacc.c:1646  */
2638aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ISIS_L1; }
2639965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2640 "grammar.c" /* yacc.c:1646  */
2640aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2641aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2642aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 97:
2643965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 515 "grammar.y" /* yacc.c:1646  */
2644aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ISIS_L2; }
2645965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2646 "grammar.c" /* yacc.c:1646  */
2646aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2647aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2648aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 98:
2649965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 516 "grammar.y" /* yacc.c:1646  */
2650aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ISIS_IIH; }
2651965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2652 "grammar.c" /* yacc.c:1646  */
2652aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2653aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2654aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 99:
2655965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 517 "grammar.y" /* yacc.c:1646  */
2656aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ISIS_LSP; }
2657965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2658 "grammar.c" /* yacc.c:1646  */
2658aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2659aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2660aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 100:
2661965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 518 "grammar.y" /* yacc.c:1646  */
2662aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ISIS_SNP; }
2663965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2664 "grammar.c" /* yacc.c:1646  */
2664aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2665aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2666aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 101:
2667965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 519 "grammar.y" /* yacc.c:1646  */
2668aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ISIS_PSNP; }
2669965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2670 "grammar.c" /* yacc.c:1646  */
2670aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2671aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2672aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 102:
2673965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 520 "grammar.y" /* yacc.c:1646  */
2674aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_ISIS_CSNP; }
2675965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2676 "grammar.c" /* yacc.c:1646  */
2676aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2677aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2678aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 103:
2679965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 521 "grammar.y" /* yacc.c:1646  */
2680aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_CLNP; }
2681965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2682 "grammar.c" /* yacc.c:1646  */
2682aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2683aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2684aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 104:
2685965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 522 "grammar.y" /* yacc.c:1646  */
2686aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_STP; }
2687965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2688 "grammar.c" /* yacc.c:1646  */
2688aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2689aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2690aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 105:
2691965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 523 "grammar.y" /* yacc.c:1646  */
2692aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_IPX; }
2693965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2694 "grammar.c" /* yacc.c:1646  */
2694aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2695aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2696aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 106:
2697965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 524 "grammar.y" /* yacc.c:1646  */
2698aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_NETBEUI; }
2699965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2700 "grammar.c" /* yacc.c:1646  */
2700aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2701aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2702aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 107:
2703965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 525 "grammar.y" /* yacc.c:1646  */
2704aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = Q_RADIO; }
2705965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2706 "grammar.c" /* yacc.c:1646  */
2706aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2707aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2708aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 108:
2709965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 527 "grammar.y" /* yacc.c:1646  */
2710965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_broadcast(cstate, (yyvsp[-1].i)); }
2711965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2712 "grammar.c" /* yacc.c:1646  */
2712aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2713aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2714aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 109:
2715965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 528 "grammar.y" /* yacc.c:1646  */
2716965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_multicast(cstate, (yyvsp[-1].i)); }
2717965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2718 "grammar.c" /* yacc.c:1646  */
2718aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2719aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2720aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 110:
2721965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 529 "grammar.y" /* yacc.c:1646  */
2722965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_less(cstate, (yyvsp[0].i)); }
2723965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2724 "grammar.c" /* yacc.c:1646  */
2724aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2725aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2726aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 111:
2727965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 530 "grammar.y" /* yacc.c:1646  */
2728965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_greater(cstate, (yyvsp[0].i)); }
2729965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2730 "grammar.c" /* yacc.c:1646  */
2730aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2731aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2732aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 112:
2733965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 531 "grammar.y" /* yacc.c:1646  */
2734965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_byteop(cstate, (yyvsp[-1].i), (yyvsp[-2].i), (yyvsp[0].i)); }
2735965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2736 "grammar.c" /* yacc.c:1646  */
2736aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2737aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2738aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 113:
2739965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 532 "grammar.y" /* yacc.c:1646  */
2740965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_inbound(cstate, 0); }
2741965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2742 "grammar.c" /* yacc.c:1646  */
2742aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2743aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2744aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 114:
2745965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 533 "grammar.y" /* yacc.c:1646  */
2746965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_inbound(cstate, 1); }
2747965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2748 "grammar.c" /* yacc.c:1646  */
2748aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2749aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2750aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 115:
2751965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 534 "grammar.y" /* yacc.c:1646  */
2752965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_vlan(cstate, (yyvsp[0].i)); }
2753965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2754 "grammar.c" /* yacc.c:1646  */
2754aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2755aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2756aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 116:
2757965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 535 "grammar.y" /* yacc.c:1646  */
2758965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_vlan(cstate, -1); }
2759965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2760 "grammar.c" /* yacc.c:1646  */
2760aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2761aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2762aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 117:
2763965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 536 "grammar.y" /* yacc.c:1646  */
2764965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_mpls(cstate, (yyvsp[0].i)); }
2765965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2766 "grammar.c" /* yacc.c:1646  */
2766aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2767aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2768aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 118:
2769965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 537 "grammar.y" /* yacc.c:1646  */
2770965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_mpls(cstate, -1); }
2771965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2772 "grammar.c" /* yacc.c:1646  */
2772aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2773aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2774aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 119:
2775965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 538 "grammar.y" /* yacc.c:1646  */
2776965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_pppoed(cstate); }
2777965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2778 "grammar.c" /* yacc.c:1646  */
2778aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2779aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2780aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 120:
2781965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 539 "grammar.y" /* yacc.c:1646  */
2782965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_pppoes(cstate, (yyvsp[0].i)); }
2783965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2784 "grammar.c" /* yacc.c:1646  */
2784aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2785aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2786aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 121:
2787965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 540 "grammar.y" /* yacc.c:1646  */
2788965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_pppoes(cstate, -1); }
2789965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2790 "grammar.c" /* yacc.c:1646  */
2790aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2791aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2792aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 122:
2793965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 541 "grammar.y" /* yacc.c:1646  */
2794965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_geneve(cstate, (yyvsp[0].i)); }
2795965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2796 "grammar.c" /* yacc.c:1646  */
2796aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2797aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2798aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 123:
2799965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 542 "grammar.y" /* yacc.c:1646  */
2800965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_geneve(cstate, -1); }
2801965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2802 "grammar.c" /* yacc.c:1646  */
2802aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2803aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2804aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 124:
2805965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 543 "grammar.y" /* yacc.c:1646  */
2806d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.rblk) = (yyvsp[0].rblk); }
2807965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2808 "grammar.c" /* yacc.c:1646  */
2808aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2809aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2810aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 125:
2811965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 544 "grammar.y" /* yacc.c:1646  */
2812d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.rblk) = (yyvsp[0].rblk); }
2813965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2814 "grammar.c" /* yacc.c:1646  */
2814aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2815aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2816aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 126:
2817965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 545 "grammar.y" /* yacc.c:1646  */
2818d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.rblk) = (yyvsp[0].rblk); }
2819965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2820 "grammar.c" /* yacc.c:1646  */
2820aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2821aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2822aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 127:
2823965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 548 "grammar.y" /* yacc.c:1646  */
2824965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_pf_ifname(cstate, (yyvsp[0].s)); }
2825965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2826 "grammar.c" /* yacc.c:1646  */
2826aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2827aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2828aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 128:
2829965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 549 "grammar.y" /* yacc.c:1646  */
2830965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_pf_ruleset(cstate, (yyvsp[0].s)); }
2831965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2832 "grammar.c" /* yacc.c:1646  */
2832aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2833aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2834aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 129:
2835965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 550 "grammar.y" /* yacc.c:1646  */
2836965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_pf_rnr(cstate, (yyvsp[0].i)); }
2837965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2838 "grammar.c" /* yacc.c:1646  */
2838aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2839aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2840aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 130:
2841965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 551 "grammar.y" /* yacc.c:1646  */
2842965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_pf_srnr(cstate, (yyvsp[0].i)); }
2843965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2844 "grammar.c" /* yacc.c:1646  */
2844d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    break;
2845d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
2846d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 131:
2847965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 552 "grammar.y" /* yacc.c:1646  */
2848965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_pf_reason(cstate, (yyvsp[0].i)); }
2849965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2850 "grammar.c" /* yacc.c:1646  */
2850d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    break;
2851d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
2852d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 132:
2853965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 553 "grammar.y" /* yacc.c:1646  */
2854965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_pf_action(cstate, (yyvsp[0].i)); }
2855965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2856 "grammar.c" /* yacc.c:1646  */
2856d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    break;
2857aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2858d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 133:
2859965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 557 "grammar.y" /* yacc.c:1646  */
2860965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_p80211_type(cstate, (yyvsp[-2].i) | (yyvsp[0].i),
2861aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall					IEEE80211_FC0_TYPE_MASK |
2862aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall					IEEE80211_FC0_SUBTYPE_MASK);
2863aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				}
2864965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2865 "grammar.c" /* yacc.c:1646  */
2865aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2866aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2867d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 134:
2868965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 561 "grammar.y" /* yacc.c:1646  */
2869965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_p80211_type(cstate, (yyvsp[0].i),
2870aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall					IEEE80211_FC0_TYPE_MASK);
2871aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				}
2872965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2873 "grammar.c" /* yacc.c:1646  */
2873aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2874aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2875d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 135:
2876965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 564 "grammar.y" /* yacc.c:1646  */
2877965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_p80211_type(cstate, (yyvsp[0].i),
2878aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall					IEEE80211_FC0_TYPE_MASK |
2879aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall					IEEE80211_FC0_SUBTYPE_MASK);
2880aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				}
2881965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2882 "grammar.c" /* yacc.c:1646  */
2882aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2883aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2884d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 136:
2885965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 568 "grammar.y" /* yacc.c:1646  */
2886965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_p80211_fcdir(cstate, (yyvsp[0].i)); }
2887965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2888 "grammar.c" /* yacc.c:1646  */
2888aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2889aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2890d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 138:
2891965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 572 "grammar.y" /* yacc.c:1646  */
2892d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = str2tok((yyvsp[0].s), ieee80211_types);
2893aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  if ((yyval.i) == -1)
2894965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes				  	bpf_error(cstate, "unknown 802.11 type name");
2895aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				}
2896965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2897 "grammar.c" /* yacc.c:1646  */
2897aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2898aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2899d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 140:
2900965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 579 "grammar.y" /* yacc.c:1646  */
2901aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { const struct tok *types = NULL;
2902aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  int i;
2903aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  for (i = 0;; i++) {
2904aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  	if (ieee80211_type_subtypes[i].tok == NULL) {
2905aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  		/* Ran out of types */
2906965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes						bpf_error(cstate, "unknown 802.11 type");
2907aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall						break;
2908aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall					}
2909aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall					if ((yyvsp[(-1) - (1)].i) == ieee80211_type_subtypes[i].type) {
2910aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall						types = ieee80211_type_subtypes[i].tok;
2911aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall						break;
2912aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall					}
2913aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  }
2914aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2915d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				  (yyval.i) = str2tok((yyvsp[0].s), types);
2916aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  if ((yyval.i) == -1)
2917965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes					bpf_error(cstate, "unknown 802.11 subtype name");
2918aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				}
2919965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2920 "grammar.c" /* yacc.c:1646  */
2920aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2921aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2922d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 141:
2923965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 599 "grammar.y" /* yacc.c:1646  */
2924aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { int i;
2925aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  for (i = 0;; i++) {
2926aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  	if (ieee80211_type_subtypes[i].tok == NULL) {
2927aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  		/* Ran out of types */
2928965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes						bpf_error(cstate, "unknown 802.11 type name");
2929aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall						break;
2930aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall					}
2931d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes					(yyval.i) = str2tok((yyvsp[0].s), ieee80211_type_subtypes[i].tok);
2932aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall					if ((yyval.i) != -1) {
2933aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall						(yyval.i) |= ieee80211_type_subtypes[i].type;
2934aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall						break;
2935aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall					}
2936aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				  }
2937aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall				}
2938965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2939 "grammar.c" /* yacc.c:1646  */
2939aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2940aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2941aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 142:
2942965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 615 "grammar.y" /* yacc.c:1646  */
2943965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_llc(cstate); }
2944965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2945 "grammar.c" /* yacc.c:1646  */
2945aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2946aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2947aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 143:
2948965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 616 "grammar.y" /* yacc.c:1646  */
2949d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { if (pcap_strcasecmp((yyvsp[0].s), "i") == 0)
2950965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes					(yyval.rblk) = gen_llc_i(cstate);
2951d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				  else if (pcap_strcasecmp((yyvsp[0].s), "s") == 0)
2952965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes					(yyval.rblk) = gen_llc_s(cstate);
2953d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				  else if (pcap_strcasecmp((yyvsp[0].s), "u") == 0)
2954965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes					(yyval.rblk) = gen_llc_u(cstate);
2955d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				  else {
2956965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes					int subtype;
2957d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
2958d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes					subtype = str2tok((yyvsp[0].s), llc_s_subtypes);
2959d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes					if (subtype != -1)
2960965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes						(yyval.rblk) = gen_llc_s_subtype(cstate, subtype);
2961d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes					else {
2962d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes						subtype = str2tok((yyvsp[0].s), llc_u_subtypes);
2963d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes						if (subtype == -1)
2964965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes					  		bpf_error(cstate, "unknown LLC type name \"%s\"", (yyvsp[0].s));
2965965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes						(yyval.rblk) = gen_llc_u_subtype(cstate, subtype);
2966d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes					}
2967d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				  }
2968d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				}
2969965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2970 "grammar.c" /* yacc.c:1646  */
2970aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2971aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2972aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 144:
2973965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 637 "grammar.y" /* yacc.c:1646  */
2974965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.rblk) = gen_llc_s_subtype(cstate, LLC_RNR); }
2975965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2976 "grammar.c" /* yacc.c:1646  */
2976aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2977aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2978aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 146:
2979965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 641 "grammar.y" /* yacc.c:1646  */
2980d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { if (pcap_strcasecmp((yyvsp[0].s), "nods") == 0)
2981d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes					(yyval.i) = IEEE80211_FC1_DIR_NODS;
2982d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				  else if (pcap_strcasecmp((yyvsp[0].s), "tods") == 0)
2983d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes					(yyval.i) = IEEE80211_FC1_DIR_TODS;
2984d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				  else if (pcap_strcasecmp((yyvsp[0].s), "fromds") == 0)
2985d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes					(yyval.i) = IEEE80211_FC1_DIR_FROMDS;
2986d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				  else if (pcap_strcasecmp((yyvsp[0].s), "dstods") == 0)
2987d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes					(yyval.i) = IEEE80211_FC1_DIR_DSTODS;
2988d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				  else
2989965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes					bpf_error(cstate, "unknown 802.11 direction");
2990d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes				}
2991965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2992 "grammar.c" /* yacc.c:1646  */
2992aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2993aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
2994aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 147:
2995965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 654 "grammar.y" /* yacc.c:1646  */
2996d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = (yyvsp[0].i); }
2997965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 2998 "grammar.c" /* yacc.c:1646  */
2998aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
2999aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3000aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 148:
3001965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 655 "grammar.y" /* yacc.c:1646  */
3002965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.i) = pfreason_to_num(cstate, (yyvsp[0].s)); }
3003965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3004 "grammar.c" /* yacc.c:1646  */
3004aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3005aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3006aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 149:
3007965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 658 "grammar.y" /* yacc.c:1646  */
3008965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.i) = pfaction_to_num(cstate, (yyvsp[0].s)); }
3009965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3010 "grammar.c" /* yacc.c:1646  */
3010aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3011aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3012aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 150:
3013965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 661 "grammar.y" /* yacc.c:1646  */
3014d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = BPF_JGT; }
3015965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3016 "grammar.c" /* yacc.c:1646  */
3016d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    break;
3017aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3018d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 151:
3019965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 662 "grammar.y" /* yacc.c:1646  */
3020d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = BPF_JGE; }
3021965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3022 "grammar.c" /* yacc.c:1646  */
3022aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3023aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3024aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 152:
3025965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 663 "grammar.y" /* yacc.c:1646  */
3026d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = BPF_JEQ; }
3027965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3028 "grammar.c" /* yacc.c:1646  */
3028aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3029aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3030aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 153:
3031965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 665 "grammar.y" /* yacc.c:1646  */
3032d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = BPF_JGT; }
3033965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3034 "grammar.c" /* yacc.c:1646  */
3034aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3035aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3036aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 154:
3037965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 666 "grammar.y" /* yacc.c:1646  */
3038d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = BPF_JGE; }
3039965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3040 "grammar.c" /* yacc.c:1646  */
3040aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3041aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3042aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 155:
3043965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 667 "grammar.y" /* yacc.c:1646  */
3044d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = BPF_JEQ; }
3045965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3046 "grammar.c" /* yacc.c:1646  */
3046aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3047aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3048aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 156:
3049965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 669 "grammar.y" /* yacc.c:1646  */
3050965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.a) = gen_loadi(cstate, (yyvsp[0].i)); }
3051965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3052 "grammar.c" /* yacc.c:1646  */
3052aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3053aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3054aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 158:
3055965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 672 "grammar.y" /* yacc.c:1646  */
3056965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.a) = gen_load(cstate, (yyvsp[-3].i), (yyvsp[-1].a), 1); }
3057965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3058 "grammar.c" /* yacc.c:1646  */
3058aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3059aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3060aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 159:
3061965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 673 "grammar.y" /* yacc.c:1646  */
3062965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.a) = gen_load(cstate, (yyvsp[-5].i), (yyvsp[-3].a), (yyvsp[-1].i)); }
3063965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3064 "grammar.c" /* yacc.c:1646  */
3064aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3065aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3066aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 160:
3067965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 674 "grammar.y" /* yacc.c:1646  */
3068965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.a) = gen_arth(cstate, BPF_ADD, (yyvsp[-2].a), (yyvsp[0].a)); }
3069965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3070 "grammar.c" /* yacc.c:1646  */
3070aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3071aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3072aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 161:
3073965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 675 "grammar.y" /* yacc.c:1646  */
3074965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.a) = gen_arth(cstate, BPF_SUB, (yyvsp[-2].a), (yyvsp[0].a)); }
3075965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3076 "grammar.c" /* yacc.c:1646  */
3076aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3077aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3078aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 162:
3079965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 676 "grammar.y" /* yacc.c:1646  */
3080965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.a) = gen_arth(cstate, BPF_MUL, (yyvsp[-2].a), (yyvsp[0].a)); }
3081965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3082 "grammar.c" /* yacc.c:1646  */
3082aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3083aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3084aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 163:
3085965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 677 "grammar.y" /* yacc.c:1646  */
3086965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.a) = gen_arth(cstate, BPF_DIV, (yyvsp[-2].a), (yyvsp[0].a)); }
3087965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3088 "grammar.c" /* yacc.c:1646  */
3088aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3089aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3090aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 164:
3091965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 678 "grammar.y" /* yacc.c:1646  */
3092965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.a) = gen_arth(cstate, BPF_MOD, (yyvsp[-2].a), (yyvsp[0].a)); }
3093965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3094 "grammar.c" /* yacc.c:1646  */
3094aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3095aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3096aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 165:
3097965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 679 "grammar.y" /* yacc.c:1646  */
3098965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.a) = gen_arth(cstate, BPF_AND, (yyvsp[-2].a), (yyvsp[0].a)); }
3099965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3100 "grammar.c" /* yacc.c:1646  */
3100aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3101aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3102aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 166:
3103965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 680 "grammar.y" /* yacc.c:1646  */
3104965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.a) = gen_arth(cstate, BPF_OR, (yyvsp[-2].a), (yyvsp[0].a)); }
3105965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3106 "grammar.c" /* yacc.c:1646  */
3106aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3107aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3108aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 167:
3109965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 681 "grammar.y" /* yacc.c:1646  */
3110965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.a) = gen_arth(cstate, BPF_XOR, (yyvsp[-2].a), (yyvsp[0].a)); }
3111965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3112 "grammar.c" /* yacc.c:1646  */
3112aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3113aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3114aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 168:
3115965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 682 "grammar.y" /* yacc.c:1646  */
3116965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.a) = gen_arth(cstate, BPF_LSH, (yyvsp[-2].a), (yyvsp[0].a)); }
3117965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3118 "grammar.c" /* yacc.c:1646  */
3118aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3119aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3120aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 169:
3121965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 683 "grammar.y" /* yacc.c:1646  */
3122965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.a) = gen_arth(cstate, BPF_RSH, (yyvsp[-2].a), (yyvsp[0].a)); }
3123965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3124 "grammar.c" /* yacc.c:1646  */
3124d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    break;
3125aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3126d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 170:
3127965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 684 "grammar.y" /* yacc.c:1646  */
3128965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.a) = gen_neg(cstate, (yyvsp[0].a)); }
3129965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3130 "grammar.c" /* yacc.c:1646  */
3130aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3131aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3132aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 171:
3133965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 685 "grammar.y" /* yacc.c:1646  */
3134d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.a) = (yyvsp[-1].a); }
3135965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3136 "grammar.c" /* yacc.c:1646  */
3136aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3137aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3138aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 172:
3139965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 686 "grammar.y" /* yacc.c:1646  */
3140965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.a) = gen_loadlen(cstate); }
3141965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3142 "grammar.c" /* yacc.c:1646  */
3142aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3143aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3144aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 173:
3145965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 688 "grammar.y" /* yacc.c:1646  */
3146d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = '&'; }
3147965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3148 "grammar.c" /* yacc.c:1646  */
3148aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3149aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3150aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 174:
3151965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 689 "grammar.y" /* yacc.c:1646  */
3152d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = '|'; }
3153965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3154 "grammar.c" /* yacc.c:1646  */
3154aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3155aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3156aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 175:
3157965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 690 "grammar.y" /* yacc.c:1646  */
3158d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = '<'; }
3159965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3160 "grammar.c" /* yacc.c:1646  */
3160aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3161aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3162aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 176:
3163965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 691 "grammar.y" /* yacc.c:1646  */
3164d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = '>'; }
3165965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3166 "grammar.c" /* yacc.c:1646  */
3166aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3167aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3168aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 177:
3169965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 692 "grammar.y" /* yacc.c:1646  */
3170d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = '='; }
3171965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3172 "grammar.c" /* yacc.c:1646  */
3172aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3173aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3174aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 179:
3175965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 695 "grammar.y" /* yacc.c:1646  */
3176d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = (yyvsp[-1].i); }
3177965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3178 "grammar.c" /* yacc.c:1646  */
3178aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3179aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3180aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 180:
3181965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 697 "grammar.y" /* yacc.c:1646  */
3182d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = A_LANE; }
3183965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3184 "grammar.c" /* yacc.c:1646  */
3184aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3185aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3186aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 181:
3187965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 698 "grammar.y" /* yacc.c:1646  */
3188d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = A_METAC;	}
3189965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3190 "grammar.c" /* yacc.c:1646  */
3190aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3191aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3192aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 182:
3193965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 699 "grammar.y" /* yacc.c:1646  */
3194d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = A_BCC; }
3195965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3196 "grammar.c" /* yacc.c:1646  */
3196aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3197aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3198aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 183:
3199965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 700 "grammar.y" /* yacc.c:1646  */
3200d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = A_OAMF4EC; }
3201965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3202 "grammar.c" /* yacc.c:1646  */
3202aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3203aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3204aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 184:
3205965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 701 "grammar.y" /* yacc.c:1646  */
3206d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = A_OAMF4SC; }
3207965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3208 "grammar.c" /* yacc.c:1646  */
3208aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3209aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3210aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 185:
3211965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 702 "grammar.y" /* yacc.c:1646  */
3212d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = A_SC; }
3213965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3214 "grammar.c" /* yacc.c:1646  */
3214d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    break;
3215aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3216d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 186:
3217965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 703 "grammar.y" /* yacc.c:1646  */
3218d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = A_ILMIC; }
3219965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3220 "grammar.c" /* yacc.c:1646  */
3220aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3221aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3222aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 187:
3223965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 705 "grammar.y" /* yacc.c:1646  */
3224d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = A_OAM; }
3225965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3226 "grammar.c" /* yacc.c:1646  */
3226aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3227aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3228aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 188:
3229965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 706 "grammar.y" /* yacc.c:1646  */
3230d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = A_OAMF4; }
3231965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3232 "grammar.c" /* yacc.c:1646  */
3232aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3233aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3234aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 189:
3235965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 707 "grammar.y" /* yacc.c:1646  */
3236d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = A_CONNECTMSG; }
3237965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3238 "grammar.c" /* yacc.c:1646  */
3238aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3239aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3240aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  case 190:
3241965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 708 "grammar.y" /* yacc.c:1646  */
3242d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.i) = A_METACONNECT; }
3243965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3244 "grammar.c" /* yacc.c:1646  */
3244d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    break;
3245aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3246d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 191:
3247965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 711 "grammar.y" /* yacc.c:1646  */
3248d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.blk).atmfieldtype = A_VPI; }
3249965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3250 "grammar.c" /* yacc.c:1646  */
3250d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    break;
3251d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
3252d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 192:
3253965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 712 "grammar.y" /* yacc.c:1646  */
3254d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.blk).atmfieldtype = A_VCI; }
3255965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3256 "grammar.c" /* yacc.c:1646  */
3256d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    break;
3257d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
3258d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 194:
3259965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 715 "grammar.y" /* yacc.c:1646  */
3260965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.blk).b = gen_atmfield_code(cstate, (yyvsp[-2].blk).atmfieldtype, (bpf_int32)(yyvsp[0].i), (bpf_u_int32)(yyvsp[-1].i), 0); }
3261965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3262 "grammar.c" /* yacc.c:1646  */
3262d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    break;
3263d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
3264d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 195:
3265965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 716 "grammar.y" /* yacc.c:1646  */
3266965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.blk).b = gen_atmfield_code(cstate, (yyvsp[-2].blk).atmfieldtype, (bpf_int32)(yyvsp[0].i), (bpf_u_int32)(yyvsp[-1].i), 1); }
3267965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3268 "grammar.c" /* yacc.c:1646  */
3268d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    break;
3269d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
3270d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 196:
3271965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 717 "grammar.y" /* yacc.c:1646  */
3272d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.blk).b = (yyvsp[-1].blk).b; (yyval.blk).q = qerr; }
3273965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3274 "grammar.c" /* yacc.c:1646  */
3274d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    break;
3275d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes
3276d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 197:
3277965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 719 "grammar.y" /* yacc.c:1646  */
3278aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
3279d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes	(yyval.blk).atmfieldtype = (yyvsp[-1].blk).atmfieldtype;
3280aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	if ((yyval.blk).atmfieldtype == A_VPI ||
3281aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	    (yyval.blk).atmfieldtype == A_VCI)
3282965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes		(yyval.blk).b = gen_atmfield_code(cstate, (yyval.blk).atmfieldtype, (bpf_int32) (yyvsp[0].i), BPF_JEQ, 0);
3283aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	}
3284965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3285 "grammar.c" /* yacc.c:1646  */
3285aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3286aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3287d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 199:
3288965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 727 "grammar.y" /* yacc.c:1646  */
3289d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { gen_or((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); }
3290965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3291 "grammar.c" /* yacc.c:1646  */
3291aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3292aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3293d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 200:
3294965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 730 "grammar.y" /* yacc.c:1646  */
3295aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = M_FISU; }
3296965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3297 "grammar.c" /* yacc.c:1646  */
3297aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3298aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3299d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 201:
3300965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 731 "grammar.y" /* yacc.c:1646  */
3301aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = M_LSSU; }
3302965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3303 "grammar.c" /* yacc.c:1646  */
3303aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3304aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3305d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 202:
3306965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 732 "grammar.y" /* yacc.c:1646  */
3307aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = M_MSU; }
3308965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3309 "grammar.c" /* yacc.c:1646  */
3309aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3310aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3311d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 203:
3312965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 733 "grammar.y" /* yacc.c:1646  */
3313aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = MH_FISU; }
3314965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3315 "grammar.c" /* yacc.c:1646  */
3315aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3316aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3317d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 204:
3318965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 734 "grammar.y" /* yacc.c:1646  */
3319aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = MH_LSSU; }
3320965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3321 "grammar.c" /* yacc.c:1646  */
3321aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3322aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3323d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 205:
3324965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 735 "grammar.y" /* yacc.c:1646  */
3325aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.i) = MH_MSU; }
3326965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3327 "grammar.c" /* yacc.c:1646  */
3327aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3328aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3329d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 206:
3330965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 738 "grammar.y" /* yacc.c:1646  */
3331aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.blk).mtp3fieldtype = M_SIO; }
3332965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3333 "grammar.c" /* yacc.c:1646  */
3333aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3334aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3335d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 207:
3336965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 739 "grammar.y" /* yacc.c:1646  */
3337aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.blk).mtp3fieldtype = M_OPC; }
3338965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3339 "grammar.c" /* yacc.c:1646  */
3339aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3340aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3341d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 208:
3342965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 740 "grammar.y" /* yacc.c:1646  */
3343aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.blk).mtp3fieldtype = M_DPC; }
3344965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3345 "grammar.c" /* yacc.c:1646  */
3345aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3346aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3347d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 209:
3348965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 741 "grammar.y" /* yacc.c:1646  */
3349aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.blk).mtp3fieldtype = M_SLS; }
3350965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3351 "grammar.c" /* yacc.c:1646  */
3351aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3352aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3353d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 210:
3354965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 742 "grammar.y" /* yacc.c:1646  */
3355aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.blk).mtp3fieldtype = MH_SIO; }
3356965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3357 "grammar.c" /* yacc.c:1646  */
3357aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3358aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3359d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 211:
3360965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 743 "grammar.y" /* yacc.c:1646  */
3361aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.blk).mtp3fieldtype = MH_OPC; }
3362965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3363 "grammar.c" /* yacc.c:1646  */
3363aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3364aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3365d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 212:
3366965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 744 "grammar.y" /* yacc.c:1646  */
3367aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.blk).mtp3fieldtype = MH_DPC; }
3368965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3369 "grammar.c" /* yacc.c:1646  */
3369aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3370aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3371d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 213:
3372965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 745 "grammar.y" /* yacc.c:1646  */
3373aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    { (yyval.blk).mtp3fieldtype = MH_SLS; }
3374965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3375 "grammar.c" /* yacc.c:1646  */
3375aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3376aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3377d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 215:
3378965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 748 "grammar.y" /* yacc.c:1646  */
3379965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.blk).b = gen_mtp3field_code(cstate, (yyvsp[-2].blk).mtp3fieldtype, (u_int)(yyvsp[0].i), (u_int)(yyvsp[-1].i), 0); }
3380965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3381 "grammar.c" /* yacc.c:1646  */
3381aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3382aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3383d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 216:
3384965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 749 "grammar.y" /* yacc.c:1646  */
3385965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes    { (yyval.blk).b = gen_mtp3field_code(cstate, (yyvsp[-2].blk).mtp3fieldtype, (u_int)(yyvsp[0].i), (u_int)(yyvsp[-1].i), 1); }
3386965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3387 "grammar.c" /* yacc.c:1646  */
3387aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3388aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3389d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 217:
3390965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 750 "grammar.y" /* yacc.c:1646  */
3391d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { (yyval.blk).b = (yyvsp[-1].blk).b; (yyval.blk).q = qerr; }
3392965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3393 "grammar.c" /* yacc.c:1646  */
3393aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3394aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3395d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 218:
3396965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 752 "grammar.y" /* yacc.c:1646  */
3397aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
3398d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes	(yyval.blk).mtp3fieldtype = (yyvsp[-1].blk).mtp3fieldtype;
3399aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	if ((yyval.blk).mtp3fieldtype == M_SIO ||
3400aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	    (yyval.blk).mtp3fieldtype == M_OPC ||
3401aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	    (yyval.blk).mtp3fieldtype == M_DPC ||
3402aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	    (yyval.blk).mtp3fieldtype == M_SLS ||
3403aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	    (yyval.blk).mtp3fieldtype == MH_SIO ||
3404aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	    (yyval.blk).mtp3fieldtype == MH_OPC ||
3405aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	    (yyval.blk).mtp3fieldtype == MH_DPC ||
3406aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	    (yyval.blk).mtp3fieldtype == MH_SLS)
3407965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes		(yyval.blk).b = gen_mtp3field_code(cstate, (yyval.blk).mtp3fieldtype, (u_int) (yyvsp[0].i), BPF_JEQ, 0);
3408aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall	}
3409965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3410 "grammar.c" /* yacc.c:1646  */
3410aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3411aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3412d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  case 220:
3413965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 766 "grammar.y" /* yacc.c:1646  */
3414d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes    { gen_or((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); }
3415965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3416 "grammar.c" /* yacc.c:1646  */
3416aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    break;
3417aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3418aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3419965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 3420 "grammar.c" /* yacc.c:1646  */
3420aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      default: break;
3421aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
3422aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* User semantic actions sometimes alter yychar, and that requires
3423aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     that yytoken be updated with the new translation.  We take the
3424aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     approach of translating immediately before every use of yytoken.
3425aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     One alternative is translating here after every semantic action,
3426aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     but that translation would be missed if the semantic action invokes
3427aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
3428aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
3429aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     incorrect destructor might then be invoked immediately.  In the
3430aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     case of YYERROR or YYBACKUP, subsequent parser actions might lead
3431aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     to an incorrect destructor call or verbose syntax error message
3432aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     before the lookahead is translated.  */
3433aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
3434aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3435aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYPOPSTACK (yylen);
3436aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yylen = 0;
3437aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YY_STACK_PRINT (yyss, yyssp);
3438aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3439aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  *++yyvsp = yyval;
3440aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3441d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  /* Now 'shift' the result of the reduction.  Determine what state
3442aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     that goes to, based on the state we popped back to and the rule
3443aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     number reduced by.  */
3444aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3445aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yyn = yyr1[yyn];
3446aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3447aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
3448aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3449aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    yystate = yytable[yystate];
3450aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  else
3451aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    yystate = yydefgoto[yyn - YYNTOKENS];
3452aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3453aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  goto yynewstate;
3454aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3455aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3456d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes/*--------------------------------------.
3457d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes| yyerrlab -- here on detecting error.  |
3458d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes`--------------------------------------*/
3459aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyyerrlab:
3460aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Make sure we have latest lookahead translation.  See comments at
3461aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     user semantic actions for why this is necessary.  */
3462aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
3463aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3464aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* If not already recovering from an error, report this error.  */
3465aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (!yyerrstatus)
3466aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
3467aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      ++yynerrs;
3468aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if ! YYERROR_VERBOSE
3469965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes      yyerror (yyscanner, cstate, YY_("syntax error"));
3470aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#else
3471aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
3472aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall                                        yyssp, yytoken)
3473aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      {
3474aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        char const *yymsgp = YY_("syntax error");
3475aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        int yysyntax_error_status;
3476aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        yysyntax_error_status = YYSYNTAX_ERROR;
3477aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        if (yysyntax_error_status == 0)
3478aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall          yymsgp = yymsg;
3479aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        else if (yysyntax_error_status == 1)
3480aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall          {
3481aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall            if (yymsg != yymsgbuf)
3482aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall              YYSTACK_FREE (yymsg);
3483aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
3484aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall            if (!yymsg)
3485aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall              {
3486aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall                yymsg = yymsgbuf;
3487aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall                yymsg_alloc = sizeof yymsgbuf;
3488aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall                yysyntax_error_status = 2;
3489aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall              }
3490aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall            else
3491aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall              {
3492aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall                yysyntax_error_status = YYSYNTAX_ERROR;
3493aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall                yymsgp = yymsg;
3494aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall              }
3495aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall          }
3496965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes        yyerror (yyscanner, cstate, yymsgp);
3497aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall        if (yysyntax_error_status == 2)
3498aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall          goto yyexhaustedlab;
3499aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      }
3500aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall# undef YYSYNTAX_ERROR
3501aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
3502aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
3503aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3504aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3505aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3506aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (yyerrstatus == 3)
3507aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
3508aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      /* If just tried and failed to reuse lookahead token after an
3509d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes         error, discard it.  */
3510aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3511aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      if (yychar <= YYEOF)
3512d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        {
3513d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          /* Return failure if at end of input.  */
3514d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          if (yychar == YYEOF)
3515d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes            YYABORT;
3516d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        }
3517aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      else
3518d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        {
3519d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          yydestruct ("Error: discarding",
3520965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes                      yytoken, &yylval, yyscanner, cstate);
3521d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          yychar = YYEMPTY;
3522d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        }
3523aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
3524aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3525aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Else will try to reuse lookahead token after shifting the error
3526aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     token.  */
3527aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  goto yyerrlab1;
3528aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3529aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3530aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*---------------------------------------------------.
3531aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall| yyerrorlab -- error raised explicitly by YYERROR.  |
3532aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall`---------------------------------------------------*/
3533aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyyerrorlab:
3534aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3535aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Pacify compilers like GCC when the user code never invokes
3536aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     YYERROR and the label yyerrorlab therefore never appears in user
3537aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     code.  */
3538aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (/*CONSTCOND*/ 0)
3539aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     goto yyerrorlab;
3540aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3541d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  /* Do not reclaim the symbols of the rule whose action triggered
3542aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     this YYERROR.  */
3543aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYPOPSTACK (yylen);
3544aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yylen = 0;
3545aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YY_STACK_PRINT (yyss, yyssp);
3546aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yystate = *yyssp;
3547aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  goto yyerrlab1;
3548aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3549aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3550aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*-------------------------------------------------------------.
3551aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall| yyerrlab1 -- common code for both syntax error and YYERROR.  |
3552aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall`-------------------------------------------------------------*/
3553aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyyerrlab1:
3554d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
3555aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3556aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  for (;;)
3557aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
3558aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      yyn = yypact[yystate];
3559aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      if (!yypact_value_is_default (yyn))
3560d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        {
3561d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          yyn += YYTERROR;
3562d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3563d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes            {
3564d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes              yyn = yytable[yyn];
3565d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes              if (0 < yyn)
3566d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes                break;
3567d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes            }
3568d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        }
3569aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3570aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      /* Pop the current state because it cannot handle the error token.  */
3571aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      if (yyssp == yyss)
3572d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes        YYABORT;
3573aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3574aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3575aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      yydestruct ("Error: popping",
3576965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes                  yystos[yystate], yyvsp, yyscanner, cstate);
3577aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYPOPSTACK (1);
3578aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      yystate = *yyssp;
3579aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YY_STACK_PRINT (yyss, yyssp);
3580aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
3581aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3582d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3583aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  *++yyvsp = yylval;
3584d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  YY_IGNORE_MAYBE_UNINITIALIZED_END
3585aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3586aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3587aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Shift the error token.  */
3588aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
3589aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3590aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yystate = yyn;
3591aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  goto yynewstate;
3592aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3593aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3594aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*-------------------------------------.
3595aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall| yyacceptlab -- YYACCEPT comes here.  |
3596aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall`-------------------------------------*/
3597aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyyacceptlab:
3598aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yyresult = 0;
3599aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  goto yyreturn;
3600aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3601aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*-----------------------------------.
3602aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall| yyabortlab -- YYABORT comes here.  |
3603aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall`-----------------------------------*/
3604aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyyabortlab:
3605aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yyresult = 1;
3606aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  goto yyreturn;
3607aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3608d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes#if !defined yyoverflow || YYERROR_VERBOSE
3609aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall/*-------------------------------------------------.
3610aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall| yyexhaustedlab -- memory exhaustion comes here.  |
3611aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall`-------------------------------------------------*/
3612aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyyexhaustedlab:
3613965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes  yyerror (yyscanner, cstate, YY_("memory exhausted"));
3614aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  yyresult = 2;
3615aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  /* Fall through.  */
3616aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
3617aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3618aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrallyyreturn:
3619aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (yychar != YYEMPTY)
3620aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
3621aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      /* Make sure we have latest lookahead translation.  See comments at
3622aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall         user semantic actions for why this is necessary.  */
3623aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      yytoken = YYTRANSLATE (yychar);
3624aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      yydestruct ("Cleanup: discarding lookahead",
3625965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes                  yytoken, &yylval, yyscanner, cstate);
3626aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
3627d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  /* Do not reclaim the symbols of the rule whose action triggered
3628aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall     this YYABORT or YYACCEPT.  */
3629aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YYPOPSTACK (yylen);
3630aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  YY_STACK_PRINT (yyss, yyssp);
3631aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  while (yyssp != yyss)
3632aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    {
3633aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      yydestruct ("Cleanup: popping",
3634965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes                  yystos[*yyssp], yyvsp, yyscanner, cstate);
3635aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall      YYPOPSTACK (1);
3636aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    }
3637aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#ifndef yyoverflow
3638aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (yyss != yyssa)
3639aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    YYSTACK_FREE (yyss);
3640aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
3641aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#if YYERROR_VERBOSE
3642aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall  if (yymsg != yymsgbuf)
3643aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall    YYSTACK_FREE (yymsg);
3644aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall#endif
3645d8845d7191ca81aae8aab4c29410fc8a3d012687Elliott Hughes  return yyresult;
3646aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall}
3647965a4b5291eead2d8f826d2c87e58a12bb56a214Elliott Hughes#line 768 "grammar.y" /* yacc.c:1906  */
3648aa5c5f3dbf05e6ceb406a8cb52b4da481fcaa1fdJP Abgrall
3649