PIPS
patterns.h
Go to the documentation of this file.
1 /* A Bison parser, made by GNU Bison 3.8.2. */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5  Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
6  Inc.
7 
8  This program is free software: you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation, either version 3 of the License, or
11  (at your option) any later version.
12 
13  This program is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program. If not, see <https://www.gnu.org/licenses/>. */
20 
21 /* As a special exception, you may create a larger work that contains
22  part or all of the Bison parser skeleton and distribute that work
23  under terms of your choice, so long as that work isn't itself a
24  parser generator using the skeleton or a modified version thereof
25  as a parser skeleton. Alternatively, if you modify or redistribute
26  the parser skeleton itself, you may (at your option) remove this
27  special exception, which will cause the skeleton and the resulting
28  Bison output files to be licensed under the GNU General Public
29  License without this special exception.
30 
31  This special exception was added by the Free Software Foundation in
32  version 2.2 of Bison. */
33 
34 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
35  especially those whose name start with YY_ or yy_. They are
36  private implementation details that can be changed or removed. */
37 
38 #ifndef YY_PATTERNS_YY_PATTERNS_H_INCLUDED
39 # define YY_PATTERNS_YY_PATTERNS_H_INCLUDED
40 /* Debug traces. */
41 #ifndef YYDEBUG
42 # define YYDEBUG 0
43 #endif
44 #if YYDEBUG
45 extern int patterns_yydebug;
46 #endif
47 
48 /* Token kinds. */
49 #ifndef YYTOKENTYPE
50 # define YYTOKENTYPE
52  {
53  YYEMPTY = -2,
54  YYEOF = 0, /* "end of file" */
55  YYerror = 256, /* error */
56  YYUNDEF = 257, /* "invalid token" */
57  UNKNOWN_TOK = 258, /* UNKNOWN_TOK */
58  REFERENCE_TOK = 259, /* REFERENCE_TOK */
59  QI_REF_TOK = 260, /* QI_REF_TOK */
60  HI_REF_TOK = 261, /* HI_REF_TOK */
61  SI_REF_TOK = 262, /* SI_REF_TOK */
62  DI_REF_TOK = 263, /* DI_REF_TOK */
63  SF_REF_TOK = 264, /* SF_REF_TOK */
64  DF_REF_TOK = 265, /* DF_REF_TOK */
65  SC_REF_TOK = 266, /* SC_REF_TOK */
66  DC_REF_TOK = 267, /* DC_REF_TOK */
67  LOG_REF_TOK = 268, /* LOG_REF_TOK */
68  CONSTANT_TOK = 269, /* CONSTANT_TOK */
69  ASSIGN_OPERATOR_TOK = 270, /* ASSIGN_OPERATOR_TOK */
70  PLUS_OPERATOR_TOK = 271, /* PLUS_OPERATOR_TOK */
71  MINUS_OPERATOR_TOK = 272, /* MINUS_OPERATOR_TOK */
72  UNARY_MINUS_OPERATOR_TOK = 273, /* UNARY_MINUS_OPERATOR_TOK */
73  MULTIPLY_OPERATOR_TOK = 274, /* MULTIPLY_OPERATOR_TOK */
74  MULADD_OPERATOR_TOK = 275, /* MULADD_OPERATOR_TOK */
75  DIVIDE_OPERATOR_TOK = 276, /* DIVIDE_OPERATOR_TOK */
76  INVERSE_OPERATOR_TOK = 277, /* INVERSE_OPERATOR_TOK */
77  POWER_OPERATOR_TOK = 278, /* POWER_OPERATOR_TOK */
78  MODULO_OPERATOR_TOK = 279, /* MODULO_OPERATOR_TOK */
79  MIN_OPERATOR_TOK = 280, /* MIN_OPERATOR_TOK */
80  COS_OPERATOR_TOK = 281, /* COS_OPERATOR_TOK */
81  SIN_OPERATOR_TOK = 282, /* SIN_OPERATOR_TOK */
82  MIN0_OPERATOR_TOK = 283, /* MIN0_OPERATOR_TOK */
83  AMIN1_OPERATOR_TOK = 284, /* AMIN1_OPERATOR_TOK */
84  DMIN1_OPERATOR_TOK = 285, /* DMIN1_OPERATOR_TOK */
85  MAX_OPERATOR_TOK = 286, /* MAX_OPERATOR_TOK */
86  MAX0_OPERATOR_TOK = 287, /* MAX0_OPERATOR_TOK */
87  AMAX1_OPERATOR_TOK = 288, /* AMAX1_OPERATOR_TOK */
88  DMAX1_OPERATOR_TOK = 289, /* DMAX1_OPERATOR_TOK */
89  ABS_OPERATOR_TOK = 290, /* ABS_OPERATOR_TOK */
90  IABS_OPERATOR_TOK = 291, /* IABS_OPERATOR_TOK */
91  DABS_OPERATOR_TOK = 292, /* DABS_OPERATOR_TOK */
92  CABS_OPERATOR_TOK = 293, /* CABS_OPERATOR_TOK */
93  AND_OPERATOR_TOK = 294, /* AND_OPERATOR_TOK */
94  OR_OPERATOR_TOK = 295, /* OR_OPERATOR_TOK */
95  NOT_OPERATOR_TOK = 296, /* NOT_OPERATOR_TOK */
96  NON_EQUAL_OPERATOR_TOK = 297, /* NON_EQUAL_OPERATOR_TOK */
97  EQUIV_OPERATOR_TOK = 298, /* EQUIV_OPERATOR_TOK */
98  NON_EQUIV_OPERATOR_TOK = 299, /* NON_EQUIV_OPERATOR_TOK */
99  TRUE_OPERATOR_TOK = 300, /* TRUE_OPERATOR_TOK */
100  FALSE_OPERATOR_TOK = 301, /* FALSE_OPERATOR_TOK */
101  GREATER_OR_EQUAL_OPERATOR_TOK = 302, /* GREATER_OR_EQUAL_OPERATOR_TOK */
102  GREATER_THAN_OPERATOR_TOK = 303, /* GREATER_THAN_OPERATOR_TOK */
103  LESS_OR_EQUAL_OPERATOR_TOK = 304, /* LESS_OR_EQUAL_OPERATOR_TOK */
104  LESS_THAN_OPERATOR_TOK = 305, /* LESS_THAN_OPERATOR_TOK */
105  EQUAL_OPERATOR_TOK = 306, /* EQUAL_OPERATOR_TOK */
106  PHI_TOK = 307, /* PHI_TOK */
107  INTEGER_TOK = 308, /* INTEGER_TOK */
108  FLOAT_TOK = 309, /* FLOAT_TOK */
109  IDENTIFIER_TOK = 310 /* IDENTIFIER_TOK */
110  };
111  typedef enum yytokentype yytoken_kind_t;
112 #endif
113 
114 /* Value type. */
115 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
116 union YYSTYPE
117 {
118 #line 56 "tmp.y"
119 
124 
127 
128  int iVal;
129  float fVal;
130  char * strVal;
131 
134 
136 
137 #line 138 "patterns.h"
138 
139 };
140 typedef union YYSTYPE YYSTYPE;
141 # define YYSTYPE_IS_TRIVIAL 1
142 # define YYSTYPE_IS_DECLARED 1
143 #endif
144 
145 
146 extern YYSTYPE patterns_yylval;
147 
148 
149 int patterns_yyparse (void);
150 
151 
152 #endif /* !YY_PATTERNS_YY_PATTERNS_H_INCLUDED */
@ INTEGER_TOK
PHI_TOK
Definition: patterns.h:107
@ ASSIGN_OPERATOR_TOK
CONSTANT_TOK
Definition: patterns.h:69
@ AMIN1_OPERATOR_TOK
MIN0_OPERATOR_TOK
Definition: patterns.h:83
@ YYEOF
Definition: patterns.h:54
@ DC_REF_TOK
SC_REF_TOK
Definition: patterns.h:66
@ REFERENCE_TOK
UNKNOWN_TOK
Definition: patterns.h:58
@ MAX_OPERATOR_TOK
DMIN1_OPERATOR_TOK
Definition: patterns.h:85
@ MIN_OPERATOR_TOK
MODULO_OPERATOR_TOK
Definition: patterns.h:79
@ DIVIDE_OPERATOR_TOK
MULADD_OPERATOR_TOK
Definition: patterns.h:75
@ MULTIPLY_OPERATOR_TOK
UNARY_MINUS_OPERATOR_TOK
Definition: patterns.h:73
@ IDENTIFIER_TOK
FLOAT_TOK
Definition: patterns.h:109
@ LOG_REF_TOK
DC_REF_TOK
Definition: patterns.h:67
@ POWER_OPERATOR_TOK
INVERSE_OPERATOR_TOK
Definition: patterns.h:77
@ SC_REF_TOK
DF_REF_TOK
Definition: patterns.h:65
@ HI_REF_TOK
QI_REF_TOK
Definition: patterns.h:60
@ DI_REF_TOK
SI_REF_TOK
Definition: patterns.h:62
@ PHI_TOK
EQUAL_OPERATOR_TOK
Definition: patterns.h:106
@ YYerror
"end of file"
Definition: patterns.h:55
@ MULADD_OPERATOR_TOK
MULTIPLY_OPERATOR_TOK
Definition: patterns.h:74
@ CONSTANT_TOK
LOG_REF_TOK
Definition: patterns.h:68
@ YYEMPTY
Definition: patterns.h:53
@ NON_EQUIV_OPERATOR_TOK
EQUIV_OPERATOR_TOK
Definition: patterns.h:98
@ AMAX1_OPERATOR_TOK
MAX0_OPERATOR_TOK
Definition: patterns.h:87
@ ABS_OPERATOR_TOK
DMAX1_OPERATOR_TOK
Definition: patterns.h:89
@ UNKNOWN_TOK
"invalid token"
Definition: patterns.h:57
@ PLUS_OPERATOR_TOK
ASSIGN_OPERATOR_TOK
Definition: patterns.h:70
@ DMAX1_OPERATOR_TOK
AMAX1_OPERATOR_TOK
Definition: patterns.h:88
@ INVERSE_OPERATOR_TOK
DIVIDE_OPERATOR_TOK
Definition: patterns.h:76
@ IABS_OPERATOR_TOK
ABS_OPERATOR_TOK
Definition: patterns.h:90
@ NON_EQUAL_OPERATOR_TOK
NOT_OPERATOR_TOK
Definition: patterns.h:96
@ FALSE_OPERATOR_TOK
TRUE_OPERATOR_TOK
Definition: patterns.h:100
@ TRUE_OPERATOR_TOK
NON_EQUIV_OPERATOR_TOK
Definition: patterns.h:99
@ GREATER_THAN_OPERATOR_TOK
GREATER_OR_EQUAL_OPERATOR_TOK
Definition: patterns.h:102
@ SI_REF_TOK
HI_REF_TOK
Definition: patterns.h:61
@ QI_REF_TOK
REFERENCE_TOK
Definition: patterns.h:59
@ GREATER_OR_EQUAL_OPERATOR_TOK
FALSE_OPERATOR_TOK
Definition: patterns.h:101
@ YYUNDEF
error
Definition: patterns.h:56
@ COS_OPERATOR_TOK
MIN_OPERATOR_TOK
Definition: patterns.h:80
@ LESS_THAN_OPERATOR_TOK
LESS_OR_EQUAL_OPERATOR_TOK
Definition: patterns.h:104
@ LESS_OR_EQUAL_OPERATOR_TOK
GREATER_THAN_OPERATOR_TOK
Definition: patterns.h:103
@ SF_REF_TOK
DI_REF_TOK
Definition: patterns.h:63
@ AND_OPERATOR_TOK
CABS_OPERATOR_TOK
Definition: patterns.h:93
@ MINUS_OPERATOR_TOK
PLUS_OPERATOR_TOK
Definition: patterns.h:71
@ EQUAL_OPERATOR_TOK
LESS_THAN_OPERATOR_TOK
Definition: patterns.h:105
@ DABS_OPERATOR_TOK
IABS_OPERATOR_TOK
Definition: patterns.h:91
@ FLOAT_TOK
INTEGER_TOK
Definition: patterns.h:108
@ UNARY_MINUS_OPERATOR_TOK
MINUS_OPERATOR_TOK
Definition: patterns.h:72
@ EQUIV_OPERATOR_TOK
NON_EQUAL_OPERATOR_TOK
Definition: patterns.h:97
@ NOT_OPERATOR_TOK
OR_OPERATOR_TOK
Definition: patterns.h:95
@ MODULO_OPERATOR_TOK
POWER_OPERATOR_TOK
Definition: patterns.h:78
@ CABS_OPERATOR_TOK
DABS_OPERATOR_TOK
Definition: patterns.h:92
@ DMIN1_OPERATOR_TOK
AMIN1_OPERATOR_TOK
Definition: patterns.h:84
@ MAX0_OPERATOR_TOK
MAX_OPERATOR_TOK
Definition: patterns.h:86
@ SIN_OPERATOR_TOK
COS_OPERATOR_TOK
Definition: patterns.h:81
@ OR_OPERATOR_TOK
AND_OPERATOR_TOK
Definition: patterns.h:94
@ DF_REF_TOK
SF_REF_TOK
Definition: patterns.h:64
@ MIN0_OPERATOR_TOK
SIN_OPERATOR_TOK
Definition: patterns.h:82
YYSTYPE patterns_yylval
int patterns_yyparse(void)
enum yytokentype yytoken_kind_t
Definition: patterns.h:111
yytokentype
Definition: genread.h:52
#define intptr_t
Definition: stdint.in.h:294
The structure used to build lists in NewGen.
Definition: newgen_list.h:41
Value type.
Definition: genread.h:115
opcode opVal
Definition: patterns.h:132
list typeList
Definition: patterns.h:123
intptr_t typeId
Definition: patterns.h:121
intptr_t tokenId
Definition: patterns.h:120
list mappingsList
Definition: patterns.h:135
list tokenList
Definition: patterns.h:122
float fVal
Definition: patterns.h:129
int iVal
Definition: patterns.h:128
list opcodesList
Definition: patterns.h:133
list argsList
Definition: patterns.h:126
patternArg argument
Definition: patterns.h:125
char * strVal
Definition: patterns.h:130