cprover
statement_list_y.tab.cpp
Go to the documentation of this file.
1 /* A Bison parser, made by GNU Bison 3.6.4. */
2 
3 /* Bison implementation for Yacc-like parsers in C
4 
5  Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
6  Inc.
7 
8  This program is free software: you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation, either version 3 of the License, or
11  (at your option) any later version.
12 
13  This program is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 
21 /* As a special exception, you may create a larger work that contains
22  part or all of the Bison parser skeleton and distribute that work
23  under terms of your choice, so long as that work isn't itself a
24  parser generator using the skeleton or a modified version thereof
25  as a parser skeleton. Alternatively, if you modify or redistribute
26  the parser skeleton itself, you may (at your option) remove this
27  special exception, which will cause the skeleton and the resulting
28  Bison output files to be licensed under the GNU General Public
29  License without this special exception.
30 
31  This special exception was added by the Free Software Foundation in
32  version 2.2 of Bison. */
33 
34 /* C LALR(1) parser skeleton written by Richard Stallman, by
35  simplifying the original so-called "semantic" parser. */
36 
37 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
38  especially those whose name start with YY_ or yy_. They are
39  private implementation details that can be changed or removed. */
40 
41 /* All symbols defined below should begin with yy or YY, to avoid
42  infringing on user name space. This should be done even for local
43  variables, as they might otherwise be expanded by user macros.
44  There are some unavoidable exceptions within include files to
45  define necessary library symbols; they are noted "INFRINGES ON
46  USER NAME SPACE" below. */
47 
48 /* Identify Bison output. */
49 #define YYBISON 1
50 
51 /* Bison version. */
52 #define YYBISON_VERSION "3.6.4"
53 
54 /* Skeleton name. */
55 #define YYSKELETON_NAME "yacc.c"
56 
57 /* Pure parsers. */
58 #define YYPURE 0
59 
60 /* Push parsers. */
61 #define YYPUSH 0
62 
63 /* Pull parsers. */
64 #define YYPULL 1
65 
66 
67 /* Substitute the variable and function names. */
68 #define yyparse yystatement_listparse
69 #define yylex yystatement_listlex
70 #define yyerror yystatement_listerror
71 #define yydebug yystatement_listdebug
72 #define yynerrs yystatement_listnerrs
73 #define yylval yystatement_listlval
74 #define yychar yystatement_listchar
75 
76 /* First part of user prologue. */
77 #line 1 "parser.y"
78 
79 
80 // This parser is based on the IEC standard 61131-3 which, among other things,
81 // includes a BNF grammar for the Instruction List (IL) language. The
82 // Statement List language (STL) by Siemens complies with the standards
83 // defined by the IEC, although some modifications were made for compatibility
84 // reasons. As a consequence, the general language structure specified by the
85 // IEC is similar to the structure of STL, but there are differences between
86 // their syntax and some language features (In general, Siemens implements more
87 // language features in STL than described in the standard).
88 
89 #ifdef STATEMENT_LIST_DEBUG
90 #define YYDEBUG 1
91 #endif
92 #define PARSER statement_list_parser
93 
94 #include "statement_list_parser.h"
97 #include <util/std_expr.h>
98 #include <iterator>
99 
100 int yystatement_listlex();
101 extern char *yystatement_listtext;
102 
103 #define YYSTYPE unsigned
104 #define YYSTYPE_IS_TRIVIAL 1
105 
106 #include "statement_list_y.tab.h"
107 
108 // Visual Studio
109 #ifdef _MSC_VER
110 // Disable warnings for possible loss of data.
111 #pragma warning(disable:4242)
112 #pragma warning(disable:4244)
113 // Disable warning for signed/unsigned mismatch.
114 #pragma warning(disable:4365)
115 // Disable warning for switch with default but no case labels.
116 #pragma warning(disable:4065)
117 // Disable warning for unreachable code.
118 #pragma warning(disable:4702)
119 #endif
120 
121 /*** Token declaration *******************************************************/
122 #line 143 "parser.y"
123 
124 /*** Grammar rules ***********************************************************/
125 
126 // The follwing abbreviations will be used:
127 // Zom: "Zero or more", eqivalent to the '*' quantifier
128 // Opt: "Optional", equivalent to the '?' quantifier
129 // Oom: "One or more", equivalent to the '+' quantifier
130 
131 #line 132 "statement_list_y.tab.cpp"
132 
133 # ifndef YY_CAST
134 # ifdef __cplusplus
135 # define YY_CAST(Type, Val) static_cast<Type> (Val)
136 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
137 # else
138 # define YY_CAST(Type, Val) ((Type) (Val))
139 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
140 # endif
141 # endif
142 # ifndef YY_NULLPTR
143 # if defined __cplusplus
144 # if 201103L <= __cplusplus
145 # define YY_NULLPTR nullptr
146 # else
147 # define YY_NULLPTR 0
148 # endif
149 # else
150 # define YY_NULLPTR ((void*)0)
151 # endif
152 # endif
153 
154 /* Use api.header.include to #include this header
155  instead of duplicating it here. */
156 #ifndef YY_YYSTATEMENT_LIST_STATEMENT_LIST_Y_TAB_H_INCLUDED
157 # define YY_YYSTATEMENT_LIST_STATEMENT_LIST_Y_TAB_H_INCLUDED
158 /* Debug traces. */
159 #ifndef YYDEBUG
160 # define YYDEBUG 0
161 #endif
162 #if YYDEBUG
163 extern int yystatement_listdebug;
164 #endif
165 
166 /* Token kinds. */
167 #ifndef YYTOKENTYPE
168 # define YYTOKENTYPE
169  enum yytokentype
170  {
171  YYEMPTY = -2,
172  YYEOF = 0, /* "end of file" */
173  YYerror = 256, /* error */
174  YYUNDEF = 257, /* "invalid token" */
175  TOK_VERSION = 258, /* "VERSION" */
176  TOK_BEGIN = 259, /* "BEGIN" */
177  TOK_FUNCTION_BLOCK = 260, /* "FUNCTION_BLOCK" */
178  TOK_END_FUNCTION_BLOCK = 261, /* "END_FUNCTION_BLOCK" */
179  TOK_FUNCTION = 262, /* "FUNCTION" */
180  TOK_END_FUNCTION = 263, /* "END_FUNCTION" */
181  TOK_VAR_INPUT = 264, /* "VAR_INPUT" */
182  TOK_VAR_INOUT = 265, /* "VAR_IN_OUT" */
183  TOK_VAR_OUTPUT = 266, /* "VAR_OUTPUT" */
184  TOK_VAR_STATIC = 267, /* "VAR" */
185  TOK_VAR_TEMP = 268, /* "VAR_TEMP" */
186  TOK_VAR_CONSTANT = 269, /* "VAR CONSTANT" */
187  TOK_END_VAR = 270, /* "END_VAR" */
188  TOK_NETWORK = 271, /* "NETWORK" */
189  TOK_TITLE = 272, /* "TITLE" */
190  TOK_TAG = 273, /* "TAG" */
191  TOK_END_TAG = 274, /* "END_TAG" */
192  TOK_INT = 275, /* "Int" */
193  TOK_DINT = 276, /* "DInt" */
194  TOK_REAL = 277, /* "Real" */
195  TOK_BOOL = 278, /* "Bool" */
196  TOK_VOID = 279, /* "Void" */
197  TOK_LOAD = 280, /* "L" */
198  TOK_TRANSFER = 281, /* "T" */
199  TOK_CALL = 282, /* "CALL" */
200  TOK_NOP = 283, /* "NOP" */
201  TOK_SET_RLO = 284, /* "SET" */
202  TOK_CLR_RLO = 285, /* "CLR" */
203  TOK_SET = 286, /* "S" */
204  TOK_RESET = 287, /* "R" */
205  TOK_NOT = 288, /* "NOT" */
206  TOK_AND = 289, /* "A" */
207  TOK_AND_NOT = 290, /* "AN" */
208  TOK_OR = 291, /* "O" */
209  TOK_OR_NOT = 292, /* "ON" */
210  TOK_XOR = 293, /* "X" */
211  TOK_XOR_NOT = 294, /* "XN" */
212  TOK_AND_NESTED = 295, /* "A(" */
213  TOK_AND_NOT_NESTED = 296, /* "AN(" */
214  TOK_OR_NESTED = 297, /* "O(" */
215  TOK_OR_NOT_NESTED = 298, /* "ON(" */
216  TOK_XOR_NESTED = 299, /* "X(" */
217  TOK_XOR_NOT_NESTED = 300, /* "XN(" */
218  TOK_NESTING_CLOSED = 301, /* ")" */
219  TOK_ASSIGN = 302, /* "=" */
220  TOK_CONST_ADD = 303, /* "+" */
221  TOK_ACCU_INT_ADD = 304, /* "+I" */
222  TOK_ACCU_INT_SUB = 305, /* "-I" */
223  TOK_ACCU_INT_MUL = 306, /* "*I" */
224  TOK_ACCU_INT_DIV = 307, /* "/I" */
225  TOK_ACCU_INT_EQ = 308, /* "==I" */
226  TOK_ACCU_INT_NEQ = 309, /* "<>I" */
227  TOK_ACCU_INT_GT = 310, /* ">I" */
228  TOK_ACCU_INT_LT = 311, /* "<I" */
229  TOK_ACCU_INT_GTE = 312, /* ">=I" */
230  TOK_ACCU_INT_LTE = 313, /* "<=I" */
231  TOK_ACCU_REAL_ADD = 314, /* "+R" */
232  TOK_ACCU_REAL_SUB = 315, /* "-R" */
233  TOK_ACCU_REAL_MUL = 316, /* "*R" */
234  TOK_ACCU_REAL_DIV = 317, /* "/R" */
235  TOK_ACCU_REAL_EQ = 318, /* "==R" */
236  TOK_ACCU_REAL_NEQ = 319, /* "<>R" */
237  TOK_ACCU_REAL_GT = 320, /* ">R" */
238  TOK_ACCU_REAL_LT = 321, /* "<R" */
239  TOK_ACCU_REAL_GTE = 322, /* ">=R" */
240  TOK_ACCU_REAL_LTE = 323, /* "<=R" */
241  TOK_ACCU_DINT_ADD = 324, /* "+D" */
242  TOK_ACCU_DINT_SUB = 325, /* "-D" */
243  TOK_ACCU_DINT_MUL = 326, /* "*D" */
244  TOK_ACCU_DINT_DIV = 327, /* "/D" */
245  TOK_ACCU_DINT_EQ = 328, /* "==D" */
246  TOK_ACCU_DINT_NEQ = 329, /* "<>D" */
247  TOK_ACCU_DINT_GT = 330, /* ">D" */
248  TOK_ACCU_DINT_LT = 331, /* "<D" */
249  TOK_ACCU_DINT_GTE = 332, /* ">=D" */
250  TOK_ACCU_DINT_LTE = 333, /* "<=D" */
251  TOK_ASSIGNMENT = 334, /* ":=" */
252  TOK_INT_LITERAL = 335, /* TOK_INT_LITERAL */
253  TOK_BOOL_LITERAL = 336, /* TOK_BOOL_LITERAL */
254  TOK_REAL_LITERAL = 337, /* TOK_REAL_LITERAL */
255  TOK_IDENTIFIER = 338, /* TOK_IDENTIFIER */
256  TOK_TITLE_VALUE = 339, /* TOK_TITLE_VALUE */
257  TOK_VERSION_VALUE = 340, /* TOK_VERSION_VALUE */
258  TOK_LABEL = 341 /* TOK_LABEL */
259  };
260  typedef enum yytokentype yytoken_kind_t;
261 #endif
262 
263 /* Value type. */
264 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
265 typedef int YYSTYPE;
266 # define YYSTYPE_IS_TRIVIAL 1
267 # define YYSTYPE_IS_DECLARED 1
268 #endif
269 
270 
272 
274 
275 #endif /* !YY_YYSTATEMENT_LIST_STATEMENT_LIST_Y_TAB_H_INCLUDED */
276 /* Symbol kind. */
278 {
280  YYSYMBOL_YYEOF = 0, /* "end of file" */
281  YYSYMBOL_YYerror = 1, /* error */
282  YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
283  YYSYMBOL_TOK_VERSION = 3, /* "VERSION" */
284  YYSYMBOL_TOK_BEGIN = 4, /* "BEGIN" */
285  YYSYMBOL_TOK_FUNCTION_BLOCK = 5, /* "FUNCTION_BLOCK" */
286  YYSYMBOL_TOK_END_FUNCTION_BLOCK = 6, /* "END_FUNCTION_BLOCK" */
287  YYSYMBOL_TOK_FUNCTION = 7, /* "FUNCTION" */
288  YYSYMBOL_TOK_END_FUNCTION = 8, /* "END_FUNCTION" */
289  YYSYMBOL_TOK_VAR_INPUT = 9, /* "VAR_INPUT" */
290  YYSYMBOL_TOK_VAR_INOUT = 10, /* "VAR_IN_OUT" */
291  YYSYMBOL_TOK_VAR_OUTPUT = 11, /* "VAR_OUTPUT" */
292  YYSYMBOL_TOK_VAR_STATIC = 12, /* "VAR" */
293  YYSYMBOL_TOK_VAR_TEMP = 13, /* "VAR_TEMP" */
294  YYSYMBOL_TOK_VAR_CONSTANT = 14, /* "VAR CONSTANT" */
295  YYSYMBOL_TOK_END_VAR = 15, /* "END_VAR" */
296  YYSYMBOL_TOK_NETWORK = 16, /* "NETWORK" */
297  YYSYMBOL_TOK_TITLE = 17, /* "TITLE" */
298  YYSYMBOL_TOK_TAG = 18, /* "TAG" */
299  YYSYMBOL_TOK_END_TAG = 19, /* "END_TAG" */
300  YYSYMBOL_TOK_INT = 20, /* "Int" */
301  YYSYMBOL_TOK_DINT = 21, /* "DInt" */
302  YYSYMBOL_TOK_REAL = 22, /* "Real" */
303  YYSYMBOL_TOK_BOOL = 23, /* "Bool" */
304  YYSYMBOL_TOK_VOID = 24, /* "Void" */
305  YYSYMBOL_TOK_LOAD = 25, /* "L" */
306  YYSYMBOL_TOK_TRANSFER = 26, /* "T" */
307  YYSYMBOL_TOK_CALL = 27, /* "CALL" */
308  YYSYMBOL_TOK_NOP = 28, /* "NOP" */
309  YYSYMBOL_TOK_SET_RLO = 29, /* "SET" */
310  YYSYMBOL_TOK_CLR_RLO = 30, /* "CLR" */
311  YYSYMBOL_TOK_SET = 31, /* "S" */
312  YYSYMBOL_TOK_RESET = 32, /* "R" */
313  YYSYMBOL_TOK_NOT = 33, /* "NOT" */
314  YYSYMBOL_TOK_AND = 34, /* "A" */
315  YYSYMBOL_TOK_AND_NOT = 35, /* "AN" */
316  YYSYMBOL_TOK_OR = 36, /* "O" */
317  YYSYMBOL_TOK_OR_NOT = 37, /* "ON" */
318  YYSYMBOL_TOK_XOR = 38, /* "X" */
319  YYSYMBOL_TOK_XOR_NOT = 39, /* "XN" */
320  YYSYMBOL_TOK_AND_NESTED = 40, /* "A(" */
321  YYSYMBOL_TOK_AND_NOT_NESTED = 41, /* "AN(" */
322  YYSYMBOL_TOK_OR_NESTED = 42, /* "O(" */
323  YYSYMBOL_TOK_OR_NOT_NESTED = 43, /* "ON(" */
324  YYSYMBOL_TOK_XOR_NESTED = 44, /* "X(" */
325  YYSYMBOL_TOK_XOR_NOT_NESTED = 45, /* "XN(" */
327  YYSYMBOL_TOK_ASSIGN = 47, /* "=" */
328  YYSYMBOL_TOK_CONST_ADD = 48, /* "+" */
329  YYSYMBOL_TOK_ACCU_INT_ADD = 49, /* "+I" */
330  YYSYMBOL_TOK_ACCU_INT_SUB = 50, /* "-I" */
331  YYSYMBOL_TOK_ACCU_INT_MUL = 51, /* "*I" */
332  YYSYMBOL_TOK_ACCU_INT_DIV = 52, /* "/I" */
333  YYSYMBOL_TOK_ACCU_INT_EQ = 53, /* "==I" */
334  YYSYMBOL_TOK_ACCU_INT_NEQ = 54, /* "<>I" */
335  YYSYMBOL_TOK_ACCU_INT_GT = 55, /* ">I" */
336  YYSYMBOL_TOK_ACCU_INT_LT = 56, /* "<I" */
337  YYSYMBOL_TOK_ACCU_INT_GTE = 57, /* ">=I" */
338  YYSYMBOL_TOK_ACCU_INT_LTE = 58, /* "<=I" */
339  YYSYMBOL_TOK_ACCU_REAL_ADD = 59, /* "+R" */
340  YYSYMBOL_TOK_ACCU_REAL_SUB = 60, /* "-R" */
341  YYSYMBOL_TOK_ACCU_REAL_MUL = 61, /* "*R" */
342  YYSYMBOL_TOK_ACCU_REAL_DIV = 62, /* "/R" */
343  YYSYMBOL_TOK_ACCU_REAL_EQ = 63, /* "==R" */
344  YYSYMBOL_TOK_ACCU_REAL_NEQ = 64, /* "<>R" */
345  YYSYMBOL_TOK_ACCU_REAL_GT = 65, /* ">R" */
346  YYSYMBOL_TOK_ACCU_REAL_LT = 66, /* "<R" */
347  YYSYMBOL_TOK_ACCU_REAL_GTE = 67, /* ">=R" */
348  YYSYMBOL_TOK_ACCU_REAL_LTE = 68, /* "<=R" */
349  YYSYMBOL_TOK_ACCU_DINT_ADD = 69, /* "+D" */
350  YYSYMBOL_TOK_ACCU_DINT_SUB = 70, /* "-D" */
351  YYSYMBOL_TOK_ACCU_DINT_MUL = 71, /* "*D" */
352  YYSYMBOL_TOK_ACCU_DINT_DIV = 72, /* "/D" */
353  YYSYMBOL_TOK_ACCU_DINT_EQ = 73, /* "==D" */
354  YYSYMBOL_TOK_ACCU_DINT_NEQ = 74, /* "<>D" */
355  YYSYMBOL_TOK_ACCU_DINT_GT = 75, /* ">D" */
356  YYSYMBOL_TOK_ACCU_DINT_LT = 76, /* "<D" */
357  YYSYMBOL_TOK_ACCU_DINT_GTE = 77, /* ">=D" */
358  YYSYMBOL_TOK_ACCU_DINT_LTE = 78, /* "<=D" */
359  YYSYMBOL_TOK_ASSIGNMENT = 79, /* ":=" */
360  YYSYMBOL_TOK_INT_LITERAL = 80, /* TOK_INT_LITERAL */
361  YYSYMBOL_TOK_BOOL_LITERAL = 81, /* TOK_BOOL_LITERAL */
362  YYSYMBOL_TOK_REAL_LITERAL = 82, /* TOK_REAL_LITERAL */
363  YYSYMBOL_TOK_IDENTIFIER = 83, /* TOK_IDENTIFIER */
364  YYSYMBOL_TOK_TITLE_VALUE = 84, /* TOK_TITLE_VALUE */
365  YYSYMBOL_TOK_VERSION_VALUE = 85, /* TOK_VERSION_VALUE */
366  YYSYMBOL_TOK_LABEL = 86, /* TOK_LABEL */
367  YYSYMBOL_87_ = 87, /* ':' */
368  YYSYMBOL_88_ = 88, /* ',' */
369  YYSYMBOL_89_ = 89, /* ';' */
370  YYSYMBOL_90_ = 90, /* '#' */
371  YYSYMBOL_91_ = 91, /* '(' */
372  YYSYMBOL_YYACCEPT = 92, /* $accept */
373  YYSYMBOL_init = 93, /* init */
374  YYSYMBOL_Var_Decl_Init = 94, /* Var_Decl_Init */
375  YYSYMBOL_Variable_List = 95, /* Variable_List */
376  YYSYMBOL_Zom_Separated_Variable_Name = 96, /* Zom_Separated_Variable_Name */
377  YYSYMBOL_Variable_Name = 97, /* Variable_Name */
378  YYSYMBOL_Simple_Spec_Init = 98, /* Simple_Spec_Init */
379  YYSYMBOL_Simple_Spec = 99, /* Simple_Spec */
380  YYSYMBOL_Elem_Type_Name = 100, /* Elem_Type_Name */
381  YYSYMBOL_Numeric_Type_Name = 101, /* Numeric_Type_Name */
382  YYSYMBOL_Int_Type_Name = 102, /* Int_Type_Name */
383  YYSYMBOL_Sign_Int_Type_Name = 103, /* Sign_Int_Type_Name */
384  YYSYMBOL_DInt_Type_Name = 104, /* DInt_Type_Name */
385  YYSYMBOL_Sign_DInt_Type_Name = 105, /* Sign_DInt_Type_Name */
386  YYSYMBOL_Real_Type_Name = 106, /* Real_Type_Name */
387  YYSYMBOL_Bool_Type_Name = 107, /* Bool_Type_Name */
388  YYSYMBOL_Opt_Assignment = 108, /* Opt_Assignment */
389  YYSYMBOL_Derived_FB_Name = 109, /* Derived_FB_Name */
390  YYSYMBOL_FB_Decl = 110, /* FB_Decl */
391  YYSYMBOL_Version_Label = 111, /* Version_Label */
392  YYSYMBOL_Zom_FB_General_Var_Decls = 112, /* Zom_FB_General_Var_Decls */
393  YYSYMBOL_FB_General_Var_Decl = 113, /* FB_General_Var_Decl */
394  YYSYMBOL_FB_IO_Var_Decls = 114, /* FB_IO_Var_Decls */
395  YYSYMBOL_FB_Input_Decls = 115, /* FB_Input_Decls */
396  YYSYMBOL_Zom_FB_Input_Decl = 116, /* Zom_FB_Input_Decl */
397  YYSYMBOL_FB_Input_Decl = 117, /* FB_Input_Decl */
398  YYSYMBOL_FB_Output_Decls = 118, /* FB_Output_Decls */
399  YYSYMBOL_Zom_FB_Output_Decl = 119, /* Zom_FB_Output_Decl */
400  YYSYMBOL_FB_Output_Decl = 120, /* FB_Output_Decl */
401  YYSYMBOL_FB_Inout_Decls = 121, /* FB_Inout_Decls */
402  YYSYMBOL_Zom_FB_Inout_Decl = 122, /* Zom_FB_Inout_Decl */
403  YYSYMBOL_FB_Inout_Decl = 123, /* FB_Inout_Decl */
404  YYSYMBOL_FB_Static_Decls = 124, /* FB_Static_Decls */
405  YYSYMBOL_Zom_FB_Static_Decl = 125, /* Zom_FB_Static_Decl */
406  YYSYMBOL_FB_Static_Decl = 126, /* FB_Static_Decl */
407  YYSYMBOL_FB_Body = 127, /* FB_Body */
408  YYSYMBOL_Func_Decl = 128, /* Func_Decl */
409  YYSYMBOL_Derived_Func_Name = 129, /* Derived_Func_Name */
410  YYSYMBOL_Func_Return_Value = 130, /* Func_Return_Value */
411  YYSYMBOL_Zom_Func_General_Var_Decls = 131, /* Zom_Func_General_Var_Decls */
412  YYSYMBOL_Func_General_Var_Decl = 132, /* Func_General_Var_Decl */
413  YYSYMBOL_IO_Var_Decls = 133, /* IO_Var_Decls */
414  YYSYMBOL_Input_Decls = 134, /* Input_Decls */
415  YYSYMBOL_Zom_Input_Decl = 135, /* Zom_Input_Decl */
416  YYSYMBOL_Input_Decl = 136, /* Input_Decl */
417  YYSYMBOL_Inout_Decls = 137, /* Inout_Decls */
418  YYSYMBOL_Zom_Inout_Decl = 138, /* Zom_Inout_Decl */
419  YYSYMBOL_Inout_Decl = 139, /* Inout_Decl */
420  YYSYMBOL_Output_Decls = 140, /* Output_Decls */
421  YYSYMBOL_Zom_Output_Decl = 141, /* Zom_Output_Decl */
422  YYSYMBOL_Output_Decl = 142, /* Output_Decl */
423  YYSYMBOL_Temp_Decls = 143, /* Temp_Decls */
424  YYSYMBOL_Zom_Temp_Decl = 144, /* Zom_Temp_Decl */
425  YYSYMBOL_Temp_Decl = 145, /* Temp_Decl */
426  YYSYMBOL_Constant_Decls = 146, /* Constant_Decls */
427  YYSYMBOL_Zom_Constant_Decl = 147, /* Zom_Constant_Decl */
428  YYSYMBOL_Constant_Decl = 148, /* Constant_Decl */
429  YYSYMBOL_Func_Body = 149, /* Func_Body */
430  YYSYMBOL_Zom_IL_Network = 150, /* Zom_IL_Network */
431  YYSYMBOL_IL_Network = 151, /* IL_Network */
432  YYSYMBOL_Opt_TITLE_VALUE = 152, /* Opt_TITLE_VALUE */
433  YYSYMBOL_Opt_Instruction_List = 153, /* Opt_Instruction_List */
434  YYSYMBOL_Instruction_List = 154, /* Instruction_List */
435  YYSYMBOL_Oom_IL_Instruction = 155, /* Oom_IL_Instruction */
436  YYSYMBOL_IL_Instruction = 156, /* IL_Instruction */
437  YYSYMBOL_Opt_Label = 157, /* Opt_Label */
438  YYSYMBOL_IL_Label = 158, /* IL_Label */
439  YYSYMBOL_Opt_Instruction = 159, /* Opt_Instruction */
440  YYSYMBOL_IL_Simple_Operation = 160, /* IL_Simple_Operation */
441  YYSYMBOL_Opt_Operand = 161, /* Opt_Operand */
442  YYSYMBOL_IL_Simple_Operator = 162, /* IL_Simple_Operator */
443  YYSYMBOL_IL_Operand = 163, /* IL_Operand */
444  YYSYMBOL_Variable_Access = 164, /* Variable_Access */
445  YYSYMBOL_Constant = 165, /* Constant */
446  YYSYMBOL_IL_Invocation = 166, /* IL_Invocation */
447  YYSYMBOL_Call = 167, /* Call */
448  YYSYMBOL_Callee_Name = 168, /* Callee_Name */
449  YYSYMBOL_Opt_Param_List = 169, /* Opt_Param_List */
450  YYSYMBOL_Oom_Param_Assignment = 170, /* Oom_Param_Assignment */
451  YYSYMBOL_Param_Assignment = 171, /* Param_Assignment */
452  YYSYMBOL_Opt_Data_Block = 172, /* Opt_Data_Block */
453  YYSYMBOL_Tag_Decl = 173, /* Tag_Decl */
454  YYSYMBOL_Opt_Tag_List = 174, /* Opt_Tag_List */
455  YYSYMBOL_Tag_List = 175 /* Tag_List */
456 };
457 typedef enum yysymbol_kind_t yysymbol_kind_t;
458 
459 
460 
461 
462 #ifdef short
463 # undef short
464 #endif
465 
466 /* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
467  <limits.h> and (if available) <stdint.h> are included
468  so that the code can choose integer types of a good width. */
469 
470 #ifndef __PTRDIFF_MAX__
471 # include <limits.h> /* INFRINGES ON USER NAME SPACE */
472 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
473 # include <stdint.h> /* INFRINGES ON USER NAME SPACE */
474 # define YY_STDINT_H
475 # endif
476 #endif
477 
478 /* Narrow types that promote to a signed type and that can represent a
479  signed or unsigned integer of at least N bits. In tables they can
480  save space and decrease cache pressure. Promoting to a signed type
481  helps avoid bugs in integer arithmetic. */
482 
483 #ifdef __INT_LEAST8_MAX__
484 typedef __INT_LEAST8_TYPE__ yytype_int8;
485 #elif defined YY_STDINT_H
486 typedef int_least8_t yytype_int8;
487 #else
488 typedef signed char yytype_int8;
489 #endif
490 
491 #ifdef __INT_LEAST16_MAX__
492 typedef __INT_LEAST16_TYPE__ yytype_int16;
493 #elif defined YY_STDINT_H
494 typedef int_least16_t yytype_int16;
495 #else
496 typedef short yytype_int16;
497 #endif
498 
499 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
500 typedef __UINT_LEAST8_TYPE__ yytype_uint8;
501 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
502  && UINT_LEAST8_MAX <= INT_MAX)
503 typedef uint_least8_t yytype_uint8;
504 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
505 typedef unsigned char yytype_uint8;
506 #else
507 typedef short yytype_uint8;
508 #endif
509 
510 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
511 typedef __UINT_LEAST16_TYPE__ yytype_uint16;
512 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
513  && UINT_LEAST16_MAX <= INT_MAX)
514 typedef uint_least16_t yytype_uint16;
515 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
516 typedef unsigned short yytype_uint16;
517 #else
518 typedef int yytype_uint16;
519 #endif
520 
521 #ifndef YYPTRDIFF_T
522 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
523 # define YYPTRDIFF_T __PTRDIFF_TYPE__
524 # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
525 # elif defined PTRDIFF_MAX
526 # ifndef ptrdiff_t
527 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
528 # endif
529 # define YYPTRDIFF_T ptrdiff_t
530 # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
531 # else
532 # define YYPTRDIFF_T long
533 # define YYPTRDIFF_MAXIMUM LONG_MAX
534 # endif
535 #endif
536 
537 #ifndef YYSIZE_T
538 # ifdef __SIZE_TYPE__
539 # define YYSIZE_T __SIZE_TYPE__
540 # elif defined size_t
541 # define YYSIZE_T size_t
542 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
543 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
544 # define YYSIZE_T size_t
545 # else
546 # define YYSIZE_T unsigned
547 # endif
548 #endif
549 
550 #define YYSIZE_MAXIMUM \
551  YY_CAST (YYPTRDIFF_T, \
552  (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
553  ? YYPTRDIFF_MAXIMUM \
554  : YY_CAST (YYSIZE_T, -1)))
555 
556 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
557 
558 
559 /* Stored state numbers (used for stacks). */
561 
562 /* State numbers in computations. */
563 typedef int yy_state_fast_t;
564 
565 #ifndef YY_
566 # if defined YYENABLE_NLS && YYENABLE_NLS
567 # if ENABLE_NLS
568 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
569 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
570 # endif
571 # endif
572 # ifndef YY_
573 # define YY_(Msgid) Msgid
574 # endif
575 #endif
576 
577 
578 #ifndef YY_ATTRIBUTE_PURE
579 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
580 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
581 # else
582 # define YY_ATTRIBUTE_PURE
583 # endif
584 #endif
585 
586 #ifndef YY_ATTRIBUTE_UNUSED
587 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
588 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
589 # else
590 # define YY_ATTRIBUTE_UNUSED
591 # endif
592 #endif
593 
594 /* Suppress unused-variable warnings by "using" E. */
595 #if ! defined lint || defined __GNUC__
596 # define YYUSE(E) ((void) (E))
597 #else
598 # define YYUSE(E) /* empty */
599 #endif
600 
601 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
602 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
603 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
604  _Pragma ("GCC diagnostic push") \
605  _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
606  _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
607 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
608  _Pragma ("GCC diagnostic pop")
609 #else
610 # define YY_INITIAL_VALUE(Value) Value
611 #endif
612 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
613 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
614 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
615 #endif
616 #ifndef YY_INITIAL_VALUE
617 # define YY_INITIAL_VALUE(Value) /* Nothing. */
618 #endif
619 
620 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
621 # define YY_IGNORE_USELESS_CAST_BEGIN \
622  _Pragma ("GCC diagnostic push") \
623  _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
624 # define YY_IGNORE_USELESS_CAST_END \
625  _Pragma ("GCC diagnostic pop")
626 #endif
627 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
628 # define YY_IGNORE_USELESS_CAST_BEGIN
629 # define YY_IGNORE_USELESS_CAST_END
630 #endif
631 
632 
633 #define YY_ASSERT(E) ((void) (0 && (E)))
634 
635 #if !defined yyoverflow
636 
637 /* The parser invokes alloca or malloc; define the necessary symbols. */
638 
639 # ifdef YYSTACK_USE_ALLOCA
640 # if YYSTACK_USE_ALLOCA
641 # ifdef __GNUC__
642 # define YYSTACK_ALLOC __builtin_alloca
643 # elif defined __BUILTIN_VA_ARG_INCR
644 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
645 # elif defined _AIX
646 # define YYSTACK_ALLOC __alloca
647 # elif defined _MSC_VER
648 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
649 # define alloca _alloca
650 # else
651 # define YYSTACK_ALLOC alloca
652 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
653 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
654  /* Use EXIT_SUCCESS as a witness for stdlib.h. */
655 # ifndef EXIT_SUCCESS
656 # define EXIT_SUCCESS 0
657 # endif
658 # endif
659 # endif
660 # endif
661 # endif
662 
663 # ifdef YYSTACK_ALLOC
664  /* Pacify GCC's 'empty if-body' warning. */
665 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
666 # ifndef YYSTACK_ALLOC_MAXIMUM
667  /* The OS might guarantee only one guard page at the bottom of the stack,
668  and a page size can be as small as 4096 bytes. So we cannot safely
669  invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
670  to allow for a few compiler-allocated temporary stack slots. */
671 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
672 # endif
673 # else
674 # define YYSTACK_ALLOC YYMALLOC
675 # define YYSTACK_FREE YYFREE
676 # ifndef YYSTACK_ALLOC_MAXIMUM
677 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
678 # endif
679 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
680  && ! ((defined YYMALLOC || defined malloc) \
681  && (defined YYFREE || defined free)))
682 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
683 # ifndef EXIT_SUCCESS
684 # define EXIT_SUCCESS 0
685 # endif
686 # endif
687 # ifndef YYMALLOC
688 # define YYMALLOC malloc
689 # if ! defined malloc && ! defined EXIT_SUCCESS
690 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
691 # endif
692 # endif
693 # ifndef YYFREE
694 # define YYFREE free
695 # if ! defined free && ! defined EXIT_SUCCESS
696 void free (void *); /* INFRINGES ON USER NAME SPACE */
697 # endif
698 # endif
699 # endif
700 #endif /* !defined yyoverflow */
701 
702 #if (! defined yyoverflow \
703  && (! defined __cplusplus \
704  || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
705 
706 /* A type that is properly aligned for any stack member. */
707 union yyalloc
708 {
711 };
712 
713 /* The size of the maximum gap between one aligned stack and the next. */
714 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
715 
716 /* The size of an array large to enough to hold all stacks, each with
717  N elements. */
718 # define YYSTACK_BYTES(N) \
719  ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
720  + YYSTACK_GAP_MAXIMUM)
721 
722 # define YYCOPY_NEEDED 1
723 
724 /* Relocate STACK from its old location to the new one. The
725  local variables YYSIZE and YYSTACKSIZE give the old and new number of
726  elements in the stack, and YYPTR gives the new location of the
727  stack. Advance YYPTR to a properly aligned location for the next
728  stack. */
729 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
730  do \
731  { \
732  YYPTRDIFF_T yynewbytes; \
733  YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
734  Stack = &yyptr->Stack_alloc; \
735  yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
736  yyptr += yynewbytes / YYSIZEOF (*yyptr); \
737  } \
738  while (0)
739 
740 #endif
741 
742 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
743 /* Copy COUNT objects from SRC to DST. The source and destination do
744  not overlap. */
745 # ifndef YYCOPY
746 # if defined __GNUC__ && 1 < __GNUC__
747 # define YYCOPY(Dst, Src, Count) \
748  __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
749 # else
750 # define YYCOPY(Dst, Src, Count) \
751  do \
752  { \
753  YYPTRDIFF_T yyi; \
754  for (yyi = 0; yyi < (Count); yyi++) \
755  (Dst)[yyi] = (Src)[yyi]; \
756  } \
757  while (0)
758 # endif
759 # endif
760 #endif /* !YYCOPY_NEEDED */
761 
762 /* YYFINAL -- State number of the termination state. */
763 #define YYFINAL 2
764 /* YYLAST -- Last index in YYTABLE. */
765 #define YYLAST 227
766 
767 /* YYNTOKENS -- Number of terminals. */
768 #define YYNTOKENS 92
769 /* YYNNTS -- Number of nonterminals. */
770 #define YYNNTS 84
771 /* YYNRULES -- Number of rules. */
772 #define YYNRULES 182
773 /* YYNSTATES -- Number of states. */
774 #define YYNSTATES 235
775 
776 #define YYMAXUTOK 341
777 
778 
779 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
780  as returned by yylex, with out-of-bounds checking. */
781 #define YYTRANSLATE(YYX) \
782  (0 <= (YYX) && (YYX) <= YYMAXUTOK \
783  ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
784  : YYSYMBOL_YYUNDEF)
785 
786 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
787  as returned by yylex. */
788 static const yytype_int8 yytranslate[] =
789 {
790  0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
791  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
792  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
793  2, 2, 2, 2, 2, 90, 2, 2, 2, 2,
794  91, 2, 2, 2, 88, 2, 2, 2, 2, 2,
795  2, 2, 2, 2, 2, 2, 2, 2, 87, 89,
796  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
797  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
798  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
799  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
800  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
801  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
802  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
803  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
804  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
805  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
806  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
807  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
808  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
809  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
810  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
811  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
812  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
813  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
814  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
815  2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
816  5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
817  15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
818  25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
819  35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
820  45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
821  55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
822  65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
823  75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
824  85, 86
825 };
826 
827 #if YYDEBUG
828  /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
829 static const yytype_int16 yyrline[] =
830 {
831  0, 154, 154, 155, 156, 157, 162, 171, 179, 185,
832  193, 202, 206, 210, 214, 215, 216, 217, 221, 225,
833  233, 237, 245, 253, 260, 265, 271, 275, 289, 296,
834  302, 309, 310, 311, 312, 316, 317, 318, 322, 329,
835  335, 342, 350, 357, 363, 370, 378, 385, 391, 398,
836  406, 413, 419, 426, 434, 442, 456, 460, 464, 471,
837  477, 484, 485, 486, 490, 491, 492, 496, 503, 509,
838  516, 520, 527, 533, 540, 544, 551, 557, 564, 568,
839  575, 581, 588, 592, 599, 605, 612, 620, 628, 634,
840  641, 652, 654, 661, 663, 671, 675, 680, 689, 697,
841  699, 706, 710, 711, 713, 720, 730, 732, 739, 744,
842  749, 754, 759, 764, 769, 774, 779, 784, 789, 794,
843  799, 804, 809, 814, 819, 824, 829, 834, 839, 844,
844  849, 854, 859, 864, 869, 874, 879, 884, 889, 894,
845  899, 904, 909, 914, 919, 924, 929, 934, 939, 944,
846  949, 954, 959, 964, 969, 974, 979, 984, 989, 994,
847  999, 1007, 1008, 1012, 1016, 1023, 1024, 1025, 1029, 1042,
848  1050, 1059, 1064, 1070, 1075, 1083, 1091, 1098, 1105, 1112,
849  1114, 1120, 1126
850 };
851 #endif
852 
854 #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
855 
856 #if YYDEBUG || 0
857 /* The user-facing name of the symbol whose (internal) number is
858  YYSYMBOL. No bounds checking. */
859 static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
860 
861 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
862  First, the terminals, then, starting at YYNTOKENS, nonterminals. */
863 static const char *const yytname[] =
864 {
865  "\"end of file\"", "error", "\"invalid token\"", "\"VERSION\"",
866  "\"BEGIN\"", "\"FUNCTION_BLOCK\"", "\"END_FUNCTION_BLOCK\"",
867  "\"FUNCTION\"", "\"END_FUNCTION\"", "\"VAR_INPUT\"", "\"VAR_IN_OUT\"",
868  "\"VAR_OUTPUT\"", "\"VAR\"", "\"VAR_TEMP\"", "\"VAR CONSTANT\"",
869  "\"END_VAR\"", "\"NETWORK\"", "\"TITLE\"", "\"TAG\"", "\"END_TAG\"",
870  "\"Int\"", "\"DInt\"", "\"Real\"", "\"Bool\"", "\"Void\"", "\"L\"",
871  "\"T\"", "\"CALL\"", "\"NOP\"", "\"SET\"", "\"CLR\"", "\"S\"", "\"R\"",
872  "\"NOT\"", "\"A\"", "\"AN\"", "\"O\"", "\"ON\"", "\"X\"", "\"XN\"",
873  "\"A(\"", "\"AN(\"", "\"O(\"", "\"ON(\"", "\"X(\"", "\"XN(\"", "\")\"",
874  "\"=\"", "\"+\"", "\"+I\"", "\"-I\"", "\"*I\"", "\"/I\"", "\"==I\"",
875  "\"<>I\"", "\">I\"", "\"<I\"", "\">=I\"", "\"<=I\"", "\"+R\"", "\"-R\"",
876  "\"*R\"", "\"/R\"", "\"==R\"", "\"<>R\"", "\">R\"", "\"<R\"", "\">=R\"",
877  "\"<=R\"", "\"+D\"", "\"-D\"", "\"*D\"", "\"/D\"", "\"==D\"", "\"<>D\"",
878  "\">D\"", "\"<D\"", "\">=D\"", "\"<=D\"", "\":=\"", "TOK_INT_LITERAL",
879  "TOK_BOOL_LITERAL", "TOK_REAL_LITERAL", "TOK_IDENTIFIER",
880  "TOK_TITLE_VALUE", "TOK_VERSION_VALUE", "TOK_LABEL", "':'", "','", "';'",
881  "'#'", "'('", "$accept", "init", "Var_Decl_Init", "Variable_List",
882  "Zom_Separated_Variable_Name", "Variable_Name", "Simple_Spec_Init",
883  "Simple_Spec", "Elem_Type_Name", "Numeric_Type_Name", "Int_Type_Name",
884  "Sign_Int_Type_Name", "DInt_Type_Name", "Sign_DInt_Type_Name",
885  "Real_Type_Name", "Bool_Type_Name", "Opt_Assignment", "Derived_FB_Name",
886  "FB_Decl", "Version_Label", "Zom_FB_General_Var_Decls",
887  "FB_General_Var_Decl", "FB_IO_Var_Decls", "FB_Input_Decls",
888  "Zom_FB_Input_Decl", "FB_Input_Decl", "FB_Output_Decls",
889  "Zom_FB_Output_Decl", "FB_Output_Decl", "FB_Inout_Decls",
890  "Zom_FB_Inout_Decl", "FB_Inout_Decl", "FB_Static_Decls",
891  "Zom_FB_Static_Decl", "FB_Static_Decl", "FB_Body", "Func_Decl",
892  "Derived_Func_Name", "Func_Return_Value", "Zom_Func_General_Var_Decls",
893  "Func_General_Var_Decl", "IO_Var_Decls", "Input_Decls", "Zom_Input_Decl",
894  "Input_Decl", "Inout_Decls", "Zom_Inout_Decl", "Inout_Decl",
895  "Output_Decls", "Zom_Output_Decl", "Output_Decl", "Temp_Decls",
896  "Zom_Temp_Decl", "Temp_Decl", "Constant_Decls", "Zom_Constant_Decl",
897  "Constant_Decl", "Func_Body", "Zom_IL_Network", "IL_Network",
898  "Opt_TITLE_VALUE", "Opt_Instruction_List", "Instruction_List",
899  "Oom_IL_Instruction", "IL_Instruction", "Opt_Label", "IL_Label",
900  "Opt_Instruction", "IL_Simple_Operation", "Opt_Operand",
901  "IL_Simple_Operator", "IL_Operand", "Variable_Access", "Constant",
902  "IL_Invocation", "Call", "Callee_Name", "Opt_Param_List",
903  "Oom_Param_Assignment", "Param_Assignment", "Opt_Data_Block", "Tag_Decl",
904  "Opt_Tag_List", "Tag_List", YY_NULLPTR
905 };
906 
907 static const char *
908 yysymbol_name (yysymbol_kind_t yysymbol)
909 {
910  return yytname[yysymbol];
911 }
912 #endif
913 
914 #ifdef YYPRINT
915 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
916  (internal) symbol number NUM (which must be that of a token). */
917 static const yytype_int16 yytoknum[] =
918 {
919  0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
920  265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
921  275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
922  285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
923  295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
924  305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
925  315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
926  325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
927  335, 336, 337, 338, 339, 340, 341, 58, 44, 59,
928  35, 40
929 };
930 #endif
931 
932 #define YYPACT_NINF (-117)
933 
934 #define yypact_value_is_default(Yyn) \
935  ((Yyn) == YYPACT_NINF)
936 
937 #define YYTABLE_NINF (-96)
938 
939 #define yytable_value_is_error(Yyn) \
940  0
941 
942  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
943  STATE-NUM. */
944 static const yytype_int8 yypact[] =
945 {
946  -117, 26, -117, -69, -68, -56, -117, -117, -117, -117,
947  25, -117, -57, -117, 16, 15, -56, -45, -117, 69,
948  -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
949  -117, -117, -117, -117, -117, 16, -42, 36, -117, -117,
950  25, -117, -117, -117, -117, -117, -117, -117, -117, -117,
951  -117, -117, -117, -117, -117, -117, 53, -117, -117, -117,
952  46, -9, -8, -7, -6, 1, 2, -117, 47, 50,
953  -117, -117, -11, -18, -117, -19, -117, -11, 6, -117,
954  -11, 7, -117, -11, 8, -117, -117, 9, -117, -11,
955  10, -117, -117, -117, -117, -117, -117, -117, -117, -117,
956  -117, -117, 63, 34, -27, -117, 16, 12, -117, -117,
957  -117, -117, -117, -117, -117, -117, -117, -117, 46, 3,
958  4, 5, -117, 17, -117, -117, -117, -117, -117, -56,
959  -117, -117, 13, -117, -117, 14, -117, -117, 18, -117,
960  -4, -117, -117, -117, -117, -117, -117, -117, -3, -117,
961  100, -117, -117, -117, -117, -117, -117, -117, -117, -117,
962  -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
963  -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
964  -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
965  -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
966  -117, -117, -117, -117, -117, -117, -117, 19, -117, -17,
967  -117, -68, -117, -56, -117, -117, -117, -117, -117, -117,
968  21, -117, -56, 20, -117, -56, -117, 27, -36, -117,
969  -17, -117, -56, -117, -117
970 };
971 
972  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
973  Performed when YYTABLE does not specify something else to do. Zero
974  means the default is an error. */
975 static const yytype_uint8 yydefact[] =
976 {
977  5, 0, 1, 0, 0, 180, 2, 3, 4, 26,
978  0, 56, 0, 10, 0, 0, 179, 0, 30, 0,
979  19, 21, 22, 23, 182, 11, 12, 13, 14, 18,
980  15, 20, 16, 17, 178, 0, 0, 0, 57, 58,
981  0, 181, 28, 89, 40, 48, 44, 52, 81, 85,
982  29, 31, 35, 36, 37, 32, 0, 33, 34, 60,
983  54, 0, 0, 0, 0, 0, 0, 27, 0, 0,
984  88, 38, 25, 0, 9, 0, 46, 25, 0, 42,
985  25, 0, 50, 25, 0, 79, 82, 0, 83, 25,
986  0, 89, 69, 73, 77, 59, 61, 64, 66, 65,
987  62, 63, 0, 0, 0, 41, 0, 7, 39, 49,
988  47, 45, 43, 53, 51, 80, 86, 84, 87, 0,
989  0, 0, 55, 92, 165, 166, 167, 24, 6, 0,
990  67, 70, 0, 71, 74, 0, 75, 78, 0, 91,
991  100, 8, 68, 72, 76, 101, 90, 93, 100, 97,
992  104, 99, 96, 108, 109, 169, 110, 156, 157, 158,
993  159, 160, 142, 143, 144, 145, 146, 147, 148, 149,
994  150, 151, 152, 153, 154, 155, 111, 112, 113, 114,
995  115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
996  125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
997  135, 136, 137, 138, 139, 140, 141, 0, 102, 107,
998  103, 0, 98, 0, 164, 105, 106, 162, 161, 170,
999  177, 163, 0, 172, 176, 0, 168, 0, 0, 174,
1000  0, 171, 0, 175, 173
1001 };
1002 
1003  /* YYPGOTO[NTERM-NUM]. */
1004 static const yytype_int8 yypgoto[] =
1005 {
1006  -117, -117, -41, -117, -117, -5, -34, 75, -117, -117,
1007  -117, -117, -117, -117, -117, -117, -48, -117, -117, 64,
1008  -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
1009  -117, -117, -117, -117, -117, -117, -117, -106, -117, -117,
1010  -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
1011  -117, 42, -117, -117, 44, -117, -117, -117, 22, -117,
1012  -117, -117, -117, -117, -33, -117, -117, -117, -117, -117,
1013  -117, -116, -117, 76, -117, -117, -117, -117, -117, -115,
1014  -117, -117, -117, -117
1015 };
1016 
1017  /* YYDEFGOTO[NTERM-NUM]. */
1018 static const yytype_int16 yydefgoto[] =
1019 {
1020  -1, 1, 72, 73, 107, 74, 24, 25, 26, 27,
1021  28, 29, 30, 31, 32, 33, 105, 10, 6, 18,
1022  37, 50, 51, 52, 61, 75, 53, 63, 81, 54,
1023  62, 78, 55, 64, 84, 56, 7, 12, 40, 68,
1024  95, 96, 97, 119, 132, 98, 120, 135, 99, 121,
1025  138, 57, 65, 87, 58, 66, 90, 102, 60, 70,
1026  140, 146, 147, 148, 149, 150, 151, 207, 208, 215,
1027  209, 216, 217, 218, 210, 211, 220, 226, 228, 229,
1028  223, 8, 15, 16
1029 };
1030 
1031  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
1032  positive, shift that token. If negative, reduce the rule whose
1033  number is the opposite. If YYTABLE_NINF, syntax error. */
1034 static const yytype_int16 yytable[] =
1035 {
1036  14, 41, -94, -95, -94, -95, 71, 76, 79, 82,
1037  231, 35, -94, -95, 9, 11, 85, 88, 130, 133,
1038  136, 77, 80, 83, 86, 89, 2, 13, 17, 109,
1039  19, 3, 111, 4, 34, 113, 20, 21, 22, 23,
1040  43, 116, 36, 42, 5, 44, 45, 46, 47, 48,
1041  49, 91, 232, 124, 125, 126, 92, 93, 94, 67,
1042  48, 49, 69, 124, 125, 126, 13, 103, 104, 106,
1043  108, 122, 128, 213, 13, 13, 13, 13, 131, 134,
1044  137, 123, 145, 145, 13, 13, 13, 13, 13, 20,
1045  21, 22, 23, 38, 39, 110, 112, 114, 115, 117,
1046  129, 139, 142, 143, 59, 219, 230, 144, 212, 222,
1047  100, 225, 101, 118, 233, 152, 0, 234, 0, 0,
1048  0, 0, 0, 0, 141, 153, 154, 155, 156, 157,
1049  158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
1050  168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
1051  178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
1052  188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
1053  198, 199, 200, 201, 202, 203, 204, 205, 206, 0,
1054  127, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1055  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1056  0, 0, 0, 0, 214, 0, 0, 0, 221, 0,
1057  0, 0, 0, 0, 0, 0, 0, 224, 0, 0,
1058  227, 0, 0, 0, 0, 214, 0, 227
1059 };
1060 
1061 static const yytype_int16 yycheck[] =
1062 {
1063  5, 35, 6, 6, 8, 8, 15, 15, 15, 15,
1064  46, 16, 16, 16, 83, 83, 15, 15, 15, 15,
1065  15, 62, 63, 64, 65, 66, 0, 83, 3, 77,
1066  87, 5, 80, 7, 19, 83, 20, 21, 22, 23,
1067  4, 89, 87, 85, 18, 9, 10, 11, 12, 13,
1068  14, 4, 88, 80, 81, 82, 9, 10, 11, 6,
1069  13, 14, 16, 80, 81, 82, 83, 17, 79, 87,
1070  89, 8, 106, 90, 83, 83, 83, 83, 119, 120,
1071  121, 47, 86, 86, 83, 83, 83, 83, 83, 20,
1072  21, 22, 23, 24, 19, 89, 89, 89, 89, 89,
1073  88, 84, 89, 89, 40, 211, 79, 89, 89, 88,
1074  68, 91, 68, 91, 230, 148, -1, 232, -1, -1,
1075  -1, -1, -1, -1, 129, 25, 26, 27, 28, 29,
1076  30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1077  40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1078  50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1079  60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1080  70, 71, 72, 73, 74, 75, 76, 77, 78, -1,
1081  104, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1082  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1083  -1, -1, -1, -1, 209, -1, -1, -1, 213, -1,
1084  -1, -1, -1, -1, -1, -1, -1, 222, -1, -1,
1085  225, -1, -1, -1, -1, 230, -1, 232
1086 };
1087 
1088  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1089  symbol of state STATE-NUM. */
1090 static const yytype_uint8 yystos[] =
1091 {
1092  0, 93, 0, 5, 7, 18, 110, 128, 173, 83,
1093  109, 83, 129, 83, 97, 174, 175, 3, 111, 87,
1094  20, 21, 22, 23, 98, 99, 100, 101, 102, 103,
1095  104, 105, 106, 107, 19, 97, 87, 112, 24, 99,
1096  130, 98, 85, 4, 9, 10, 11, 12, 13, 14,
1097  113, 114, 115, 118, 121, 124, 127, 143, 146, 111,
1098  150, 116, 122, 119, 125, 144, 147, 6, 131, 16,
1099  151, 15, 94, 95, 97, 117, 15, 94, 123, 15,
1100  94, 120, 15, 94, 126, 15, 94, 145, 15, 94,
1101  148, 4, 9, 10, 11, 132, 133, 134, 137, 140,
1102  143, 146, 149, 17, 79, 108, 87, 96, 89, 108,
1103  89, 108, 89, 108, 89, 89, 108, 89, 150, 135,
1104  138, 141, 8, 47, 80, 81, 82, 165, 98, 88,
1105  15, 94, 136, 15, 94, 139, 15, 94, 142, 84,
1106  152, 97, 89, 89, 89, 86, 153, 154, 155, 156,
1107  157, 158, 156, 25, 26, 27, 28, 29, 30, 31,
1108  32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1109  42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1110  52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1111  62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1112  72, 73, 74, 75, 76, 77, 78, 159, 160, 162,
1113  166, 167, 89, 90, 97, 161, 163, 164, 165, 129,
1114  168, 97, 88, 172, 97, 91, 169, 97, 170, 171,
1115  79, 46, 88, 163, 171
1116 };
1117 
1118  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1119 static const yytype_uint8 yyr1[] =
1120 {
1121  0, 92, 93, 93, 93, 93, 94, 95, 96, 96,
1122  97, 98, 99, 100, 101, 101, 101, 101, 102, 103,
1123  104, 105, 106, 107, 108, 108, 109, 110, 111, 112,
1124  112, 113, 113, 113, 113, 114, 114, 114, 115, 116,
1125  116, 117, 118, 119, 119, 120, 121, 122, 122, 123,
1126  124, 125, 125, 126, 127, 128, 129, 130, 130, 131,
1127  131, 132, 132, 132, 133, 133, 133, 134, 135, 135,
1128  136, 137, 138, 138, 139, 140, 141, 141, 142, 143,
1129  144, 144, 145, 146, 147, 147, 148, 149, 150, 150,
1130  151, 152, 152, 153, 153, 154, 155, 155, 156, 157,
1131  157, 158, 159, 159, 159, 160, 161, 161, 162, 162,
1132  162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
1133  162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
1134  162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
1135  162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
1136  162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
1137  162, 163, 163, 164, 164, 165, 165, 165, 166, 167,
1138  168, 169, 169, 170, 170, 171, 172, 172, 173, 174,
1139  174, 175, 175
1140 };
1141 
1142  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1143 static const yytype_int8 yyr2[] =
1144 {
1145  0, 2, 2, 2, 2, 0, 3, 2, 3, 0,
1146  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1147  1, 1, 1, 1, 2, 0, 1, 6, 3, 2,
1148  0, 1, 1, 1, 1, 1, 1, 1, 3, 3,
1149  0, 2, 3, 3, 0, 2, 3, 3, 0, 2,
1150  3, 3, 0, 2, 2, 8, 1, 1, 1, 2,
1151  0, 1, 1, 1, 1, 1, 1, 3, 3, 0,
1152  1, 3, 3, 0, 1, 3, 3, 0, 1, 3,
1153  3, 0, 1, 3, 3, 0, 2, 2, 2, 0,
1154  5, 1, 0, 1, 0, 1, 2, 1, 3, 1,
1155  0, 1, 1, 1, 0, 2, 1, 0, 1, 1,
1156  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1157  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1158  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1159  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1160  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1161  1, 1, 1, 2, 1, 1, 1, 1, 4, 1,
1162  1, 3, 0, 3, 1, 3, 2, 0, 3, 1,
1163  0, 3, 2
1164 };
1165 
1166 
1167 enum { YYENOMEM = -2 };
1168 
1169 #define yyerrok (yyerrstatus = 0)
1170 #define yyclearin (yychar = YYEMPTY)
1172 #define YYACCEPT goto yyacceptlab
1173 #define YYABORT goto yyabortlab
1174 #define YYERROR goto yyerrorlab
1176 
1177 #define YYRECOVERING() (!!yyerrstatus)
1179 #define YYBACKUP(Token, Value) \
1180  do \
1181  if (yychar == YYEMPTY) \
1182  { \
1183  yychar = (Token); \
1184  yylval = (Value); \
1185  YYPOPSTACK (yylen); \
1186  yystate = *yyssp; \
1187  goto yybackup; \
1188  } \
1189  else \
1190  { \
1191  yyerror (YY_("syntax error: cannot back up")); \
1192  YYERROR; \
1193  } \
1194  while (0)
1195 
1196 /* Backward compatibility with an undocumented macro.
1197  Use YYerror or YYUNDEF. */
1198 #define YYERRCODE YYUNDEF
1200 
1201 /* Enable debugging if requested. */
1202 #if YYDEBUG
1203 
1204 # ifndef YYFPRINTF
1205 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1206 # define YYFPRINTF fprintf
1207 # endif
1208 
1209 # define YYDPRINTF(Args) \
1210 do { \
1211  if (yydebug) \
1212  YYFPRINTF Args; \
1213 } while (0)
1214 
1215 /* This macro is provided for backward compatibility. */
1216 # ifndef YY_LOCATION_PRINT
1217 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1218 # endif
1219 
1220 
1221 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
1222 do { \
1223  if (yydebug) \
1224  { \
1225  YYFPRINTF (stderr, "%s ", Title); \
1226  yy_symbol_print (stderr, \
1227  Kind, Value); \
1228  YYFPRINTF (stderr, "\n"); \
1229  } \
1230 } while (0)
1231 
1232 
1233 /*-----------------------------------.
1234 | Print this symbol's value on YYO. |
1235 `-----------------------------------*/
1236 
1237 static void
1238 yy_symbol_value_print (FILE *yyo,
1239  yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
1240 {
1241  FILE *yyoutput = yyo;
1242  YYUSE (yyoutput);
1243  if (!yyvaluep)
1244  return;
1245 # ifdef YYPRINT
1246  if (yykind < YYNTOKENS)
1247  YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
1248 # endif
1250  YYUSE (yykind);
1252 }
1253 
1254 
1255 /*---------------------------.
1256 | Print this symbol on YYO. |
1257 `---------------------------*/
1258 
1259 static void
1260 yy_symbol_print (FILE *yyo,
1261  yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
1262 {
1263  YYFPRINTF (yyo, "%s %s (",
1264  yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
1265 
1266  yy_symbol_value_print (yyo, yykind, yyvaluep);
1267  YYFPRINTF (yyo, ")");
1268 }
1269 
1270 /*------------------------------------------------------------------.
1271 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1272 | TOP (included). |
1273 `------------------------------------------------------------------*/
1274 
1275 static void
1276 yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
1277 {
1278  YYFPRINTF (stderr, "Stack now");
1279  for (; yybottom <= yytop; yybottom++)
1280  {
1281  int yybot = *yybottom;
1282  YYFPRINTF (stderr, " %d", yybot);
1283  }
1284  YYFPRINTF (stderr, "\n");
1285 }
1286 
1287 # define YY_STACK_PRINT(Bottom, Top) \
1288 do { \
1289  if (yydebug) \
1290  yy_stack_print ((Bottom), (Top)); \
1291 } while (0)
1292 
1293 
1294 /*------------------------------------------------.
1295 | Report that the YYRULE is going to be reduced. |
1296 `------------------------------------------------*/
1297 
1298 static void
1299 yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
1300  int yyrule)
1301 {
1302  int yylno = yyrline[yyrule];
1303  int yynrhs = yyr2[yyrule];
1304  int yyi;
1305  YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
1306  yyrule - 1, yylno);
1307  /* The symbols being reduced. */
1308  for (yyi = 0; yyi < yynrhs; yyi++)
1309  {
1310  YYFPRINTF (stderr, " $%d = ", yyi + 1);
1311  yy_symbol_print (stderr,
1312  YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
1313  &yyvsp[(yyi + 1) - (yynrhs)]);
1314  YYFPRINTF (stderr, "\n");
1315  }
1316 }
1317 
1318 # define YY_REDUCE_PRINT(Rule) \
1319 do { \
1320  if (yydebug) \
1321  yy_reduce_print (yyssp, yyvsp, Rule); \
1322 } while (0)
1323 
1324 /* Nonzero means print parse trace. It is left uninitialized so that
1325  multiple parsers can coexist. */
1326 int yydebug;
1327 #else /* !YYDEBUG */
1328 # define YYDPRINTF(Args) ((void) 0)
1329 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
1330 # define YY_STACK_PRINT(Bottom, Top)
1331 # define YY_REDUCE_PRINT(Rule)
1332 #endif /* !YYDEBUG */
1333 
1334 
1335 /* YYINITDEPTH -- initial size of the parser's stacks. */
1336 #ifndef YYINITDEPTH
1337 # define YYINITDEPTH 200
1338 #endif
1339 
1340 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1341  if the built-in stack extension method is used).
1342 
1343  Do not make this value too large; the results are undefined if
1344  YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1345  evaluated with infinite-precision integer arithmetic. */
1346 
1347 #ifndef YYMAXDEPTH
1348 # define YYMAXDEPTH 10000
1349 #endif
1350 
1351 
1352 
1353 
1354 
1355 
1356 /*-----------------------------------------------.
1357 | Release the memory associated to this symbol. |
1358 `-----------------------------------------------*/
1359 
1360 static void
1361 yydestruct (const char *yymsg,
1362  yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
1363 {
1364  YYUSE (yyvaluep);
1365  if (!yymsg)
1366  yymsg = "Deleting";
1367  YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
1368 
1370  YYUSE (yykind);
1372 }
1373 
1374 
1375 /* The lookahead symbol. */
1377 
1378 /* The semantic value of the lookahead symbol. */
1380 /* Number of syntax errors so far. */
1382 
1383 
1384 
1385 
1386 /*----------.
1387 | yyparse. |
1388 `----------*/
1389 
1390 int
1391 yyparse (void)
1392 {
1393  yy_state_fast_t yystate;
1394  /* Number of tokens to shift before error messages enabled. */
1395  int yyerrstatus;
1396 
1397  /* The stacks and their tools:
1398  'yyss': related to states.
1399  'yyvs': related to semantic values.
1400 
1401  Refer to the stacks through separate pointers, to allow yyoverflow
1402  to reallocate them elsewhere. */
1403 
1404  /* Their size. */
1405  YYPTRDIFF_T yystacksize;
1406 
1407  /* The state stack. */
1408  yy_state_t yyssa[YYINITDEPTH];
1409  yy_state_t *yyss;
1410  yy_state_t *yyssp;
1411 
1412  /* The semantic value stack. */
1413  YYSTYPE yyvsa[YYINITDEPTH];
1414  YYSTYPE *yyvs;
1415  YYSTYPE *yyvsp;
1416 
1417  int yyn;
1418  /* The return value of yyparse. */
1419  int yyresult;
1420  /* Lookahead token as an internal (translated) token number. */
1422  /* The variables used to return semantic value and location from the
1423  action routines. */
1424  YYSTYPE yyval;
1425 
1426 
1427 
1428 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1429 
1430  /* The number of symbols on the RHS of the reduced rule.
1431  Keep to zero when no symbol should be popped. */
1432  int yylen = 0;
1433 
1434  yynerrs = 0;
1435  yystate = 0;
1436  yyerrstatus = 0;
1437 
1438  yystacksize = YYINITDEPTH;
1439  yyssp = yyss = yyssa;
1440  yyvsp = yyvs = yyvsa;
1441 
1442 
1443  YYDPRINTF ((stderr, "Starting parse\n"));
1444 
1445  yychar = YYEMPTY; /* Cause a token to be read. */
1446  goto yysetstate;
1447 
1448 
1449 /*------------------------------------------------------------.
1450 | yynewstate -- push a new state, which is found in yystate. |
1451 `------------------------------------------------------------*/
1452 yynewstate:
1453  /* In all cases, when you get here, the value and location stacks
1454  have just been pushed. So pushing a state here evens the stacks. */
1455  yyssp++;
1456 
1457 
1458 /*--------------------------------------------------------------------.
1459 | yysetstate -- set current state (the top of the stack) to yystate. |
1460 `--------------------------------------------------------------------*/
1461 yysetstate:
1462  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1463  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
1465  *yyssp = YY_CAST (yy_state_t, yystate);
1467  YY_STACK_PRINT (yyss, yyssp);
1468 
1469  if (yyss + yystacksize - 1 <= yyssp)
1470 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
1471  goto yyexhaustedlab;
1472 #else
1473  {
1474  /* Get the current used size of the three stacks, in elements. */
1475  YYPTRDIFF_T yysize = yyssp - yyss + 1;
1476 
1477 # if defined yyoverflow
1478  {
1479  /* Give user a chance to reallocate the stack. Use copies of
1480  these so that the &'s don't force the real ones into
1481  memory. */
1482  yy_state_t *yyss1 = yyss;
1483  YYSTYPE *yyvs1 = yyvs;
1484 
1485  /* Each stack pointer address is followed by the size of the
1486  data in use in that stack, in bytes. This used to be a
1487  conditional around just the two extra args, but that might
1488  be undefined if yyoverflow is a macro. */
1489  yyoverflow (YY_("memory exhausted"),
1490  &yyss1, yysize * YYSIZEOF (*yyssp),
1491  &yyvs1, yysize * YYSIZEOF (*yyvsp),
1492  &yystacksize);
1493  yyss = yyss1;
1494  yyvs = yyvs1;
1495  }
1496 # else /* defined YYSTACK_RELOCATE */
1497  /* Extend the stack our own way. */
1498  if (YYMAXDEPTH <= yystacksize)
1499  goto yyexhaustedlab;
1500  yystacksize *= 2;
1501  if (YYMAXDEPTH < yystacksize)
1502  yystacksize = YYMAXDEPTH;
1503 
1504  {
1505  yy_state_t *yyss1 = yyss;
1506  union yyalloc *yyptr =
1507  YY_CAST (union yyalloc *,
1508  YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
1509  if (! yyptr)
1510  goto yyexhaustedlab;
1511  YYSTACK_RELOCATE (yyss_alloc, yyss);
1512  YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1513 # undef YYSTACK_RELOCATE
1514  if (yyss1 != yyssa)
1515  YYSTACK_FREE (yyss1);
1516  }
1517 # endif
1518 
1519  yyssp = yyss + yysize - 1;
1520  yyvsp = yyvs + yysize - 1;
1521 
1523  YYDPRINTF ((stderr, "Stack size increased to %ld\n",
1524  YY_CAST (long, yystacksize)));
1526 
1527  if (yyss + yystacksize - 1 <= yyssp)
1528  YYABORT;
1529  }
1530 #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
1531 
1532  if (yystate == YYFINAL)
1533  YYACCEPT;
1534 
1535  goto yybackup;
1536 
1537 
1538 /*-----------.
1539 | yybackup. |
1540 `-----------*/
1541 yybackup:
1542  /* Do appropriate processing given the current state. Read a
1543  lookahead token if we need one and don't already have one. */
1544 
1545  /* First try to decide what to do without reference to lookahead token. */
1546  yyn = yypact[yystate];
1547  if (yypact_value_is_default (yyn))
1548  goto yydefault;
1549 
1550  /* Not known => get a lookahead token if don't already have one. */
1551 
1552  /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
1553  if (yychar == YYEMPTY)
1554  {
1555  YYDPRINTF ((stderr, "Reading a token\n"));
1556  yychar = yylex ();
1557  }
1558 
1559  if (yychar <= YYEOF)
1560  {
1561  yychar = YYEOF;
1562  yytoken = YYSYMBOL_YYEOF;
1563  YYDPRINTF ((stderr, "Now at end of input.\n"));
1564  }
1565  else if (yychar == YYerror)
1566  {
1567  /* The scanner already issued an error message, process directly
1568  to error recovery. But do not keep the error token as
1569  lookahead, it is too special and may lead us to an endless
1570  loop in error recovery. */
1571  yychar = YYUNDEF;
1572  yytoken = YYSYMBOL_YYerror;
1573  goto yyerrlab1;
1574  }
1575  else
1576  {
1577  yytoken = YYTRANSLATE (yychar);
1578  YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1579  }
1580 
1581  /* If the proper action on seeing token YYTOKEN is to reduce or to
1582  detect an error, take that action. */
1583  yyn += yytoken;
1584  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1585  goto yydefault;
1586  yyn = yytable[yyn];
1587  if (yyn <= 0)
1588  {
1589  if (yytable_value_is_error (yyn))
1590  goto yyerrlab;
1591  yyn = -yyn;
1592  goto yyreduce;
1593  }
1594 
1595  /* Count tokens shifted since error; after three, turn off error
1596  status. */
1597  if (yyerrstatus)
1598  yyerrstatus--;
1599 
1600  /* Shift the lookahead token. */
1601  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1602  yystate = yyn;
1604  *++yyvsp = yylval;
1606 
1607  /* Discard the shifted token. */
1608  yychar = YYEMPTY;
1609  goto yynewstate;
1610 
1611 
1612 /*-----------------------------------------------------------.
1613 | yydefault -- do the default action for the current state. |
1614 `-----------------------------------------------------------*/
1615 yydefault:
1616  yyn = yydefact[yystate];
1617  if (yyn == 0)
1618  goto yyerrlab;
1619  goto yyreduce;
1620 
1621 
1622 /*-----------------------------.
1623 | yyreduce -- do a reduction. |
1624 `-----------------------------*/
1625 yyreduce:
1626  /* yyn is the number of a rule to reduce with. */
1627  yylen = yyr2[yyn];
1628 
1629  /* If YYLEN is nonzero, implement the default value of the action:
1630  '$$ = $1'.
1631 
1632  Otherwise, the following line sets YYVAL to garbage.
1633  This behavior is undocumented and Bison
1634  users should not rely upon it. Assigning to YYVAL
1635  unconditionally makes the parser a bit smaller, and it avoids a
1636  GCC warning that YYVAL may be used uninitialized. */
1637  yyval = yyvsp[1-yylen];
1638 
1639 
1640  YY_REDUCE_PRINT (yyn);
1641  switch (yyn)
1642  {
1643  case 6:
1644 #line 163 "parser.y"
1645  {
1646  yyval = yyvsp[-2];
1647  for(auto &sym : parser_stack(yyval).operands())
1648  sym = symbol_exprt(sym.get(ID_identifier), parser_stack(yyvsp[0]).type());
1649  }
1650 #line 1651 "statement_list_y.tab.cpp"
1651  break;
1652 
1653  case 7:
1654 #line 172 "parser.y"
1655  {
1656  yyval = yyvsp[0];
1657  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-1])));
1658  }
1659 #line 1660 "statement_list_y.tab.cpp"
1660  break;
1661 
1662  case 8:
1663 #line 180 "parser.y"
1664  {
1665  yyval = yyvsp[-2];
1666  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[0])));
1667  }
1668 #line 1669 "statement_list_y.tab.cpp"
1669  break;
1670 
1671  case 9:
1672 #line 185 "parser.y"
1673  {
1674  newstack(yyval);
1675  parser_stack(yyval).id(ID_statement_list_var_entry);
1676 
1677  }
1678 #line 1679 "statement_list_y.tab.cpp"
1679  break;
1680 
1681  case 10:
1682 #line 194 "parser.y"
1683  {
1684  newstack(yyval);
1685  parser_stack(yyval) =
1686  symbol_exprt::typeless(parser_stack(yyvsp[0]).get(ID_value));
1687  }
1688 #line 1689 "statement_list_y.tab.cpp"
1689  break;
1690 
1691  case 19:
1692 #line 226 "parser.y"
1693  {
1694  yyval = yyvsp[0];
1695  parser_stack(yyval).type() = get_int_type();
1696  }
1697 #line 1698 "statement_list_y.tab.cpp"
1698  break;
1699 
1700  case 21:
1701 #line 238 "parser.y"
1702  {
1703  yyval = yyvsp[0];
1704  parser_stack(yyval).type() = get_dint_type();
1705  }
1706 #line 1707 "statement_list_y.tab.cpp"
1707  break;
1708 
1709  case 22:
1710 #line 246 "parser.y"
1711  {
1712  yyval = yyvsp[0];
1713  parser_stack(yyval).type() = get_real_type();
1714  }
1715 #line 1716 "statement_list_y.tab.cpp"
1716  break;
1717 
1718  case 23:
1719 #line 254 "parser.y"
1720  {
1721  yyval = yyvsp[0];
1722  parser_stack(yyval).type() = get_bool_type();
1723  }
1724 #line 1725 "statement_list_y.tab.cpp"
1725  break;
1726 
1727  case 24:
1728 #line 261 "parser.y"
1729  {
1730  yyval = yyvsp[0];
1731  }
1732 #line 1733 "statement_list_y.tab.cpp"
1733  break;
1734 
1735  case 25:
1736 #line 265 "parser.y"
1737  {
1738  newstack(yyval);
1739  }
1740 #line 1741 "statement_list_y.tab.cpp"
1741  break;
1742 
1743  case 27:
1744 #line 277 "parser.y"
1745  {
1746  newstack(yyval);
1747  parser_stack(yyval).id(ID_statement_list_function_block);
1748  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-4])),
1749  std::move(parser_stack(yyvsp[-3])));
1750  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-2])),
1751  std::move(parser_stack(yyvsp[-1])));
1752  PARSER.add_function_block(parser_stack(yyval));
1753  }
1754 #line 1755 "statement_list_y.tab.cpp"
1755  break;
1756 
1757  case 28:
1758 #line 290 "parser.y"
1759  {
1760  yyval = yyvsp[0];
1761  }
1762 #line 1763 "statement_list_y.tab.cpp"
1763  break;
1764 
1765  case 29:
1766 #line 297 "parser.y"
1767  {
1768  yyval = yyvsp[-1];
1769  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[0])));
1770  }
1771 #line 1772 "statement_list_y.tab.cpp"
1772  break;
1773 
1774  case 30:
1775 #line 302 "parser.y"
1776  {
1777  newstack(yyval);
1778  parser_stack(yyval).id(ID_statement_list_var_decls);
1779  }
1780 #line 1781 "statement_list_y.tab.cpp"
1781  break;
1782 
1783  case 38:
1784 #line 323 "parser.y"
1785  {
1786  yyval = yyvsp[-1];
1787  }
1788 #line 1789 "statement_list_y.tab.cpp"
1789  break;
1790 
1791  case 39:
1792 #line 330 "parser.y"
1793  {
1794  yyval = yyvsp[-2];
1795  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-1])));
1796  }
1797 #line 1798 "statement_list_y.tab.cpp"
1798  break;
1799 
1800  case 40:
1801 #line 335 "parser.y"
1802  {
1803  newstack(yyval);
1804  parser_stack(yyval).id(ID_statement_list_var_input);
1805  }
1806 #line 1807 "statement_list_y.tab.cpp"
1807  break;
1808 
1809  case 41:
1810 #line 343 "parser.y"
1811  {
1812  yyval = yyvsp[-1];
1813  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[0])));
1814  }
1815 #line 1816 "statement_list_y.tab.cpp"
1816  break;
1817 
1818  case 42:
1819 #line 351 "parser.y"
1820  {
1821  yyval = yyvsp[-1];
1822  }
1823 #line 1824 "statement_list_y.tab.cpp"
1824  break;
1825 
1826  case 43:
1827 #line 358 "parser.y"
1828  {
1829  yyval = yyvsp[-2];
1830  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-1])));
1831  }
1832 #line 1833 "statement_list_y.tab.cpp"
1833  break;
1834 
1835  case 44:
1836 #line 363 "parser.y"
1837  {
1838  newstack(yyval);
1839  parser_stack(yyval).id(ID_statement_list_var_output);
1840  }
1841 #line 1842 "statement_list_y.tab.cpp"
1842  break;
1843 
1844  case 45:
1845 #line 371 "parser.y"
1846  {
1847  yyval = yyvsp[-1];
1848  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[0])));
1849  }
1850 #line 1851 "statement_list_y.tab.cpp"
1851  break;
1852 
1853  case 46:
1854 #line 379 "parser.y"
1855  {
1856  yyval = yyvsp[-1];
1857  }
1858 #line 1859 "statement_list_y.tab.cpp"
1859  break;
1860 
1861  case 47:
1862 #line 386 "parser.y"
1863  {
1864  yyval = yyvsp[-2];
1865  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-1])));
1866  }
1867 #line 1868 "statement_list_y.tab.cpp"
1868  break;
1869 
1870  case 48:
1871 #line 391 "parser.y"
1872  {
1873  newstack(yyval);
1874  parser_stack(yyval).id(ID_statement_list_var_inout);
1875  }
1876 #line 1877 "statement_list_y.tab.cpp"
1877  break;
1878 
1879  case 49:
1880 #line 399 "parser.y"
1881  {
1882  yyval = yyvsp[-1];
1883  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[0])));
1884  }
1885 #line 1886 "statement_list_y.tab.cpp"
1886  break;
1887 
1888  case 50:
1889 #line 407 "parser.y"
1890  {
1891  yyval = yyvsp[-1];
1892  }
1893 #line 1894 "statement_list_y.tab.cpp"
1894  break;
1895 
1896  case 51:
1897 #line 414 "parser.y"
1898  {
1899  yyval = yyvsp[-2];
1900  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-1])));
1901  }
1902 #line 1903 "statement_list_y.tab.cpp"
1903  break;
1904 
1905  case 52:
1906 #line 419 "parser.y"
1907  {
1908  newstack(yyval);
1909  parser_stack(yyval).id(ID_statement_list_var_static);
1910  }
1911 #line 1912 "statement_list_y.tab.cpp"
1912  break;
1913 
1914  case 53:
1915 #line 427 "parser.y"
1916  {
1917  yyval = yyvsp[-1];
1918  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[0])));
1919  }
1920 #line 1921 "statement_list_y.tab.cpp"
1921  break;
1922 
1923  case 54:
1924 #line 435 "parser.y"
1925  {
1926  yyval = yyvsp[0];
1927  }
1928 #line 1929 "statement_list_y.tab.cpp"
1929  break;
1930 
1931  case 55:
1932 #line 444 "parser.y"
1933  {
1934  newstack(yyval);
1935  parser_stack(yyval).id(ID_statement_list_function);
1936  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-6])),
1937  std::move(parser_stack(yyvsp[-4])), std::move(parser_stack(yyvsp[-3])));
1938  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-2])),
1939  std::move(parser_stack(yyvsp[-1])));
1940  PARSER.add_function(parser_stack(yyval));
1941  }
1942 #line 1943 "statement_list_y.tab.cpp"
1943  break;
1944 
1945  case 57:
1946 #line 461 "parser.y"
1947  {
1948  parser_stack(yyval).set(ID_statement_list_type, ID_statement_list_return);
1949  }
1950 #line 1951 "statement_list_y.tab.cpp"
1951  break;
1952 
1953  case 58:
1954 #line 465 "parser.y"
1955  {
1956  parser_stack(yyval).set(ID_statement_list_type, ID_statement_list_return);
1957  }
1958 #line 1959 "statement_list_y.tab.cpp"
1959  break;
1960 
1961  case 59:
1962 #line 472 "parser.y"
1963  {
1964  yyval = yyvsp[-1];
1965  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[0])));
1966  }
1967 #line 1968 "statement_list_y.tab.cpp"
1968  break;
1969 
1970  case 60:
1971 #line 477 "parser.y"
1972  {
1973  newstack(yyval);
1974  parser_stack(yyval).id(ID_statement_list_var_decls);
1975  }
1976 #line 1977 "statement_list_y.tab.cpp"
1977  break;
1978 
1979  case 67:
1980 #line 497 "parser.y"
1981  {
1982  yyval = yyvsp[-1];
1983  }
1984 #line 1985 "statement_list_y.tab.cpp"
1985  break;
1986 
1987  case 68:
1988 #line 504 "parser.y"
1989  {
1990  yyval = yyvsp[-2];
1991  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-1])));
1992  }
1993 #line 1994 "statement_list_y.tab.cpp"
1994  break;
1995 
1996  case 69:
1997 #line 509 "parser.y"
1998  {
1999  newstack(yyval);
2000  parser_stack(yyval).id(ID_statement_list_var_input);
2001  }
2002 #line 2003 "statement_list_y.tab.cpp"
2003  break;
2004 
2005  case 71:
2006 #line 521 "parser.y"
2007  {
2008  yyval = yyvsp[-1];
2009  }
2010 #line 2011 "statement_list_y.tab.cpp"
2011  break;
2012 
2013  case 72:
2014 #line 528 "parser.y"
2015  {
2016  yyval = yyvsp[-2];
2017  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-1])));
2018  }
2019 #line 2020 "statement_list_y.tab.cpp"
2020  break;
2021 
2022  case 73:
2023 #line 533 "parser.y"
2024  {
2025  newstack(yyval);
2026  parser_stack(yyval).id(ID_statement_list_var_inout);
2027  }
2028 #line 2029 "statement_list_y.tab.cpp"
2029  break;
2030 
2031  case 75:
2032 #line 545 "parser.y"
2033  {
2034  yyval = yyvsp[-1];
2035  }
2036 #line 2037 "statement_list_y.tab.cpp"
2037  break;
2038 
2039  case 76:
2040 #line 552 "parser.y"
2041  {
2042  yyval = yyvsp[-2];
2043  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-1])));
2044  }
2045 #line 2046 "statement_list_y.tab.cpp"
2046  break;
2047 
2048  case 77:
2049 #line 557 "parser.y"
2050  {
2051  newstack(yyval);
2052  parser_stack(yyval).id(ID_statement_list_var_output);
2053  }
2054 #line 2055 "statement_list_y.tab.cpp"
2055  break;
2056 
2057  case 79:
2058 #line 569 "parser.y"
2059  {
2060  yyval = yyvsp[-1];
2061  }
2062 #line 2063 "statement_list_y.tab.cpp"
2063  break;
2064 
2065  case 80:
2066 #line 576 "parser.y"
2067  {
2068  yyval = yyvsp[-2];
2069  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-1])));
2070  }
2071 #line 2072 "statement_list_y.tab.cpp"
2072  break;
2073 
2074  case 81:
2075 #line 581 "parser.y"
2076  {
2077  newstack(yyval);
2078  parser_stack(yyval).id(ID_statement_list_var_temp);
2079  }
2080 #line 2081 "statement_list_y.tab.cpp"
2081  break;
2082 
2083  case 83:
2084 #line 593 "parser.y"
2085  {
2086  yyval = yyvsp[-1];
2087  }
2088 #line 2089 "statement_list_y.tab.cpp"
2089  break;
2090 
2091  case 84:
2092 #line 600 "parser.y"
2093  {
2094  yyval = yyvsp[-2];
2095  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-1])));
2096  }
2097 #line 2098 "statement_list_y.tab.cpp"
2098  break;
2099 
2100  case 85:
2101 #line 605 "parser.y"
2102  {
2103  newstack(yyval);
2104  parser_stack(yyval).id(ID_statement_list_var_constant);
2105  }
2106 #line 2107 "statement_list_y.tab.cpp"
2107  break;
2108 
2109  case 86:
2110 #line 613 "parser.y"
2111  {
2112  yyval = yyvsp[-1];
2113  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[0])));
2114  }
2115 #line 2116 "statement_list_y.tab.cpp"
2116  break;
2117 
2118  case 87:
2119 #line 621 "parser.y"
2120  {
2121  yyval = yyvsp[0];
2122  }
2123 #line 2124 "statement_list_y.tab.cpp"
2124  break;
2125 
2126  case 88:
2127 #line 629 "parser.y"
2128  {
2129  yyval = yyvsp[-1];
2130  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[0])));
2131  }
2132 #line 2133 "statement_list_y.tab.cpp"
2133  break;
2134 
2135  case 89:
2136 #line 634 "parser.y"
2137  {
2138  newstack(yyval);
2139  parser_stack(yyval).id(ID_statement_list_networks);
2140  }
2141 #line 2142 "statement_list_y.tab.cpp"
2142  break;
2143 
2144  case 90:
2145 #line 642 "parser.y"
2146  {
2147  newstack(yyval);
2148  parser_stack(yyval).id(ID_statement_list_network);
2149  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-1])),
2150  std::move(parser_stack(yyvsp[0])));
2151  }
2152 #line 2153 "statement_list_y.tab.cpp"
2153  break;
2154 
2155  case 92:
2156 #line 654 "parser.y"
2157  {
2158  newstack(yyval);
2159  parser_stack(yyval) = convert_title("");
2160  }
2161 #line 2162 "statement_list_y.tab.cpp"
2162  break;
2163 
2164  case 94:
2165 #line 663 "parser.y"
2166  {
2167  newstack(yyval);
2168  parser_stack(yyval).id(ID_statement_list_instructions);
2169  }
2170 #line 2171 "statement_list_y.tab.cpp"
2171  break;
2172 
2173  case 96:
2174 #line 676 "parser.y"
2175  {
2176  yyval = yyvsp[-1];
2177  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[0])));
2178  }
2179 #line 2180 "statement_list_y.tab.cpp"
2180  break;
2181 
2182  case 97:
2183 #line 681 "parser.y"
2184  {
2185  newstack(yyval);
2186  parser_stack(yyval).id(ID_statement_list_instructions);
2187  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[0])));
2188  }
2189 #line 2190 "statement_list_y.tab.cpp"
2190  break;
2191 
2192  case 98:
2193 #line 690 "parser.y"
2194  {
2195  yyval = yyvsp[-1];
2196  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-2])));
2197  }
2198 #line 2199 "statement_list_y.tab.cpp"
2199  break;
2200 
2201  case 100:
2202 #line 699 "parser.y"
2203  {
2204  newstack(yyval);
2205  // ID of expression is nil to indicate that there is no label
2206  }
2207 #line 2208 "statement_list_y.tab.cpp"
2208  break;
2209 
2210  case 104:
2211 #line 713 "parser.y"
2212  {
2213  newstack(yyval);
2214  parser_stack(yyval).id(ID_statement_list_instruction);
2215  }
2216 #line 2217 "statement_list_y.tab.cpp"
2217  break;
2218 
2219  case 105:
2220 #line 721 "parser.y"
2221  {
2222  newstack(yyval);
2223  parser_stack(yyval).id(ID_statement_list_instruction);
2224  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-1])),
2225  std::move(parser_stack(yyvsp[0])));
2226  }
2227 #line 2228 "statement_list_y.tab.cpp"
2228  break;
2229 
2230  case 107:
2231 #line 732 "parser.y"
2232  {
2233  newstack(yyval);
2234  // ID of expression is nil to indicate that there is no operand
2235  }
2236 #line 2237 "statement_list_y.tab.cpp"
2237  break;
2238 
2239  case 108:
2240 #line 740 "parser.y"
2241  {
2242  yyval = yyvsp[0];
2243  parser_stack(yyval).id(ID_statement_list_load);
2244  }
2245 #line 2246 "statement_list_y.tab.cpp"
2246  break;
2247 
2248  case 109:
2249 #line 745 "parser.y"
2250  {
2251  yyval = yyvsp[0];
2252  parser_stack(yyval).id(ID_statement_list_transfer);
2253  }
2254 #line 2255 "statement_list_y.tab.cpp"
2255  break;
2256 
2257  case 110:
2258 #line 750 "parser.y"
2259  {
2260  yyval = yyvsp[0];
2261  parser_stack(yyval).id(ID_statement_list_nop);
2262  }
2263 #line 2264 "statement_list_y.tab.cpp"
2264  break;
2265 
2266  case 111:
2267 #line 755 "parser.y"
2268  {
2269  yyval = yyvsp[0];
2270  parser_stack(yyval).id(ID_statement_list_const_add);
2271  }
2272 #line 2273 "statement_list_y.tab.cpp"
2273  break;
2274 
2275  case 112:
2276 #line 760 "parser.y"
2277  {
2278  yyval = yyvsp[0];
2279  parser_stack(yyval).id(ID_statement_list_accu_int_add);
2280  }
2281 #line 2282 "statement_list_y.tab.cpp"
2282  break;
2283 
2284  case 113:
2285 #line 765 "parser.y"
2286  {
2287  yyval = yyvsp[0];
2288  parser_stack(yyval).id(ID_statement_list_accu_int_sub);
2289  }
2290 #line 2291 "statement_list_y.tab.cpp"
2291  break;
2292 
2293  case 114:
2294 #line 770 "parser.y"
2295  {
2296  yyval = yyvsp[0];
2297  parser_stack(yyval).id(ID_statement_list_accu_int_mul);
2298  }
2299 #line 2300 "statement_list_y.tab.cpp"
2300  break;
2301 
2302  case 115:
2303 #line 775 "parser.y"
2304  {
2305  yyval = yyvsp[0];
2306  parser_stack(yyval).id(ID_statement_list_accu_int_div);
2307  }
2308 #line 2309 "statement_list_y.tab.cpp"
2309  break;
2310 
2311  case 116:
2312 #line 780 "parser.y"
2313  {
2314  yyval = yyvsp[0];
2315  parser_stack(yyval).id(ID_statement_list_accu_int_eq);
2316  }
2317 #line 2318 "statement_list_y.tab.cpp"
2318  break;
2319 
2320  case 117:
2321 #line 785 "parser.y"
2322  {
2323  yyval = yyvsp[0];
2324  parser_stack(yyval).id(ID_statement_list_accu_int_neq);
2325  }
2326 #line 2327 "statement_list_y.tab.cpp"
2327  break;
2328 
2329  case 118:
2330 #line 790 "parser.y"
2331  {
2332  yyval = yyvsp[0];
2333  parser_stack(yyval).id(ID_statement_list_accu_int_gt);
2334  }
2335 #line 2336 "statement_list_y.tab.cpp"
2336  break;
2337 
2338  case 119:
2339 #line 795 "parser.y"
2340  {
2341  yyval = yyvsp[0];
2342  parser_stack(yyval).id(ID_statement_list_accu_int_lt);
2343  }
2344 #line 2345 "statement_list_y.tab.cpp"
2345  break;
2346 
2347  case 120:
2348 #line 800 "parser.y"
2349  {
2350  yyval = yyvsp[0];
2351  parser_stack(yyval).id(ID_statement_list_accu_int_gte);
2352  }
2353 #line 2354 "statement_list_y.tab.cpp"
2354  break;
2355 
2356  case 121:
2357 #line 805 "parser.y"
2358  {
2359  yyval = yyvsp[0];
2360  parser_stack(yyval).id(ID_statement_list_accu_int_lte);
2361  }
2362 #line 2363 "statement_list_y.tab.cpp"
2363  break;
2364 
2365  case 122:
2366 #line 810 "parser.y"
2367  {
2368  yyval = yyvsp[0];
2369  parser_stack(yyval).id(ID_statement_list_accu_real_add);
2370  }
2371 #line 2372 "statement_list_y.tab.cpp"
2372  break;
2373 
2374  case 123:
2375 #line 815 "parser.y"
2376  {
2377  yyval = yyvsp[0];
2378  parser_stack(yyval).id(ID_statement_list_accu_real_sub);
2379  }
2380 #line 2381 "statement_list_y.tab.cpp"
2381  break;
2382 
2383  case 124:
2384 #line 820 "parser.y"
2385  {
2386  yyval = yyvsp[0];
2387  parser_stack(yyval).id(ID_statement_list_accu_real_mul);
2388  }
2389 #line 2390 "statement_list_y.tab.cpp"
2390  break;
2391 
2392  case 125:
2393 #line 825 "parser.y"
2394  {
2395  yyval = yyvsp[0];
2396  parser_stack(yyval).id(ID_statement_list_accu_real_div);
2397  }
2398 #line 2399 "statement_list_y.tab.cpp"
2399  break;
2400 
2401  case 126:
2402 #line 830 "parser.y"
2403  {
2404  yyval = yyvsp[0];
2405  parser_stack(yyval).id(ID_statement_list_accu_real_eq);
2406  }
2407 #line 2408 "statement_list_y.tab.cpp"
2408  break;
2409 
2410  case 127:
2411 #line 835 "parser.y"
2412  {
2413  yyval = yyvsp[0];
2414  parser_stack(yyval).id(ID_statement_list_accu_real_neq);
2415  }
2416 #line 2417 "statement_list_y.tab.cpp"
2417  break;
2418 
2419  case 128:
2420 #line 840 "parser.y"
2421  {
2422  yyval = yyvsp[0];
2423  parser_stack(yyval).id(ID_statement_list_accu_real_gt);
2424  }
2425 #line 2426 "statement_list_y.tab.cpp"
2426  break;
2427 
2428  case 129:
2429 #line 845 "parser.y"
2430  {
2431  yyval = yyvsp[0];
2432  parser_stack(yyval).id(ID_statement_list_accu_real_lt);
2433  }
2434 #line 2435 "statement_list_y.tab.cpp"
2435  break;
2436 
2437  case 130:
2438 #line 850 "parser.y"
2439  {
2440  yyval = yyvsp[0];
2441  parser_stack(yyval).id(ID_statement_list_accu_real_gte);
2442  }
2443 #line 2444 "statement_list_y.tab.cpp"
2444  break;
2445 
2446  case 131:
2447 #line 855 "parser.y"
2448  {
2449  yyval = yyvsp[0];
2450  parser_stack(yyval).id(ID_statement_list_accu_real_lte);
2451  }
2452 #line 2453 "statement_list_y.tab.cpp"
2453  break;
2454 
2455  case 132:
2456 #line 860 "parser.y"
2457  {
2458  yyval = yyvsp[0];
2459  parser_stack(yyval).id(ID_statement_list_accu_dint_add);
2460  }
2461 #line 2462 "statement_list_y.tab.cpp"
2462  break;
2463 
2464  case 133:
2465 #line 865 "parser.y"
2466  {
2467  yyval = yyvsp[0];
2468  parser_stack(yyval).id(ID_statement_list_accu_dint_sub);
2469  }
2470 #line 2471 "statement_list_y.tab.cpp"
2471  break;
2472 
2473  case 134:
2474 #line 870 "parser.y"
2475  {
2476  yyval = yyvsp[0];
2477  parser_stack(yyval).id(ID_statement_list_accu_dint_mul);
2478  }
2479 #line 2480 "statement_list_y.tab.cpp"
2480  break;
2481 
2482  case 135:
2483 #line 875 "parser.y"
2484  {
2485  yyval = yyvsp[0];
2486  parser_stack(yyval).id(ID_statement_list_accu_dint_div);
2487  }
2488 #line 2489 "statement_list_y.tab.cpp"
2489  break;
2490 
2491  case 136:
2492 #line 880 "parser.y"
2493  {
2494  yyval = yyvsp[0];
2495  parser_stack(yyval).id(ID_statement_list_accu_dint_eq);
2496  }
2497 #line 2498 "statement_list_y.tab.cpp"
2498  break;
2499 
2500  case 137:
2501 #line 885 "parser.y"
2502  {
2503  yyval = yyvsp[0];
2504  parser_stack(yyval).id(ID_statement_list_accu_dint_neq);
2505  }
2506 #line 2507 "statement_list_y.tab.cpp"
2507  break;
2508 
2509  case 138:
2510 #line 890 "parser.y"
2511  {
2512  yyval = yyvsp[0];
2513  parser_stack(yyval).id(ID_statement_list_accu_dint_gt);
2514  }
2515 #line 2516 "statement_list_y.tab.cpp"
2516  break;
2517 
2518  case 139:
2519 #line 895 "parser.y"
2520  {
2521  yyval = yyvsp[0];
2522  parser_stack(yyval).id(ID_statement_list_accu_dint_lt);
2523  }
2524 #line 2525 "statement_list_y.tab.cpp"
2525  break;
2526 
2527  case 140:
2528 #line 900 "parser.y"
2529  {
2530  yyval = yyvsp[0];
2531  parser_stack(yyval).id(ID_statement_list_accu_dint_gte);
2532  }
2533 #line 2534 "statement_list_y.tab.cpp"
2534  break;
2535 
2536  case 141:
2537 #line 905 "parser.y"
2538  {
2539  yyval = yyvsp[0];
2540  parser_stack(yyval).id(ID_statement_list_accu_dint_lte);
2541  }
2542 #line 2543 "statement_list_y.tab.cpp"
2543  break;
2544 
2545  case 142:
2546 #line 910 "parser.y"
2547  {
2548  yyval = yyvsp[0];
2549  parser_stack(yyval).id(ID_statement_list_and);
2550  }
2551 #line 2552 "statement_list_y.tab.cpp"
2552  break;
2553 
2554  case 143:
2555 #line 915 "parser.y"
2556  {
2557  yyval = yyvsp[0];
2558  parser_stack(yyval).id(ID_statement_list_and_not);
2559  }
2560 #line 2561 "statement_list_y.tab.cpp"
2561  break;
2562 
2563  case 144:
2564 #line 920 "parser.y"
2565  {
2566  yyval = yyvsp[0];
2567  parser_stack(yyval).id(ID_statement_list_or);
2568  }
2569 #line 2570 "statement_list_y.tab.cpp"
2570  break;
2571 
2572  case 145:
2573 #line 925 "parser.y"
2574  {
2575  yyval = yyvsp[0];
2576  parser_stack(yyval).id(ID_statement_list_or_not);
2577  }
2578 #line 2579 "statement_list_y.tab.cpp"
2579  break;
2580 
2581  case 146:
2582 #line 930 "parser.y"
2583  {
2584  yyval = yyvsp[0];
2585  parser_stack(yyval).id(ID_statement_list_xor);
2586  }
2587 #line 2588 "statement_list_y.tab.cpp"
2588  break;
2589 
2590  case 147:
2591 #line 935 "parser.y"
2592  {
2593  yyval = yyvsp[0];
2594  parser_stack(yyval).id(ID_statement_list_xor_not);
2595  }
2596 #line 2597 "statement_list_y.tab.cpp"
2597  break;
2598 
2599  case 148:
2600 #line 940 "parser.y"
2601  {
2602  yyval = yyvsp[0];
2603  parser_stack(yyval).id(ID_statement_list_and_nested);
2604  }
2605 #line 2606 "statement_list_y.tab.cpp"
2606  break;
2607 
2608  case 149:
2609 #line 945 "parser.y"
2610  {
2611  yyval = yyvsp[0];
2612  parser_stack(yyval).id(ID_statement_list_and_not_nested);
2613  }
2614 #line 2615 "statement_list_y.tab.cpp"
2615  break;
2616 
2617  case 150:
2618 #line 950 "parser.y"
2619  {
2620  yyval = yyvsp[0];
2621  parser_stack(yyval).id(ID_statement_list_or_nested);
2622  }
2623 #line 2624 "statement_list_y.tab.cpp"
2624  break;
2625 
2626  case 151:
2627 #line 955 "parser.y"
2628  {
2629  yyval = yyvsp[0];
2630  parser_stack(yyval).id(ID_statement_list_or_not_nested);
2631  }
2632 #line 2633 "statement_list_y.tab.cpp"
2633  break;
2634 
2635  case 152:
2636 #line 960 "parser.y"
2637  {
2638  yyval = yyvsp[0];
2639  parser_stack(yyval).id(ID_statement_list_xor_nested);
2640  }
2641 #line 2642 "statement_list_y.tab.cpp"
2642  break;
2643 
2644  case 153:
2645 #line 965 "parser.y"
2646  {
2647  yyval = yyvsp[0];
2648  parser_stack(yyval).id(ID_statement_list_xor_not_nested);
2649  }
2650 #line 2651 "statement_list_y.tab.cpp"
2651  break;
2652 
2653  case 154:
2654 #line 970 "parser.y"
2655  {
2656  yyval = yyvsp[0];
2657  parser_stack(yyval).id(ID_statement_list_nesting_closed);
2658  }
2659 #line 2660 "statement_list_y.tab.cpp"
2660  break;
2661 
2662  case 155:
2663 #line 975 "parser.y"
2664  {
2665  yyval = yyvsp[0];
2666  parser_stack(yyval).id(ID_statement_list_assign);
2667  }
2668 #line 2669 "statement_list_y.tab.cpp"
2669  break;
2670 
2671  case 156:
2672 #line 980 "parser.y"
2673  {
2674  yyval = yyvsp[0];
2675  parser_stack(yyval).id(ID_statement_list_set_rlo);
2676  }
2677 #line 2678 "statement_list_y.tab.cpp"
2678  break;
2679 
2680  case 157:
2681 #line 985 "parser.y"
2682  {
2683  yyval = yyvsp[0];
2684  parser_stack(yyval).id(ID_statement_list_clr_rlo);
2685  }
2686 #line 2687 "statement_list_y.tab.cpp"
2687  break;
2688 
2689  case 158:
2690 #line 990 "parser.y"
2691  {
2692  yyval = yyvsp[0];
2693  parser_stack(yyval).id(ID_statement_list_set);
2694  }
2695 #line 2696 "statement_list_y.tab.cpp"
2696  break;
2697 
2698  case 159:
2699 #line 995 "parser.y"
2700  {
2701  yyval = yyvsp[0];
2702  parser_stack(yyval).id(ID_statement_list_reset);
2703  }
2704 #line 2705 "statement_list_y.tab.cpp"
2705  break;
2706 
2707  case 160:
2708 #line 1000 "parser.y"
2709  {
2710  yyval = yyvsp[0];
2711  parser_stack(yyval).id(ID_statement_list_not);
2712  }
2713 #line 2714 "statement_list_y.tab.cpp"
2714  break;
2715 
2716  case 163:
2717 #line 1013 "parser.y"
2718  {
2719  yyval = yyvsp[0];
2720  }
2721 #line 2722 "statement_list_y.tab.cpp"
2722  break;
2723 
2724  case 164:
2725 #line 1017 "parser.y"
2726  {
2727  yyval = yyvsp[0];
2728  }
2729 #line 2730 "statement_list_y.tab.cpp"
2730  break;
2731 
2732  case 168:
2733 #line 1030 "parser.y"
2734  {
2735  newstack(yyval);
2736  parser_stack(yyval).id(ID_statement_list_instruction);
2737  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-3])),
2738  std::move(parser_stack(yyvsp[-2])), std::move(parser_stack(yyvsp[-1])));
2739  std::move(parser_stack(yyvsp[0]).operands().begin(),
2740  parser_stack(yyvsp[0]).operands().end(),
2741  std::back_inserter(parser_stack(yyval).operands()));
2742  }
2743 #line 2744 "statement_list_y.tab.cpp"
2744  break;
2745 
2746  case 169:
2747 #line 1043 "parser.y"
2748  {
2749  yyval = yyvsp[0];
2750  parser_stack(yyval).id(ID_statement_list_call);
2751  }
2752 #line 2753 "statement_list_y.tab.cpp"
2753  break;
2754 
2755  case 170:
2756 #line 1051 "parser.y"
2757  {
2758  newstack(yyval);
2759  parser_stack(yyval) =
2760  symbol_exprt::typeless(parser_stack(yyvsp[0]).get(ID_value));
2761  }
2762 #line 2763 "statement_list_y.tab.cpp"
2763  break;
2764 
2765  case 171:
2766 #line 1060 "parser.y"
2767  {
2768  yyval = yyvsp[-1];
2769  }
2770 #line 2771 "statement_list_y.tab.cpp"
2771  break;
2772 
2773  case 172:
2774 #line 1064 "parser.y"
2775  {
2776  newstack(yyval);
2777  }
2778 #line 2779 "statement_list_y.tab.cpp"
2779  break;
2780 
2781  case 173:
2782 #line 1071 "parser.y"
2783  {
2784  yyval = yyvsp[-2];
2785  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[0])));
2786  }
2787 #line 2788 "statement_list_y.tab.cpp"
2788  break;
2789 
2790  case 174:
2791 #line 1076 "parser.y"
2792  {
2793  newstack(yyval);
2794  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[0])));
2795  }
2796 #line 2797 "statement_list_y.tab.cpp"
2797  break;
2798 
2799  case 175:
2800 #line 1084 "parser.y"
2801  {
2802  newstack(yyval);
2803  parser_stack(yyval) = equal_exprt{std::move(parser_stack(yyvsp[-2])),
2804  std::move(parser_stack(yyvsp[0]))};
2805  }
2806 #line 2807 "statement_list_y.tab.cpp"
2807  break;
2808 
2809  case 176:
2810 #line 1092 "parser.y"
2811  {
2812  yyval = yyvsp[0];
2813  parser_stack(yyval).set(
2814  ID_statement_list_type, ID_statement_list_data_block);
2815  }
2816 #line 2817 "statement_list_y.tab.cpp"
2817  break;
2818 
2819  case 177:
2820 #line 1098 "parser.y"
2821  {
2822  newstack(yyval);
2823  }
2824 #line 2825 "statement_list_y.tab.cpp"
2825  break;
2826 
2827  case 178:
2828 #line 1106 "parser.y"
2829  {
2830  PARSER.add_tag_list(parser_stack(yyvsp[-1]));
2831  }
2832 #line 2833 "statement_list_y.tab.cpp"
2833  break;
2834 
2835  case 180:
2836 #line 1114 "parser.y"
2837  {
2838  newstack(yyval);
2839  }
2840 #line 2841 "statement_list_y.tab.cpp"
2841  break;
2842 
2843  case 181:
2844 #line 1121 "parser.y"
2845  {
2846  yyval = yyvsp[-2];
2847  symbol_exprt sym{parser_stack(yyvsp[-1]).get(ID_identifier), parser_stack(yyvsp[0]).type()};
2848  parser_stack(yyval).add_to_operands(std::move(sym));
2849  }
2850 #line 2851 "statement_list_y.tab.cpp"
2851  break;
2852 
2853  case 182:
2854 #line 1127 "parser.y"
2855  {
2856  newstack(yyval);
2857  symbol_exprt sym{parser_stack(yyvsp[-1]).get(ID_identifier), parser_stack(yyvsp[0]).type()};
2858  parser_stack(yyval).add_to_operands(std::move(sym));
2859  }
2860 #line 2861 "statement_list_y.tab.cpp"
2861  break;
2862 
2863 
2864 #line 2865 "statement_list_y.tab.cpp"
2865 
2866  default: break;
2867  }
2868  /* User semantic actions sometimes alter yychar, and that requires
2869  that yytoken be updated with the new translation. We take the
2870  approach of translating immediately before every use of yytoken.
2871  One alternative is translating here after every semantic action,
2872  but that translation would be missed if the semantic action invokes
2873  YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
2874  if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
2875  incorrect destructor might then be invoked immediately. In the
2876  case of YYERROR or YYBACKUP, subsequent parser actions might lead
2877  to an incorrect destructor call or verbose syntax error message
2878  before the lookahead is translated. */
2879  YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
2880 
2881  YYPOPSTACK (yylen);
2882  yylen = 0;
2883 
2884  *++yyvsp = yyval;
2885 
2886  /* Now 'shift' the result of the reduction. Determine what state
2887  that goes to, based on the state we popped back to and the rule
2888  number reduced by. */
2889  {
2890  const int yylhs = yyr1[yyn] - YYNTOKENS;
2891  const int yyi = yypgoto[yylhs] + *yyssp;
2892  yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
2893  ? yytable[yyi]
2894  : yydefgoto[yylhs]);
2895  }
2896 
2897  goto yynewstate;
2898 
2899 
2900 /*--------------------------------------.
2901 | yyerrlab -- here on detecting error. |
2902 `--------------------------------------*/
2903 yyerrlab:
2904  /* Make sure we have latest lookahead translation. See comments at
2905  user semantic actions for why this is necessary. */
2906  yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
2907  /* If not already recovering from an error, report this error. */
2908  if (!yyerrstatus)
2909  {
2910  ++yynerrs;
2911  yyerror (YY_("syntax error"));
2912  }
2913 
2914  if (yyerrstatus == 3)
2915  {
2916  /* If just tried and failed to reuse lookahead token after an
2917  error, discard it. */
2918 
2919  if (yychar <= YYEOF)
2920  {
2921  /* Return failure if at end of input. */
2922  if (yychar == YYEOF)
2923  YYABORT;
2924  }
2925  else
2926  {
2927  yydestruct ("Error: discarding",
2928  yytoken, &yylval);
2929  yychar = YYEMPTY;
2930  }
2931  }
2932 
2933  /* Else will try to reuse lookahead token after shifting the error
2934  token. */
2935  goto yyerrlab1;
2936 
2937 
2938 /*---------------------------------------------------.
2939 | yyerrorlab -- error raised explicitly by YYERROR. |
2940 `---------------------------------------------------*/
2941 yyerrorlab:
2942  /* Pacify compilers when the user code never invokes YYERROR and the
2943  label yyerrorlab therefore never appears in user code. */
2944  if (0)
2945  YYERROR;
2946 
2947  /* Do not reclaim the symbols of the rule whose action triggered
2948  this YYERROR. */
2949  YYPOPSTACK (yylen);
2950  yylen = 0;
2951  YY_STACK_PRINT (yyss, yyssp);
2952  yystate = *yyssp;
2953  goto yyerrlab1;
2954 
2955 
2956 /*-------------------------------------------------------------.
2957 | yyerrlab1 -- common code for both syntax error and YYERROR. |
2958 `-------------------------------------------------------------*/
2959 yyerrlab1:
2960  yyerrstatus = 3; /* Each real token shifted decrements this. */
2961 
2962  /* Pop stack until we find a state that shifts the error token. */
2963  for (;;)
2964  {
2965  yyn = yypact[yystate];
2966  if (!yypact_value_is_default (yyn))
2967  {
2968  yyn += YYSYMBOL_YYerror;
2969  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
2970  {
2971  yyn = yytable[yyn];
2972  if (0 < yyn)
2973  break;
2974  }
2975  }
2976 
2977  /* Pop the current state because it cannot handle the error token. */
2978  if (yyssp == yyss)
2979  YYABORT;
2980 
2981 
2982  yydestruct ("Error: popping",
2983  YY_ACCESSING_SYMBOL (yystate), yyvsp);
2984  YYPOPSTACK (1);
2985  yystate = *yyssp;
2986  YY_STACK_PRINT (yyss, yyssp);
2987  }
2988 
2990  *++yyvsp = yylval;
2992 
2993 
2994  /* Shift the error token. */
2995  YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
2996 
2997  yystate = yyn;
2998  goto yynewstate;
2999 
3000 
3001 /*-------------------------------------.
3002 | yyacceptlab -- YYACCEPT comes here. |
3003 `-------------------------------------*/
3004 yyacceptlab:
3005  yyresult = 0;
3006  goto yyreturn;
3007 
3008 
3009 /*-----------------------------------.
3010 | yyabortlab -- YYABORT comes here. |
3011 `-----------------------------------*/
3012 yyabortlab:
3013  yyresult = 1;
3014  goto yyreturn;
3015 
3016 
3017 #if !defined yyoverflow
3018 /*-------------------------------------------------.
3019 | yyexhaustedlab -- memory exhaustion comes here. |
3020 `-------------------------------------------------*/
3021 yyexhaustedlab:
3022  yyerror (YY_("memory exhausted"));
3023  yyresult = 2;
3024  /* Fall through. */
3025 #endif
3026 
3027 
3028 /*-----------------------------------------------------.
3029 | yyreturn -- parsing is finished, return the result. |
3030 `-----------------------------------------------------*/
3031 yyreturn:
3032  if (yychar != YYEMPTY)
3033  {
3034  /* Make sure we have latest lookahead translation. See comments at
3035  user semantic actions for why this is necessary. */
3036  yytoken = YYTRANSLATE (yychar);
3037  yydestruct ("Cleanup: discarding lookahead",
3038  yytoken, &yylval);
3039  }
3040  /* Do not reclaim the symbols of the rule whose action triggered
3041  this YYABORT or YYACCEPT. */
3042  YYPOPSTACK (yylen);
3043  YY_STACK_PRINT (yyss, yyssp);
3044  while (yyssp != yyss)
3045  {
3046  yydestruct ("Cleanup: popping",
3047  YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
3048  YYPOPSTACK (1);
3049  }
3050 #ifndef yyoverflow
3051  if (yyss != yyssa)
3052  YYSTACK_FREE (yyss);
3053 #endif
3054 
3055  return yyresult;
3056 }
3057 
3058 #line 1133 "parser.y"
3059 
TOK_END_VAR
@ TOK_END_VAR
Definition: statement_list_y.tab.h:69
YYSYMBOL_TOK_REAL_LITERAL
@ YYSYMBOL_TOK_REAL_LITERAL
Definition: statement_list_y.tab.cpp:362
TOK_ACCU_REAL_GT
@ TOK_ACCU_REAL_GT
Definition: statement_list_y.tab.h:119
YYSYMBOL_Version_Label
@ YYSYMBOL_Version_Label
Definition: statement_list_y.tab.cpp:391
YYSYMBOL_TOK_LOAD
@ YYSYMBOL_TOK_LOAD
Definition: statement_list_y.tab.cpp:305
yy_state_fast_t
int yy_state_fast_t
Definition: statement_list_y.tab.cpp:563
YYSYMBOL_IL_Simple_Operator
@ YYSYMBOL_IL_Simple_Operator
Definition: statement_list_y.tab.cpp:442
TOK_AND_NOT
@ TOK_AND_NOT
Definition: statement_list_y.tab.h:89
YY_NULLPTR
#define YY_NULLPTR
Definition: statement_list_y.tab.cpp:150
YYSYMBOL_Opt_Assignment
@ YYSYMBOL_Opt_Assignment
Definition: statement_list_y.tab.cpp:388
YYSYMBOL_TOK_ACCU_DINT_GT
@ YYSYMBOL_TOK_ACCU_DINT_GT
Definition: statement_list_y.tab.cpp:355
TOK_AND
@ TOK_AND
Definition: jsil_y.tab.h:106
statement_list_parser.h
YYSYMBOL_Zom_FB_Output_Decl
@ YYSYMBOL_Zom_FB_Output_Decl
Definition: statement_list_y.tab.cpp:399
YYSYMBOL_YYEOF
@ YYSYMBOL_YYEOF
Definition: statement_list_y.tab.cpp:280
YYSYMBOL_Inout_Decls
@ YYSYMBOL_Inout_Decls
Definition: statement_list_y.tab.cpp:417
YYSYMBOL_TOK_ACCU_INT_GT
@ YYSYMBOL_TOK_ACCU_INT_GT
Definition: statement_list_y.tab.cpp:335
YYSYMBOL_TOK_AND_NOT_NESTED
@ YYSYMBOL_TOK_AND_NOT_NESTED
Definition: statement_list_y.tab.cpp:321
YYSYMBOL_TOK_ASSIGN
@ YYSYMBOL_TOK_ASSIGN
Definition: statement_list_y.tab.cpp:327
YYSYMBOL_FB_Input_Decls
@ YYSYMBOL_FB_Input_Decls
Definition: statement_list_y.tab.cpp:395
YY_CAST
#define YY_CAST(Type, Val)
Definition: statement_list_y.tab.cpp:138
YYSYMBOL_TOK_TAG
@ YYSYMBOL_TOK_TAG
Definition: statement_list_y.tab.cpp:298
yycheck
static const yytype_int16 yycheck[]
Definition: statement_list_y.tab.cpp:1061
TOK_FUNCTION_BLOCK
@ TOK_FUNCTION_BLOCK
Definition: statement_list_y.tab.h:59
yysymbol_kind_t
yysymbol_kind_t
Definition: ansi_c_y.tab.cpp:389
YYSYMBOL_Zom_Func_General_Var_Decls
@ YYSYMBOL_Zom_Func_General_Var_Decls
Definition: statement_list_y.tab.cpp:411
YYPTRDIFF_T
#define YYPTRDIFF_T
Definition: statement_list_y.tab.cpp:532
TOK_LABEL
@ TOK_LABEL
Definition: jsil_y.tab.h:64
YYSYMBOL_FB_Static_Decls
@ YYSYMBOL_FB_Static_Decls
Definition: statement_list_y.tab.cpp:404
TOK_VAR_OUTPUT
@ TOK_VAR_OUTPUT
Definition: statement_list_y.tab.h:65
YYSYMBOL_Instruction_List
@ YYSYMBOL_Instruction_List
Definition: statement_list_y.tab.cpp:434
yylex
#define yylex
Definition: statement_list_y.tab.cpp:69
YYSYMBOL_Func_Body
@ YYSYMBOL_Func_Body
Definition: statement_list_y.tab.cpp:429
YYSYMBOL_Real_Type_Name
@ YYSYMBOL_Real_Type_Name
Definition: statement_list_y.tab.cpp:386
YYSYMBOL_TOK_ACCU_REAL_GTE
@ YYSYMBOL_TOK_ACCU_REAL_GTE
Definition: statement_list_y.tab.cpp:347
TOK_END_TAG
@ TOK_END_TAG
Definition: statement_list_y.tab.h:73
convert_string_value.h
YYSYMBOL_Opt_Instruction_List
@ YYSYMBOL_Opt_Instruction_List
Definition: statement_list_y.tab.cpp:433
TOK_ACCU_DINT_DIV
@ TOK_ACCU_DINT_DIV
Definition: statement_list_y.tab.h:126
YYABORT
#define YYABORT
Definition: statement_list_y.tab.cpp:1173
YYSYMBOL_Temp_Decls
@ YYSYMBOL_Temp_Decls
Definition: statement_list_y.tab.cpp:423
YYSYMBOL_init
@ YYSYMBOL_init
Definition: statement_list_y.tab.cpp:373
YYSYMBOL_TOK_NETWORK
@ YYSYMBOL_TOK_NETWORK
Definition: statement_list_y.tab.cpp:296
YY_SYMBOL_PRINT
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
Definition: statement_list_y.tab.cpp:1329
TOK_DINT
@ TOK_DINT
Definition: statement_list_y.tab.h:75
TOK_ACCU_INT_NEQ
@ TOK_ACCU_INT_NEQ
Definition: statement_list_y.tab.h:108
YYERROR
#define YYERROR
Definition: statement_list_y.tab.cpp:1174
TOK_OR
@ TOK_OR
Definition: jsil_y.tab.h:107
YYSYMBOL_Opt_TITLE_VALUE
@ YYSYMBOL_Opt_TITLE_VALUE
Definition: statement_list_y.tab.cpp:432
YYSYMBOL_TOK_TITLE_VALUE
@ YYSYMBOL_TOK_TITLE_VALUE
Definition: statement_list_y.tab.cpp:364
yy_state_t
yytype_uint8 yy_state_t
Definition: statement_list_y.tab.cpp:560
YYSYMBOL_Constant_Decls
@ YYSYMBOL_Constant_Decls
Definition: statement_list_y.tab.cpp:426
YYSYMBOL_IL_Operand
@ YYSYMBOL_IL_Operand
Definition: statement_list_y.tab.cpp:443
symbol_exprt::typeless
static symbol_exprt typeless(const irep_idt &id)
Generate a symbol_exprt without a proper type.
Definition: std_expr.h:101
YYSYMBOL_TOK_TITLE
@ YYSYMBOL_TOK_TITLE
Definition: statement_list_y.tab.cpp:297
convert_title
string_constantt convert_title(const std::string &src)
Converts a string into a Statement List title.
Definition: convert_string_value.cpp:21
yytype_uint8
unsigned char yytype_uint8
Definition: statement_list_y.tab.cpp:505
YYSYMBOL_TOK_VAR_INOUT
@ YYSYMBOL_TOK_VAR_INOUT
Definition: statement_list_y.tab.cpp:290
YYENOMEM
@ YYENOMEM
Definition: statement_list_y.tab.cpp:1167
TOK_ACCU_INT_LTE
@ TOK_ACCU_INT_LTE
Definition: statement_list_y.tab.h:112
TOK_ACCU_REAL_GTE
@ TOK_ACCU_REAL_GTE
Definition: statement_list_y.tab.h:121
yystos
static const yytype_uint8 yystos[]
Definition: statement_list_y.tab.cpp:1090
YYSYMBOL_FB_Decl
@ YYSYMBOL_FB_Decl
Definition: statement_list_y.tab.cpp:390
YYACCEPT
#define YYACCEPT
Definition: statement_list_y.tab.cpp:1172
TOK_IDENTIFIER
@ TOK_IDENTIFIER
Definition: ansi_c_y.tab.h:116
YYSYMBOL_TOK_CLR_RLO
@ YYSYMBOL_TOK_CLR_RLO
Definition: statement_list_y.tab.cpp:310
YYSYMBOL_Tag_List
@ YYSYMBOL_Tag_List
Definition: statement_list_y.tab.cpp:455
YYSYMBOL_TOK_ACCU_INT_LT
@ YYSYMBOL_TOK_ACCU_INT_LT
Definition: statement_list_y.tab.cpp:336
YYSYMBOL_TOK_AND_NOT
@ YYSYMBOL_TOK_AND_NOT
Definition: statement_list_y.tab.cpp:315
YYSYMBOL_FB_Input_Decl
@ YYSYMBOL_FB_Input_Decl
Definition: statement_list_y.tab.cpp:397
YYSYMBOL_Input_Decls
@ YYSYMBOL_Input_Decls
Definition: statement_list_y.tab.cpp:414
yytable
static const yytype_int16 yytable[]
Definition: statement_list_y.tab.cpp:1034
YYSYMBOL_Sign_Int_Type_Name
@ YYSYMBOL_Sign_Int_Type_Name
Definition: statement_list_y.tab.cpp:383
YYNSTATES
#define YYNSTATES
Definition: statement_list_y.tab.cpp:774
YYPOPSTACK
#define YYPOPSTACK(N)
TOK_REAL_LITERAL
@ TOK_REAL_LITERAL
Definition: statement_list_y.tab.h:136
TOK_ACCU_REAL_ADD
@ TOK_ACCU_REAL_ADD
Definition: statement_list_y.tab.h:113
YYSYMBOL_IL_Instruction
@ YYSYMBOL_IL_Instruction
Definition: statement_list_y.tab.cpp:436
YYSYMBOL_Oom_IL_Instruction
@ YYSYMBOL_Oom_IL_Instruction
Definition: statement_list_y.tab.cpp:435
yytable_value_is_error
#define yytable_value_is_error(Yyn)
Definition: statement_list_y.tab.cpp:939
yyalloc::yyss_alloc
yy_state_t yyss_alloc
Definition: ansi_c_y.tab.cpp:1074
yy_state_t
yytype_int16 yy_state_t
Definition: ansi_c_y.tab.cpp:925
YYSYMBOL_TOK_ACCU_INT_EQ
@ YYSYMBOL_TOK_ACCU_INT_EQ
Definition: statement_list_y.tab.cpp:333
YYSYMBOL_IO_Var_Decls
@ YYSYMBOL_IO_Var_Decls
Definition: statement_list_y.tab.cpp:413
YYSYMBOL_TOK_CALL
@ YYSYMBOL_TOK_CALL
Definition: statement_list_y.tab.cpp:307
YYSYMBOL_TOK_ACCU_REAL_NEQ
@ YYSYMBOL_TOK_ACCU_REAL_NEQ
Definition: statement_list_y.tab.cpp:344
YYSYMBOL_Zom_Inout_Decl
@ YYSYMBOL_Zom_Inout_Decl
Definition: statement_list_y.tab.cpp:418
TOK_ACCU_INT_GTE
@ TOK_ACCU_INT_GTE
Definition: statement_list_y.tab.h:111
YYUSE
#define YYUSE(E)
Definition: statement_list_y.tab.cpp:596
yytranslate
static const yytype_int8 yytranslate[]
Definition: statement_list_y.tab.cpp:788
YYSYMBOL_TOK_TRANSFER
@ YYSYMBOL_TOK_TRANSFER
Definition: statement_list_y.tab.cpp:306
YYSYMBOL_TOK_ACCU_REAL_GT
@ YYSYMBOL_TOK_ACCU_REAL_GT
Definition: statement_list_y.tab.cpp:345
YYSYMBOL_TOK_FUNCTION
@ YYSYMBOL_TOK_FUNCTION
Definition: statement_list_y.tab.cpp:287
YYSYMBOL_FB_IO_Var_Decls
@ YYSYMBOL_FB_IO_Var_Decls
Definition: statement_list_y.tab.cpp:394
newstack
#define newstack(x)
Definition: parser.h:142
symbol_exprt
Expression to hold a symbol (variable)
Definition: std_expr.h:82
TOK_VERSION_VALUE
@ TOK_VERSION_VALUE
Definition: statement_list_y.tab.h:139
YYSYMBOL_TOK_ACCU_INT_NEQ
@ YYSYMBOL_TOK_ACCU_INT_NEQ
Definition: statement_list_y.tab.cpp:334
TOK_TRANSFER
@ TOK_TRANSFER
Definition: statement_list_y.tab.h:80
YYSYMBOL_TOK_OR_NOT
@ YYSYMBOL_TOK_OR_NOT
Definition: statement_list_y.tab.cpp:317
YYSYMBOL_87_
@ YYSYMBOL_87_
Definition: statement_list_y.tab.cpp:367
YYSYMBOL_TOK_VAR_INPUT
@ YYSYMBOL_TOK_VAR_INPUT
Definition: statement_list_y.tab.cpp:289
YYSYMBOL_Param_Assignment
@ YYSYMBOL_Param_Assignment
Definition: statement_list_y.tab.cpp:451
TOK_ACCU_REAL_MUL
@ TOK_ACCU_REAL_MUL
Definition: statement_list_y.tab.h:115
TOK_ACCU_DINT_EQ
@ TOK_ACCU_DINT_EQ
Definition: statement_list_y.tab.h:127
equal_exprt
Equality.
Definition: std_expr.h:1196
TOK_ACCU_DINT_ADD
@ TOK_ACCU_DINT_ADD
Definition: statement_list_y.tab.h:123
YYSYMBOL_TOK_XOR_NOT_NESTED
@ YYSYMBOL_TOK_XOR_NOT_NESTED
Definition: statement_list_y.tab.cpp:325
TOK_ACCU_INT_GT
@ TOK_ACCU_INT_GT
Definition: statement_list_y.tab.h:109
TOK_NOP
@ TOK_NOP
Definition: statement_list_y.tab.h:82
TOK_VAR_INPUT
@ TOK_VAR_INPUT
Definition: statement_list_y.tab.h:63
YYEMPTY
@ YYEMPTY
Definition: ansi_c_y.tab.h:53
YYSYMBOL_YYUNDEF
@ YYSYMBOL_YYUNDEF
Definition: statement_list_y.tab.cpp:282
YYSYMBOL_Numeric_Type_Name
@ YYSYMBOL_Numeric_Type_Name
Definition: statement_list_y.tab.cpp:381
TOK_ACCU_REAL_DIV
@ TOK_ACCU_REAL_DIV
Definition: statement_list_y.tab.h:116
yytype_int16
short yytype_int16
Definition: statement_list_y.tab.cpp:496
YYSTACK_ALLOC
#define YYSTACK_ALLOC
Definition: statement_list_y.tab.cpp:674
TOK_ACCU_DINT_GTE
@ TOK_ACCU_DINT_GTE
Definition: statement_list_y.tab.h:131
YYSYMBOL_TOK_VERSION_VALUE
@ YYSYMBOL_TOK_VERSION_VALUE
Definition: statement_list_y.tab.cpp:365
YYSTYPE
Definition: xml_y.tab.cpp:170
TOK_ASSIGN
@ TOK_ASSIGN
Definition: statement_list_y.tab.h:101
statement_list_y.tab.h
yystatement_listlval
unsigned yystatement_listlval
Definition: statement_list_y.tab.cpp:1379
yylval
#define yylval
Definition: statement_list_y.tab.cpp:73
TOK_CALL
@ TOK_CALL
Definition: statement_list_y.tab.h:81
YY_IGNORE_USELESS_CAST_END
#define YY_IGNORE_USELESS_CAST_END
Definition: statement_list_y.tab.cpp:629
YYSYMBOL_Func_General_Var_Decl
@ YYSYMBOL_Func_General_Var_Decl
Definition: statement_list_y.tab.cpp:412
TOK_INT
@ TOK_INT
Definition: ansi_c_y.tab.h:76
YYSIZE_T
#define YYSIZE_T
Definition: statement_list_y.tab.cpp:546
YYSYMBOL_TOK_ACCU_REAL_EQ
@ YYSYMBOL_TOK_ACCU_REAL_EQ
Definition: statement_list_y.tab.cpp:343
YYSYMBOL_Opt_Data_Block
@ YYSYMBOL_Opt_Data_Block
Definition: statement_list_y.tab.cpp:452
YYSYMBOL_Call
@ YYSYMBOL_Call
Definition: statement_list_y.tab.cpp:447
TOK_ACCU_INT_MUL
@ TOK_ACCU_INT_MUL
Definition: statement_list_y.tab.h:105
yydefact
static const yytype_uint8 yydefact[]
Definition: statement_list_y.tab.cpp:975
YYSYMBOL_FB_Body
@ YYSYMBOL_FB_Body
Definition: statement_list_y.tab.cpp:407
yytype_uint8
unsigned char yytype_uint8
Definition: ansi_c_y.tab.cpp:870
YYSYMBOL_TOK_OR_NOT_NESTED
@ YYSYMBOL_TOK_OR_NOT_NESTED
Definition: statement_list_y.tab.cpp:323
yydefgoto
static const yytype_int16 yydefgoto[]
Definition: statement_list_y.tab.cpp:1018
yytokentype
yytokentype
Definition: ansi_c_y.tab.h:52
YYSYMBOL_TOK_VAR_CONSTANT
@ YYSYMBOL_TOK_VAR_CONSTANT
Definition: statement_list_y.tab.cpp:294
YYSYMBOL_Zom_Input_Decl
@ YYSYMBOL_Zom_Input_Decl
Definition: statement_list_y.tab.cpp:415
yyr1
static const yytype_uint8 yyr1[]
Definition: statement_list_y.tab.cpp:1119
TOK_INT_LITERAL
@ TOK_INT_LITERAL
Definition: statement_list_y.tab.h:134
yychar
#define yychar
Definition: statement_list_y.tab.cpp:74
TOK_OR_NOT
@ TOK_OR_NOT
Definition: statement_list_y.tab.h:91
YYSYMBOL_FB_Inout_Decl
@ YYSYMBOL_FB_Inout_Decl
Definition: statement_list_y.tab.cpp:403
TOK_XOR_NOT_NESTED
@ TOK_XOR_NOT_NESTED
Definition: statement_list_y.tab.h:99
TOK_TITLE_VALUE
@ TOK_TITLE_VALUE
Definition: statement_list_y.tab.h:138
YY_IGNORE_MAYBE_UNINITIALIZED_END
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
Definition: statement_list_y.tab.cpp:614
TOK_SET_RLO
@ TOK_SET_RLO
Definition: statement_list_y.tab.h:83
YYSYMBOL_TOK_VERSION
@ YYSYMBOL_TOK_VERSION
Definition: statement_list_y.tab.cpp:283
YYSYMBOL_Variable_Name
@ YYSYMBOL_Variable_Name
Definition: statement_list_y.tab.cpp:377
YYSYMBOL_TOK_ACCU_DINT_ADD
@ YYSYMBOL_TOK_ACCU_DINT_ADD
Definition: statement_list_y.tab.cpp:349
YYSYMBOL_TOK_ACCU_DINT_GTE
@ YYSYMBOL_TOK_ACCU_DINT_GTE
Definition: statement_list_y.tab.cpp:357
YYSYMBOL_YYEMPTY
@ YYSYMBOL_YYEMPTY
Definition: statement_list_y.tab.cpp:279
TOK_ACCU_INT_SUB
@ TOK_ACCU_INT_SUB
Definition: statement_list_y.tab.h:104
YYSYMBOL_TOK_ACCU_REAL_DIV
@ YYSYMBOL_TOK_ACCU_REAL_DIV
Definition: statement_list_y.tab.cpp:342
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
Definition: statement_list_y.tab.cpp:613
YYSYMBOL_TOK_AND
@ YYSYMBOL_TOK_AND
Definition: statement_list_y.tab.cpp:314
yystatement_listparse
int yystatement_listparse(void)
Defined in statement_list_y.tab.cpp.
Definition: statement_list_y.tab.cpp:1391
YYFINAL
#define YYFINAL
Definition: statement_list_y.tab.cpp:763
TOK_ACCU_INT_DIV
@ TOK_ACCU_INT_DIV
Definition: statement_list_y.tab.h:106
YYSYMBOL_DInt_Type_Name
@ YYSYMBOL_DInt_Type_Name
Definition: statement_list_y.tab.cpp:384
TOK_CONST_ADD
@ TOK_CONST_ADD
Definition: statement_list_y.tab.h:102
YYSYMBOL_Constant_Decl
@ YYSYMBOL_Constant_Decl
Definition: statement_list_y.tab.cpp:428
TOK_ACCU_DINT_LTE
@ TOK_ACCU_DINT_LTE
Definition: statement_list_y.tab.h:132
yystatement_listtext
char * yystatement_listtext
Definition: statement_list_lex.yy.cpp:1087
yynerrs
#define yynerrs
Definition: statement_list_y.tab.cpp:72
YYSYMBOL_TOK_ACCU_REAL_SUB
@ YYSYMBOL_TOK_ACCU_REAL_SUB
Definition: statement_list_y.tab.cpp:340
YYSYMBOL_TOK_ACCU_DINT_MUL
@ YYSYMBOL_TOK_ACCU_DINT_MUL
Definition: statement_list_y.tab.cpp:351
YY_REDUCE_PRINT
#define YY_REDUCE_PRINT(Rule)
Definition: statement_list_y.tab.cpp:1331
YYSYMBOL_Int_Type_Name
@ YYSYMBOL_Int_Type_Name
Definition: statement_list_y.tab.cpp:382
YYINITDEPTH
#define YYINITDEPTH
Definition: statement_list_y.tab.cpp:1337
YYSYMBOL_FB_Output_Decls
@ YYSYMBOL_FB_Output_Decls
Definition: statement_list_y.tab.cpp:398
TOK_END_FUNCTION_BLOCK
@ TOK_END_FUNCTION_BLOCK
Definition: statement_list_y.tab.h:60
YYSYMBOL_TOK_ACCU_INT_LTE
@ YYSYMBOL_TOK_ACCU_INT_LTE
Definition: statement_list_y.tab.cpp:338
yypact
static const yytype_int8 yypact[]
Definition: statement_list_y.tab.cpp:944
YYSYMBOL_Simple_Spec
@ YYSYMBOL_Simple_Spec
Definition: statement_list_y.tab.cpp:379
YYSYMBOL_Output_Decl
@ YYSYMBOL_Output_Decl
Definition: statement_list_y.tab.cpp:422
YYSYMBOL_TOK_LABEL
@ YYSYMBOL_TOK_LABEL
Definition: statement_list_y.tab.cpp:366
YYSYMBOL_TOK_ACCU_DINT_LTE
@ YYSYMBOL_TOK_ACCU_DINT_LTE
Definition: statement_list_y.tab.cpp:358
yydebug
#define yydebug
Definition: statement_list_y.tab.cpp:71
yyr2
static const yytype_int8 yyr2[]
Definition: statement_list_y.tab.cpp:1143
YYSYMBOL_Simple_Spec_Init
@ YYSYMBOL_Simple_Spec_Init
Definition: statement_list_y.tab.cpp:378
YYSYMBOL_TOK_VAR_TEMP
@ YYSYMBOL_TOK_VAR_TEMP
Definition: statement_list_y.tab.cpp:293
TOK_ACCU_INT_ADD
@ TOK_ACCU_INT_ADD
Definition: statement_list_y.tab.h:103
YYSYMBOL_Oom_Param_Assignment
@ YYSYMBOL_Oom_Param_Assignment
Definition: statement_list_y.tab.cpp:450
YYSYMBOL_TOK_NOT
@ YYSYMBOL_TOK_NOT
Definition: statement_list_y.tab.cpp:313
YYSYMBOL_FB_Inout_Decls
@ YYSYMBOL_FB_Inout_Decls
Definition: statement_list_y.tab.cpp:401
YYSYMBOL_TOK_FUNCTION_BLOCK
@ YYSYMBOL_TOK_FUNCTION_BLOCK
Definition: statement_list_y.tab.cpp:285
malloc
void * malloc(unsigned)
YYTRANSLATE
#define YYTRANSLATE(YYX)
Definition: statement_list_y.tab.cpp:781
YYSYMBOL_TOK_ACCU_REAL_ADD
@ YYSYMBOL_TOK_ACCU_REAL_ADD
Definition: statement_list_y.tab.cpp:339
YYSYMBOL_Zom_FB_Inout_Decl
@ YYSYMBOL_Zom_FB_Inout_Decl
Definition: statement_list_y.tab.cpp:402
YYSYMBOL_TOK_REAL
@ YYSYMBOL_TOK_REAL
Definition: statement_list_y.tab.cpp:302
YYSYMBOL_TOK_VAR_STATIC
@ YYSYMBOL_TOK_VAR_STATIC
Definition: statement_list_y.tab.cpp:292
YYSYMBOL_TOK_SET
@ YYSYMBOL_TOK_SET
Definition: statement_list_y.tab.cpp:311
YYSYMBOL_TOK_CONST_ADD
@ YYSYMBOL_TOK_CONST_ADD
Definition: statement_list_y.tab.cpp:328
yysymbol_kind_t
yysymbol_kind_t
Definition: statement_list_y.tab.cpp:278
free
void free(void *)
yyalloc::yyvs_alloc
unsigned yyvs_alloc
Definition: ansi_c_y.tab.cpp:1075
YYSYMBOL_TOK_VOID
@ YYSYMBOL_TOK_VOID
Definition: statement_list_y.tab.cpp:304
YYSYMBOL_Constant
@ YYSYMBOL_Constant
Definition: statement_list_y.tab.cpp:445
YYSYMBOL_Derived_Func_Name
@ YYSYMBOL_Derived_Func_Name
Definition: statement_list_y.tab.cpp:409
YYSYMBOL_Func_Return_Value
@ YYSYMBOL_Func_Return_Value
Definition: statement_list_y.tab.cpp:410
YY_ACCESSING_SYMBOL
#define YY_ACCESSING_SYMBOL(State)
Accessing symbol of state STATE.
Definition: statement_list_y.tab.cpp:854
YY_STACK_PRINT
#define YY_STACK_PRINT(Bottom, Top)
Definition: statement_list_y.tab.cpp:1330
YYSYMBOL_TOK_END_FUNCTION_BLOCK
@ YYSYMBOL_TOK_END_FUNCTION_BLOCK
Definition: statement_list_y.tab.cpp:286
YYSYMBOL_Bool_Type_Name
@ YYSYMBOL_Bool_Type_Name
Definition: statement_list_y.tab.cpp:387
YYSYMBOL_Zom_Separated_Variable_Name
@ YYSYMBOL_Zom_Separated_Variable_Name
Definition: statement_list_y.tab.cpp:376
YYSYMBOL_TOK_ACCU_INT_DIV
@ YYSYMBOL_TOK_ACCU_INT_DIV
Definition: statement_list_y.tab.cpp:332
TOK_OR_NESTED
@ TOK_OR_NESTED
Definition: statement_list_y.tab.h:96
YYSYMBOL_TOK_ACCU_DINT_EQ
@ YYSYMBOL_TOK_ACCU_DINT_EQ
Definition: statement_list_y.tab.cpp:353
YYSYMBOL_Derived_FB_Name
@ YYSYMBOL_Derived_FB_Name
Definition: statement_list_y.tab.cpp:389
YYSYMBOL_Opt_Tag_List
@ YYSYMBOL_Opt_Tag_List
Definition: statement_list_y.tab.cpp:454
YY_ASSERT
#define YY_ASSERT(E)
Definition: statement_list_y.tab.cpp:633
YYSYMBOL_FB_General_Var_Decl
@ YYSYMBOL_FB_General_Var_Decl
Definition: statement_list_y.tab.cpp:393
YYSYMBOL_Temp_Decl
@ YYSYMBOL_Temp_Decl
Definition: statement_list_y.tab.cpp:425
YYSYMBOL_TOK_INT
@ YYSYMBOL_TOK_INT
Definition: statement_list_y.tab.cpp:300
YYSYMBOL_TOK_ACCU_INT_SUB
@ YYSYMBOL_TOK_ACCU_INT_SUB
Definition: statement_list_y.tab.cpp:330
YYSYMBOL_IL_Network
@ YYSYMBOL_IL_Network
Definition: statement_list_y.tab.cpp:431
TOK_SET
@ TOK_SET
Definition: statement_list_y.tab.h:85
TOK_NOT
@ TOK_NOT
Definition: jsil_y.tab.h:112
TOK_XOR_NOT
@ TOK_XOR_NOT
Definition: statement_list_y.tab.h:93
YYSYMBOL_TOK_XOR_NOT
@ YYSYMBOL_TOK_XOR_NOT
Definition: statement_list_y.tab.cpp:319
YYSYMBOL_TOK_IDENTIFIER
@ YYSYMBOL_TOK_IDENTIFIER
Definition: statement_list_y.tab.cpp:363
TOK_VAR_INOUT
@ TOK_VAR_INOUT
Definition: statement_list_y.tab.h:64
YYNTOKENS
#define YYNTOKENS
Definition: statement_list_y.tab.cpp:768
TOK_VAR_STATIC
@ TOK_VAR_STATIC
Definition: statement_list_y.tab.h:66
YYSYMBOL_TOK_BOOL
@ YYSYMBOL_TOK_BOOL
Definition: statement_list_y.tab.cpp:303
YYSYMBOL_Tag_Decl
@ YYSYMBOL_Tag_Decl
Definition: statement_list_y.tab.cpp:453
YYSYMBOL_Inout_Decl
@ YYSYMBOL_Inout_Decl
Definition: statement_list_y.tab.cpp:419
get_int_type
signedbv_typet get_int_type()
Creates a new type that resembles the 'Int' type of the Siemens PLC languages.
Definition: statement_list_types.cpp:16
TOK_TAG
@ TOK_TAG
Definition: statement_list_y.tab.h:72
YYSYMBOL_Zom_Temp_Decl
@ YYSYMBOL_Zom_Temp_Decl
Definition: statement_list_y.tab.cpp:424
TOK_ASSIGNMENT
@ TOK_ASSIGNMENT
Definition: statement_list_y.tab.h:133
YYSYMBOL_TOK_INT_LITERAL
@ YYSYMBOL_TOK_INT_LITERAL
Definition: statement_list_y.tab.cpp:360
TOK_BOOL
@ TOK_BOOL
Definition: ansi_c_y.tab.h:58
TOK_XOR_NESTED
@ TOK_XOR_NESTED
Definition: statement_list_y.tab.h:98
TOK_ACCU_DINT_SUB
@ TOK_ACCU_DINT_SUB
Definition: statement_list_y.tab.h:124
TOK_BOOL_LITERAL
@ TOK_BOOL_LITERAL
Definition: statement_list_y.tab.h:135
TOK_CLR_RLO
@ TOK_CLR_RLO
Definition: statement_list_y.tab.h:84
YYSYMBOL_TOK_ACCU_REAL_LTE
@ YYSYMBOL_TOK_ACCU_REAL_LTE
Definition: statement_list_y.tab.cpp:348
YYSYMBOL_TOK_OR_NESTED
@ YYSYMBOL_TOK_OR_NESTED
Definition: statement_list_y.tab.cpp:322
YYSYMBOL_FB_Output_Decl
@ YYSYMBOL_FB_Output_Decl
Definition: statement_list_y.tab.cpp:400
TOK_ACCU_DINT_MUL
@ TOK_ACCU_DINT_MUL
Definition: statement_list_y.tab.h:125
yytype_int8
signed char yytype_int8
Definition: ansi_c_y.tab.cpp:853
YYSYMBOL_TOK_END_TAG
@ YYSYMBOL_TOK_END_TAG
Definition: statement_list_y.tab.cpp:299
YYSYMBOL_Opt_Instruction
@ YYSYMBOL_Opt_Instruction
Definition: statement_list_y.tab.cpp:439
YYSYMBOL_YYerror
@ YYSYMBOL_YYerror
Definition: statement_list_y.tab.cpp:281
TOK_OR_NOT_NESTED
@ TOK_OR_NOT_NESTED
Definition: statement_list_y.tab.h:97
YYSYMBOL_TOK_ACCU_DINT_LT
@ YYSYMBOL_TOK_ACCU_DINT_LT
Definition: statement_list_y.tab.cpp:356
YYSYMBOL_91_
@ YYSYMBOL_91_
Definition: statement_list_y.tab.cpp:371
YYSYMBOL_90_
@ YYSYMBOL_90_
Definition: statement_list_y.tab.cpp:370
YYSYMBOL_TOK_END_FUNCTION
@ YYSYMBOL_TOK_END_FUNCTION
Definition: statement_list_y.tab.cpp:288
TOK_REAL
@ TOK_REAL
Definition: ansi_c_y.tab.h:204
YYSYMBOL_Zom_FB_General_Var_Decls
@ YYSYMBOL_Zom_FB_General_Var_Decls
Definition: statement_list_y.tab.cpp:392
YYDPRINTF
#define YYDPRINTF(Args)
Definition: statement_list_y.tab.cpp:1328
yypgoto
static const yytype_int8 yypgoto[]
Definition: statement_list_y.tab.cpp:1004
TOK_TITLE
@ TOK_TITLE
Definition: statement_list_y.tab.h:71
YYSTACK_RELOCATE
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
Definition: statement_list_y.tab.cpp:729
YYSYMBOL_TOK_ACCU_INT_MUL
@ YYSYMBOL_TOK_ACCU_INT_MUL
Definition: statement_list_y.tab.cpp:331
YYSYMBOL_Zom_FB_Static_Decl
@ YYSYMBOL_Zom_FB_Static_Decl
Definition: statement_list_y.tab.cpp:405
TOK_NESTING_CLOSED
@ TOK_NESTING_CLOSED
Definition: statement_list_y.tab.h:100
YYSYMBOL_TOK_ACCU_INT_ADD
@ YYSYMBOL_TOK_ACCU_INT_ADD
Definition: statement_list_y.tab.cpp:329
YYSYMBOL_TOK_RESET
@ YYSYMBOL_TOK_RESET
Definition: statement_list_y.tab.cpp:312
YYSYMBOL_Input_Decl
@ YYSYMBOL_Input_Decl
Definition: statement_list_y.tab.cpp:416
TOK_END_FUNCTION
@ TOK_END_FUNCTION
Definition: statement_list_y.tab.h:62
YYSYMBOL_FB_Static_Decl
@ YYSYMBOL_FB_Static_Decl
Definition: statement_list_y.tab.cpp:406
YYSYMBOL_Variable_Access
@ YYSYMBOL_Variable_Access
Definition: statement_list_y.tab.cpp:444
YYMAXDEPTH
#define YYMAXDEPTH
Definition: statement_list_y.tab.cpp:1348
YYSYMBOL_TOK_OR
@ YYSYMBOL_TOK_OR
Definition: statement_list_y.tab.cpp:316
yyerror
#define yyerror
Definition: statement_list_y.tab.cpp:70
YYSYMBOL_Zom_Constant_Decl
@ YYSYMBOL_Zom_Constant_Decl
Definition: statement_list_y.tab.cpp:427
YYSYMBOL_TOK_BOOL_LITERAL
@ YYSYMBOL_TOK_BOOL_LITERAL
Definition: statement_list_y.tab.cpp:361
YYSYMBOL_Callee_Name
@ YYSYMBOL_Callee_Name
Definition: statement_list_y.tab.cpp:448
YYSTACK_FREE
#define YYSTACK_FREE
Definition: statement_list_y.tab.cpp:675
YYSYMBOL_TOK_XOR_NESTED
@ YYSYMBOL_TOK_XOR_NESTED
Definition: statement_list_y.tab.cpp:324
TOK_VAR_TEMP
@ TOK_VAR_TEMP
Definition: statement_list_y.tab.h:67
YYSYMBOL_TOK_DINT
@ YYSYMBOL_TOK_DINT
Definition: statement_list_y.tab.cpp:301
yystatement_listlex
int yystatement_listlex()
The main scanner function which does all the work.
Definition: statement_list_lex.yy.cpp:1351
YYSYMBOL_TOK_VAR_OUTPUT
@ YYSYMBOL_TOK_VAR_OUTPUT
Definition: statement_list_y.tab.cpp:291
YYSYMBOL_Zom_FB_Input_Decl
@ YYSYMBOL_Zom_FB_Input_Decl
Definition: statement_list_y.tab.cpp:396
YYSYMBOL_TOK_AND_NESTED
@ YYSYMBOL_TOK_AND_NESTED
Definition: statement_list_y.tab.cpp:320
TOK_VAR_CONSTANT
@ TOK_VAR_CONSTANT
Definition: statement_list_y.tab.h:68
TOK_VERSION
@ TOK_VERSION
Definition: statement_list_y.tab.h:57
yyparse
#define yyparse
Definition: statement_list_y.tab.cpp:68
yyalloc
Definition: ansi_c_y.tab.cpp:1073
YYSYMBOL_Zom_IL_Network
@ YYSYMBOL_Zom_IL_Network
Definition: statement_list_y.tab.cpp:430
YYEOF
@ YYEOF
Definition: ansi_c_y.tab.h:54
TOK_BEGIN
@ TOK_BEGIN
Definition: statement_list_y.tab.h:58
YYSYMBOL_TOK_ASSIGNMENT
@ YYSYMBOL_TOK_ASSIGNMENT
Definition: statement_list_y.tab.cpp:359
yytype_int8
signed char yytype_int8
Definition: statement_list_y.tab.cpp:488
get_real_type
floatbv_typet get_real_type()
Creates a new type that resembles the 'Real' type of the Siemens PLC languages.
Definition: statement_list_types.cpp:24
YYSYMBOL_TOK_ACCU_DINT_SUB
@ YYSYMBOL_TOK_ACCU_DINT_SUB
Definition: statement_list_y.tab.cpp:350
YYSYMBOL_Opt_Operand
@ YYSYMBOL_Opt_Operand
Definition: statement_list_y.tab.cpp:441
TOK_ACCU_DINT_NEQ
@ TOK_ACCU_DINT_NEQ
Definition: statement_list_y.tab.h:128
TOK_ACCU_DINT_LT
@ TOK_ACCU_DINT_LT
Definition: statement_list_y.tab.h:130
YYerror
@ YYerror
Definition: ansi_c_y.tab.h:55
TOK_XOR
@ TOK_XOR
Definition: statement_list_y.tab.h:92
TOK_ACCU_REAL_NEQ
@ TOK_ACCU_REAL_NEQ
Definition: statement_list_y.tab.h:118
YYSYMBOL_TOK_ACCU_INT_GTE
@ YYSYMBOL_TOK_ACCU_INT_GTE
Definition: statement_list_y.tab.cpp:337
YYSYMBOL_Opt_Param_List
@ YYSYMBOL_Opt_Param_List
Definition: statement_list_y.tab.cpp:449
TOK_ACCU_DINT_GT
@ TOK_ACCU_DINT_GT
Definition: statement_list_y.tab.h:129
YYSYMBOL_Zom_Output_Decl
@ YYSYMBOL_Zom_Output_Decl
Definition: statement_list_y.tab.cpp:421
YY_
#define YY_(Msgid)
Definition: statement_list_y.tab.cpp:573
TOK_AND_NESTED
@ TOK_AND_NESTED
Definition: statement_list_y.tab.h:94
YYSYMBOL_TOK_END_VAR
@ YYSYMBOL_TOK_END_VAR
Definition: statement_list_y.tab.cpp:295
YYSYMBOL_TOK_ACCU_DINT_NEQ
@ YYSYMBOL_TOK_ACCU_DINT_NEQ
Definition: statement_list_y.tab.cpp:354
YYSYMBOL_TOK_XOR
@ YYSYMBOL_TOK_XOR
Definition: statement_list_y.tab.cpp:318
YYSYMBOL_89_
@ YYSYMBOL_89_
Definition: statement_list_y.tab.cpp:369
yypact_value_is_default
#define yypact_value_is_default(Yyn)
Definition: statement_list_y.tab.cpp:934
TOK_ACCU_INT_LT
@ TOK_ACCU_INT_LT
Definition: statement_list_y.tab.h:110
YYSYMBOL_Elem_Type_Name
@ YYSYMBOL_Elem_Type_Name
Definition: statement_list_y.tab.cpp:380
YYSTACK_BYTES
#define YYSTACK_BYTES(N)
Definition: statement_list_y.tab.cpp:718
TOK_VOID
@ TOK_VOID
Definition: ansi_c_y.tab.h:90
YYSYMBOL_Opt_Label
@ YYSYMBOL_Opt_Label
Definition: statement_list_y.tab.cpp:437
TOK_ACCU_REAL_EQ
@ TOK_ACCU_REAL_EQ
Definition: statement_list_y.tab.h:117
YYSYMBOL_Var_Decl_Init
@ YYSYMBOL_Var_Decl_Init
Definition: statement_list_y.tab.cpp:374
YYSYMBOL_IL_Invocation
@ YYSYMBOL_IL_Invocation
Definition: statement_list_y.tab.cpp:446
PARSER
#define PARSER
Definition: statement_list_y.tab.cpp:92
yydestruct
static void yydestruct(const char *yymsg, yysymbol_kind_t yykind, unsigned *yyvaluep)
Definition: statement_list_y.tab.cpp:1361
yytype_uint16
unsigned short yytype_uint16
Definition: statement_list_y.tab.cpp:516
TOK_ACCU_INT_EQ
@ TOK_ACCU_INT_EQ
Definition: statement_list_y.tab.h:107
YYSYMBOL_TOK_ACCU_DINT_DIV
@ YYSYMBOL_TOK_ACCU_DINT_DIV
Definition: statement_list_y.tab.cpp:352
YYSYMBOL_YYACCEPT
@ YYSYMBOL_YYACCEPT
Definition: statement_list_y.tab.cpp:372
YYSYMBOL_TOK_ACCU_REAL_LT
@ YYSYMBOL_TOK_ACCU_REAL_LT
Definition: statement_list_y.tab.cpp:346
TOK_RESET
@ TOK_RESET
Definition: statement_list_y.tab.h:86
YYSYMBOL_Output_Decls
@ YYSYMBOL_Output_Decls
Definition: statement_list_y.tab.cpp:420
std_expr.h
YYSYMBOL_TOK_NESTING_CLOSED
@ YYSYMBOL_TOK_NESTING_CLOSED
Definition: statement_list_y.tab.cpp:326
YYSYMBOL_TOK_NOP
@ YYSYMBOL_TOK_NOP
Definition: statement_list_y.tab.cpp:308
get_bool_type
bool_typet get_bool_type()
Creates a new type that resembles the 'Bool' type of the Siemens PLC languages.
Definition: statement_list_types.cpp:28
parser_stack
#define parser_stack(x)
Definition: parser.h:144
YYSYMBOL_IL_Label
@ YYSYMBOL_IL_Label
Definition: statement_list_y.tab.cpp:438
YYSYMBOL_TOK_BEGIN
@ YYSYMBOL_TOK_BEGIN
Definition: statement_list_y.tab.cpp:284
TOK_ACCU_REAL_LTE
@ TOK_ACCU_REAL_LTE
Definition: statement_list_y.tab.h:122
TOK_ACCU_REAL_LT
@ TOK_ACCU_REAL_LT
Definition: statement_list_y.tab.h:120
YYSYMBOL_Variable_List
@ YYSYMBOL_Variable_List
Definition: statement_list_y.tab.cpp:375
YYSYMBOL_TOK_SET_RLO
@ YYSYMBOL_TOK_SET_RLO
Definition: statement_list_y.tab.cpp:309
TOK_LOAD
@ TOK_LOAD
Definition: statement_list_y.tab.h:79
YYSYMBOL_Sign_DInt_Type_Name
@ YYSYMBOL_Sign_DInt_Type_Name
Definition: statement_list_y.tab.cpp:385
YY_IGNORE_USELESS_CAST_BEGIN
#define YY_IGNORE_USELESS_CAST_BEGIN
Definition: statement_list_y.tab.cpp:628
yytype_int16
short yytype_int16
Definition: ansi_c_y.tab.cpp:861
YYSYMBOL_IL_Simple_Operation
@ YYSYMBOL_IL_Simple_Operation
Definition: statement_list_y.tab.cpp:440
YYLAST
#define YYLAST
Definition: statement_list_y.tab.cpp:765
get_dint_type
signedbv_typet get_dint_type()
Creates a new type that resembles the 'DInt' type of the Siemens PLC languages.
Definition: statement_list_types.cpp:20
TOK_ACCU_REAL_SUB
@ TOK_ACCU_REAL_SUB
Definition: statement_list_y.tab.h:114
yy_state_fast_t
int yy_state_fast_t
Definition: ansi_c_y.tab.cpp:928
TOK_AND_NOT_NESTED
@ TOK_AND_NOT_NESTED
Definition: statement_list_y.tab.h:95
yytoken_kind_t
enum yytokentype yytoken_kind_t
Definition: ansi_c_y.tab.h:252
YYSTYPE
#define YYSTYPE
Definition: statement_list_y.tab.cpp:103
YY_ATTRIBUTE_UNUSED
#define YY_ATTRIBUTE_UNUSED
Definition: statement_list_y.tab.cpp:590
YYSYMBOL_Func_Decl
@ YYSYMBOL_Func_Decl
Definition: statement_list_y.tab.cpp:408
YYSIZEOF
#define YYSIZEOF(X)
Definition: statement_list_y.tab.cpp:556
YYSYMBOL_TOK_ACCU_REAL_MUL
@ YYSYMBOL_TOK_ACCU_REAL_MUL
Definition: statement_list_y.tab.cpp:341
statement_list_types.h
YYUNDEF
@ YYUNDEF
Definition: ansi_c_y.tab.h:56
YYSYMBOL_88_
@ YYSYMBOL_88_
Definition: statement_list_y.tab.cpp:368
TOK_NETWORK
@ TOK_NETWORK
Definition: statement_list_y.tab.h:70
TOK_FUNCTION
@ TOK_FUNCTION
Definition: statement_list_y.tab.h:61