aslprimaries.y revision 1.1.1.1.2.2 1 1.1.1.1.2.2 skrll NoEcho('
2 1.1.1.1.2.2 skrll /******************************************************************************
3 1.1.1.1.2.2 skrll *
4 1.1.1.1.2.2 skrll * Module Name: aslprimaries.y - Rules for primary ASL operators
5 1.1.1.1.2.2 skrll *
6 1.1.1.1.2.2 skrll *****************************************************************************/
7 1.1.1.1.2.2 skrll
8 1.1.1.1.2.2 skrll /*
9 1.1.1.1.2.2 skrll * Copyright (C) 2000 - 2016, Intel Corp.
10 1.1.1.1.2.2 skrll * All rights reserved.
11 1.1.1.1.2.2 skrll *
12 1.1.1.1.2.2 skrll * Redistribution and use in source and binary forms, with or without
13 1.1.1.1.2.2 skrll * modification, are permitted provided that the following conditions
14 1.1.1.1.2.2 skrll * are met:
15 1.1.1.1.2.2 skrll * 1. Redistributions of source code must retain the above copyright
16 1.1.1.1.2.2 skrll * notice, this list of conditions, and the following disclaimer,
17 1.1.1.1.2.2 skrll * without modification.
18 1.1.1.1.2.2 skrll * 2. Redistributions in binary form must reproduce at minimum a disclaimer
19 1.1.1.1.2.2 skrll * substantially similar to the "NO WARRANTY" disclaimer below
20 1.1.1.1.2.2 skrll * ("Disclaimer") and any redistribution must be conditioned upon
21 1.1.1.1.2.2 skrll * including a substantially similar Disclaimer requirement for further
22 1.1.1.1.2.2 skrll * binary redistribution.
23 1.1.1.1.2.2 skrll * 3. Neither the names of the above-listed copyright holders nor the names
24 1.1.1.1.2.2 skrll * of any contributors may be used to endorse or promote products derived
25 1.1.1.1.2.2 skrll * from this software without specific prior written permission.
26 1.1.1.1.2.2 skrll *
27 1.1.1.1.2.2 skrll * Alternatively, this software may be distributed under the terms of the
28 1.1.1.1.2.2 skrll * GNU General Public License ("GPL") version 2 as published by the Free
29 1.1.1.1.2.2 skrll * Software Foundation.
30 1.1.1.1.2.2 skrll *
31 1.1.1.1.2.2 skrll * NO WARRANTY
32 1.1.1.1.2.2 skrll * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
33 1.1.1.1.2.2 skrll * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
34 1.1.1.1.2.2 skrll * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
35 1.1.1.1.2.2 skrll * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
36 1.1.1.1.2.2 skrll * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
37 1.1.1.1.2.2 skrll * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
38 1.1.1.1.2.2 skrll * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
39 1.1.1.1.2.2 skrll * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
40 1.1.1.1.2.2 skrll * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
41 1.1.1.1.2.2 skrll * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
42 1.1.1.1.2.2 skrll * POSSIBILITY OF SUCH DAMAGES.
43 1.1.1.1.2.2 skrll */
44 1.1.1.1.2.2 skrll
45 1.1.1.1.2.2 skrll ')
46 1.1.1.1.2.2 skrll
47 1.1.1.1.2.2 skrll
48 1.1.1.1.2.2 skrll /*******************************************************************************
49 1.1.1.1.2.2 skrll *
50 1.1.1.1.2.2 skrll * ASL Primary Terms
51 1.1.1.1.2.2 skrll *
52 1.1.1.1.2.2 skrll ******************************************************************************/
53 1.1.1.1.2.2 skrll
54 1.1.1.1.2.2 skrll AccessAsTerm
55 1.1.1.1.2.2 skrll : PARSEOP_ACCESSAS '('
56 1.1.1.1.2.2 skrll AccessTypeKeyword
57 1.1.1.1.2.2 skrll OptionalAccessAttribTerm
58 1.1.1.1.2.2 skrll ')' {$$ = TrCreateNode (PARSEOP_ACCESSAS,2,$3,$4);}
59 1.1.1.1.2.2 skrll | PARSEOP_ACCESSAS '('
60 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
61 1.1.1.1.2.2 skrll ;
62 1.1.1.1.2.2 skrll
63 1.1.1.1.2.2 skrll AcquireTerm
64 1.1.1.1.2.2 skrll : PARSEOP_ACQUIRE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACQUIRE);}
65 1.1.1.1.2.2 skrll SuperName
66 1.1.1.1.2.2 skrll ',' WordConstExpr
67 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$6);}
68 1.1.1.1.2.2 skrll | PARSEOP_ACQUIRE '('
69 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
70 1.1.1.1.2.2 skrll ;
71 1.1.1.1.2.2 skrll
72 1.1.1.1.2.2 skrll AddTerm
73 1.1.1.1.2.2 skrll : PARSEOP_ADD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ADD);}
74 1.1.1.1.2.2 skrll TermArg
75 1.1.1.1.2.2 skrll TermArgItem
76 1.1.1.1.2.2 skrll Target
77 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
78 1.1.1.1.2.2 skrll | PARSEOP_ADD '('
79 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
80 1.1.1.1.2.2 skrll ;
81 1.1.1.1.2.2 skrll
82 1.1.1.1.2.2 skrll AliasTerm
83 1.1.1.1.2.2 skrll : PARSEOP_ALIAS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ALIAS);}
84 1.1.1.1.2.2 skrll NameString
85 1.1.1.1.2.2 skrll NameStringItem
86 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,
87 1.1.1.1.2.2 skrll TrSetNodeFlags ($5, NODE_IS_NAME_DECLARATION));}
88 1.1.1.1.2.2 skrll | PARSEOP_ALIAS '('
89 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
90 1.1.1.1.2.2 skrll ;
91 1.1.1.1.2.2 skrll
92 1.1.1.1.2.2 skrll AndTerm
93 1.1.1.1.2.2 skrll : PARSEOP_AND '(' {$<n>$ = TrCreateLeafNode (PARSEOP_AND);}
94 1.1.1.1.2.2 skrll TermArg
95 1.1.1.1.2.2 skrll TermArgItem
96 1.1.1.1.2.2 skrll Target
97 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
98 1.1.1.1.2.2 skrll | PARSEOP_AND '('
99 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
100 1.1.1.1.2.2 skrll ;
101 1.1.1.1.2.2 skrll
102 1.1.1.1.2.2 skrll ArgTerm
103 1.1.1.1.2.2 skrll : PARSEOP_ARG0 {$$ = TrCreateLeafNode (PARSEOP_ARG0);}
104 1.1.1.1.2.2 skrll | PARSEOP_ARG1 {$$ = TrCreateLeafNode (PARSEOP_ARG1);}
105 1.1.1.1.2.2 skrll | PARSEOP_ARG2 {$$ = TrCreateLeafNode (PARSEOP_ARG2);}
106 1.1.1.1.2.2 skrll | PARSEOP_ARG3 {$$ = TrCreateLeafNode (PARSEOP_ARG3);}
107 1.1.1.1.2.2 skrll | PARSEOP_ARG4 {$$ = TrCreateLeafNode (PARSEOP_ARG4);}
108 1.1.1.1.2.2 skrll | PARSEOP_ARG5 {$$ = TrCreateLeafNode (PARSEOP_ARG5);}
109 1.1.1.1.2.2 skrll | PARSEOP_ARG6 {$$ = TrCreateLeafNode (PARSEOP_ARG6);}
110 1.1.1.1.2.2 skrll ;
111 1.1.1.1.2.2 skrll
112 1.1.1.1.2.2 skrll BankFieldTerm
113 1.1.1.1.2.2 skrll : PARSEOP_BANKFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_BANKFIELD);}
114 1.1.1.1.2.2 skrll NameString
115 1.1.1.1.2.2 skrll NameStringItem
116 1.1.1.1.2.2 skrll TermArgItem
117 1.1.1.1.2.2 skrll ',' AccessTypeKeyword
118 1.1.1.1.2.2 skrll ',' LockRuleKeyword
119 1.1.1.1.2.2 skrll ',' UpdateRuleKeyword
120 1.1.1.1.2.2 skrll ')' '{'
121 1.1.1.1.2.2 skrll FieldUnitList '}' {$$ = TrLinkChildren ($<n>3,7,
122 1.1.1.1.2.2 skrll $4,$5,$6,$8,$10,$12,$15);}
123 1.1.1.1.2.2 skrll | PARSEOP_BANKFIELD '('
124 1.1.1.1.2.2 skrll error ')' '{' error '}' {$$ = AslDoError(); yyclearin;}
125 1.1.1.1.2.2 skrll ;
126 1.1.1.1.2.2 skrll
127 1.1.1.1.2.2 skrll BreakTerm
128 1.1.1.1.2.2 skrll : PARSEOP_BREAK {$$ = TrCreateNode (PARSEOP_BREAK, 0);}
129 1.1.1.1.2.2 skrll ;
130 1.1.1.1.2.2 skrll
131 1.1.1.1.2.2 skrll BreakPointTerm
132 1.1.1.1.2.2 skrll : PARSEOP_BREAKPOINT {$$ = TrCreateNode (PARSEOP_BREAKPOINT, 0);}
133 1.1.1.1.2.2 skrll ;
134 1.1.1.1.2.2 skrll
135 1.1.1.1.2.2 skrll BufferTerm
136 1.1.1.1.2.2 skrll : PARSEOP_BUFFER {$<n>$ = TrCreateLeafNode (PARSEOP_BUFFER);}
137 1.1.1.1.2.2 skrll OptionalDataCount
138 1.1.1.1.2.2 skrll '{' BufferTermData '}' {$$ = TrLinkChildren ($<n>2,2,$3,$5);}
139 1.1.1.1.2.2 skrll ;
140 1.1.1.1.2.2 skrll
141 1.1.1.1.2.2 skrll BufferTermData
142 1.1.1.1.2.2 skrll : ByteList {}
143 1.1.1.1.2.2 skrll | StringData {}
144 1.1.1.1.2.2 skrll ;
145 1.1.1.1.2.2 skrll
146 1.1.1.1.2.2 skrll CaseTerm
147 1.1.1.1.2.2 skrll : PARSEOP_CASE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CASE);}
148 1.1.1.1.2.2 skrll DataObject
149 1.1.1.1.2.2 skrll ')' '{'
150 1.1.1.1.2.2 skrll TermList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
151 1.1.1.1.2.2 skrll | PARSEOP_CASE '('
152 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
153 1.1.1.1.2.2 skrll ;
154 1.1.1.1.2.2 skrll
155 1.1.1.1.2.2 skrll ConcatTerm
156 1.1.1.1.2.2 skrll : PARSEOP_CONCATENATE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CONCATENATE);}
157 1.1.1.1.2.2 skrll TermArg
158 1.1.1.1.2.2 skrll TermArgItem
159 1.1.1.1.2.2 skrll Target
160 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
161 1.1.1.1.2.2 skrll | PARSEOP_CONCATENATE '('
162 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
163 1.1.1.1.2.2 skrll ;
164 1.1.1.1.2.2 skrll
165 1.1.1.1.2.2 skrll ConcatResTerm
166 1.1.1.1.2.2 skrll : PARSEOP_CONCATENATERESTEMPLATE '(' {$<n>$ = TrCreateLeafNode (
167 1.1.1.1.2.2 skrll PARSEOP_CONCATENATERESTEMPLATE);}
168 1.1.1.1.2.2 skrll TermArg
169 1.1.1.1.2.2 skrll TermArgItem
170 1.1.1.1.2.2 skrll Target
171 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
172 1.1.1.1.2.2 skrll | PARSEOP_CONCATENATERESTEMPLATE '('
173 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
174 1.1.1.1.2.2 skrll ;
175 1.1.1.1.2.2 skrll
176 1.1.1.1.2.2 skrll ConnectionTerm
177 1.1.1.1.2.2 skrll : PARSEOP_CONNECTION '('
178 1.1.1.1.2.2 skrll NameString
179 1.1.1.1.2.2 skrll ')' {$$ = TrCreateNode (PARSEOP_CONNECTION,1,$3);}
180 1.1.1.1.2.2 skrll | PARSEOP_CONNECTION '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CONNECTION);}
181 1.1.1.1.2.2 skrll ResourceMacroTerm
182 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3, 1,
183 1.1.1.1.2.2 skrll TrLinkChildren (
184 1.1.1.1.2.2 skrll TrCreateLeafNode (PARSEOP_RESOURCETEMPLATE), 3,
185 1.1.1.1.2.2 skrll TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
186 1.1.1.1.2.2 skrll TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
187 1.1.1.1.2.2 skrll $4));}
188 1.1.1.1.2.2 skrll | PARSEOP_CONNECTION '('
189 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
190 1.1.1.1.2.2 skrll ;
191 1.1.1.1.2.2 skrll
192 1.1.1.1.2.2 skrll CondRefOfTerm
193 1.1.1.1.2.2 skrll : PARSEOP_CONDREFOF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CONDREFOF);}
194 1.1.1.1.2.2 skrll SuperName
195 1.1.1.1.2.2 skrll Target
196 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
197 1.1.1.1.2.2 skrll | PARSEOP_CONDREFOF '('
198 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
199 1.1.1.1.2.2 skrll ;
200 1.1.1.1.2.2 skrll
201 1.1.1.1.2.2 skrll ContinueTerm
202 1.1.1.1.2.2 skrll : PARSEOP_CONTINUE {$$ = TrCreateNode (PARSEOP_CONTINUE, 0);}
203 1.1.1.1.2.2 skrll ;
204 1.1.1.1.2.2 skrll
205 1.1.1.1.2.2 skrll CopyObjectTerm
206 1.1.1.1.2.2 skrll : PARSEOP_COPYOBJECT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_COPYOBJECT);}
207 1.1.1.1.2.2 skrll TermArg
208 1.1.1.1.2.2 skrll ',' SimpleTarget
209 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,
210 1.1.1.1.2.2 skrll TrSetNodeFlags ($6, NODE_IS_TARGET));}
211 1.1.1.1.2.2 skrll | PARSEOP_COPYOBJECT '('
212 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
213 1.1.1.1.2.2 skrll ;
214 1.1.1.1.2.2 skrll
215 1.1.1.1.2.2 skrll CreateBitFieldTerm
216 1.1.1.1.2.2 skrll : PARSEOP_CREATEBITFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBITFIELD);}
217 1.1.1.1.2.2 skrll TermArg
218 1.1.1.1.2.2 skrll TermArgItem
219 1.1.1.1.2.2 skrll NameStringItem
220 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,
221 1.1.1.1.2.2 skrll TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
222 1.1.1.1.2.2 skrll | PARSEOP_CREATEBITFIELD '('
223 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
224 1.1.1.1.2.2 skrll ;
225 1.1.1.1.2.2 skrll
226 1.1.1.1.2.2 skrll CreateByteFieldTerm
227 1.1.1.1.2.2 skrll : PARSEOP_CREATEBYTEFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBYTEFIELD);}
228 1.1.1.1.2.2 skrll TermArg
229 1.1.1.1.2.2 skrll TermArgItem
230 1.1.1.1.2.2 skrll NameStringItem
231 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,
232 1.1.1.1.2.2 skrll TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
233 1.1.1.1.2.2 skrll | PARSEOP_CREATEBYTEFIELD '('
234 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
235 1.1.1.1.2.2 skrll ;
236 1.1.1.1.2.2 skrll
237 1.1.1.1.2.2 skrll CreateDWordFieldTerm
238 1.1.1.1.2.2 skrll : PARSEOP_CREATEDWORDFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEDWORDFIELD);}
239 1.1.1.1.2.2 skrll TermArg
240 1.1.1.1.2.2 skrll TermArgItem
241 1.1.1.1.2.2 skrll NameStringItem
242 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,
243 1.1.1.1.2.2 skrll TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
244 1.1.1.1.2.2 skrll | PARSEOP_CREATEDWORDFIELD '('
245 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
246 1.1.1.1.2.2 skrll ;
247 1.1.1.1.2.2 skrll
248 1.1.1.1.2.2 skrll CreateFieldTerm
249 1.1.1.1.2.2 skrll : PARSEOP_CREATEFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEFIELD);}
250 1.1.1.1.2.2 skrll TermArg
251 1.1.1.1.2.2 skrll TermArgItem
252 1.1.1.1.2.2 skrll TermArgItem
253 1.1.1.1.2.2 skrll NameStringItem
254 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,
255 1.1.1.1.2.2 skrll TrSetNodeFlags ($7, NODE_IS_NAME_DECLARATION));}
256 1.1.1.1.2.2 skrll | PARSEOP_CREATEFIELD '('
257 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
258 1.1.1.1.2.2 skrll ;
259 1.1.1.1.2.2 skrll
260 1.1.1.1.2.2 skrll CreateQWordFieldTerm
261 1.1.1.1.2.2 skrll : PARSEOP_CREATEQWORDFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEQWORDFIELD);}
262 1.1.1.1.2.2 skrll TermArg
263 1.1.1.1.2.2 skrll TermArgItem
264 1.1.1.1.2.2 skrll NameStringItem
265 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,
266 1.1.1.1.2.2 skrll TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
267 1.1.1.1.2.2 skrll | PARSEOP_CREATEQWORDFIELD '('
268 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
269 1.1.1.1.2.2 skrll ;
270 1.1.1.1.2.2 skrll
271 1.1.1.1.2.2 skrll CreateWordFieldTerm
272 1.1.1.1.2.2 skrll : PARSEOP_CREATEWORDFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEWORDFIELD);}
273 1.1.1.1.2.2 skrll TermArg
274 1.1.1.1.2.2 skrll TermArgItem
275 1.1.1.1.2.2 skrll NameStringItem
276 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,
277 1.1.1.1.2.2 skrll TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
278 1.1.1.1.2.2 skrll | PARSEOP_CREATEWORDFIELD '('
279 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
280 1.1.1.1.2.2 skrll ;
281 1.1.1.1.2.2 skrll
282 1.1.1.1.2.2 skrll DataRegionTerm
283 1.1.1.1.2.2 skrll : PARSEOP_DATATABLEREGION '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DATATABLEREGION);}
284 1.1.1.1.2.2 skrll NameString
285 1.1.1.1.2.2 skrll TermArgItem
286 1.1.1.1.2.2 skrll TermArgItem
287 1.1.1.1.2.2 skrll TermArgItem
288 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,4,
289 1.1.1.1.2.2 skrll TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$5,$6,$7);}
290 1.1.1.1.2.2 skrll | PARSEOP_DATATABLEREGION '('
291 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
292 1.1.1.1.2.2 skrll ;
293 1.1.1.1.2.2 skrll
294 1.1.1.1.2.2 skrll DebugTerm
295 1.1.1.1.2.2 skrll : PARSEOP_DEBUG {$$ = TrCreateLeafNode (PARSEOP_DEBUG);}
296 1.1.1.1.2.2 skrll ;
297 1.1.1.1.2.2 skrll
298 1.1.1.1.2.2 skrll DecTerm
299 1.1.1.1.2.2 skrll : PARSEOP_DECREMENT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DECREMENT);}
300 1.1.1.1.2.2 skrll SuperName
301 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
302 1.1.1.1.2.2 skrll | PARSEOP_DECREMENT '('
303 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
304 1.1.1.1.2.2 skrll ;
305 1.1.1.1.2.2 skrll
306 1.1.1.1.2.2 skrll DefaultTerm
307 1.1.1.1.2.2 skrll : PARSEOP_DEFAULT '{' {$<n>$ = TrCreateLeafNode (PARSEOP_DEFAULT);}
308 1.1.1.1.2.2 skrll TermList '}' {$$ = TrLinkChildren ($<n>3,1,$4);}
309 1.1.1.1.2.2 skrll | PARSEOP_DEFAULT '{'
310 1.1.1.1.2.2 skrll error '}' {$$ = AslDoError(); yyclearin;}
311 1.1.1.1.2.2 skrll ;
312 1.1.1.1.2.2 skrll
313 1.1.1.1.2.2 skrll DerefOfTerm
314 1.1.1.1.2.2 skrll : PARSEOP_DEREFOF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DEREFOF);}
315 1.1.1.1.2.2 skrll TermArg
316 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
317 1.1.1.1.2.2 skrll | PARSEOP_DEREFOF '('
318 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
319 1.1.1.1.2.2 skrll ;
320 1.1.1.1.2.2 skrll
321 1.1.1.1.2.2 skrll DeviceTerm
322 1.1.1.1.2.2 skrll : PARSEOP_DEVICE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DEVICE);}
323 1.1.1.1.2.2 skrll NameString
324 1.1.1.1.2.2 skrll ')' '{'
325 1.1.1.1.2.2 skrll TermList '}' {$$ = TrLinkChildren ($<n>3,2,
326 1.1.1.1.2.2 skrll TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
327 1.1.1.1.2.2 skrll | PARSEOP_DEVICE '('
328 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
329 1.1.1.1.2.2 skrll ;
330 1.1.1.1.2.2 skrll
331 1.1.1.1.2.2 skrll DivideTerm
332 1.1.1.1.2.2 skrll : PARSEOP_DIVIDE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DIVIDE);}
333 1.1.1.1.2.2 skrll TermArg
334 1.1.1.1.2.2 skrll TermArgItem
335 1.1.1.1.2.2 skrll Target
336 1.1.1.1.2.2 skrll Target
337 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,$7);}
338 1.1.1.1.2.2 skrll | PARSEOP_DIVIDE '('
339 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
340 1.1.1.1.2.2 skrll ;
341 1.1.1.1.2.2 skrll
342 1.1.1.1.2.2 skrll EISAIDTerm
343 1.1.1.1.2.2 skrll : PARSEOP_EISAID '('
344 1.1.1.1.2.2 skrll StringData ')' {$$ = TrUpdateNode (PARSEOP_EISAID, $3);}
345 1.1.1.1.2.2 skrll | PARSEOP_EISAID '('
346 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
347 1.1.1.1.2.2 skrll ;
348 1.1.1.1.2.2 skrll
349 1.1.1.1.2.2 skrll ElseIfTerm
350 1.1.1.1.2.2 skrll : IfTerm ElseTerm {$$ = TrLinkPeerNode ($1,$2);}
351 1.1.1.1.2.2 skrll ;
352 1.1.1.1.2.2 skrll
353 1.1.1.1.2.2 skrll ElseTerm
354 1.1.1.1.2.2 skrll : {$$ = NULL;}
355 1.1.1.1.2.2 skrll | PARSEOP_ELSE '{' {$<n>$ = TrCreateLeafNode (PARSEOP_ELSE);}
356 1.1.1.1.2.2 skrll TermList '}' {$$ = TrLinkChildren ($<n>3,1,$4);}
357 1.1.1.1.2.2 skrll
358 1.1.1.1.2.2 skrll | PARSEOP_ELSE '{'
359 1.1.1.1.2.2 skrll error '}' {$$ = AslDoError(); yyclearin;}
360 1.1.1.1.2.2 skrll
361 1.1.1.1.2.2 skrll | PARSEOP_ELSE
362 1.1.1.1.2.2 skrll error {$$ = AslDoError(); yyclearin;}
363 1.1.1.1.2.2 skrll
364 1.1.1.1.2.2 skrll | PARSEOP_ELSEIF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ELSE);}
365 1.1.1.1.2.2 skrll TermArg {$<n>$ = TrCreateLeafNode (PARSEOP_IF);}
366 1.1.1.1.2.2 skrll ')' '{'
367 1.1.1.1.2.2 skrll TermList '}' {TrLinkChildren ($<n>5,2,$4,$8);}
368 1.1.1.1.2.2 skrll ElseTerm {TrLinkPeerNode ($<n>5,$11);}
369 1.1.1.1.2.2 skrll {$$ = TrLinkChildren ($<n>3,1,$<n>5);}
370 1.1.1.1.2.2 skrll
371 1.1.1.1.2.2 skrll | PARSEOP_ELSEIF '('
372 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
373 1.1.1.1.2.2 skrll
374 1.1.1.1.2.2 skrll | PARSEOP_ELSEIF
375 1.1.1.1.2.2 skrll error {$$ = AslDoError(); yyclearin;}
376 1.1.1.1.2.2 skrll ;
377 1.1.1.1.2.2 skrll
378 1.1.1.1.2.2 skrll EventTerm
379 1.1.1.1.2.2 skrll : PARSEOP_EVENT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EVENT);}
380 1.1.1.1.2.2 skrll NameString
381 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,
382 1.1.1.1.2.2 skrll TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION));}
383 1.1.1.1.2.2 skrll | PARSEOP_EVENT '('
384 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
385 1.1.1.1.2.2 skrll ;
386 1.1.1.1.2.2 skrll
387 1.1.1.1.2.2 skrll ExternalTerm
388 1.1.1.1.2.2 skrll : PARSEOP_EXTERNAL '('
389 1.1.1.1.2.2 skrll NameString
390 1.1.1.1.2.2 skrll OptionalObjectTypeKeyword
391 1.1.1.1.2.2 skrll OptionalParameterTypePackage
392 1.1.1.1.2.2 skrll OptionalParameterTypesPackage
393 1.1.1.1.2.2 skrll ')' {$$ = TrCreateNode (PARSEOP_EXTERNAL,4,$3,$4,$5,$6);}
394 1.1.1.1.2.2 skrll | PARSEOP_EXTERNAL '('
395 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
396 1.1.1.1.2.2 skrll ;
397 1.1.1.1.2.2 skrll
398 1.1.1.1.2.2 skrll FatalTerm
399 1.1.1.1.2.2 skrll : PARSEOP_FATAL '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FATAL);}
400 1.1.1.1.2.2 skrll ByteConstExpr
401 1.1.1.1.2.2 skrll ',' DWordConstExpr
402 1.1.1.1.2.2 skrll TermArgItem
403 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
404 1.1.1.1.2.2 skrll | PARSEOP_FATAL '('
405 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
406 1.1.1.1.2.2 skrll ;
407 1.1.1.1.2.2 skrll
408 1.1.1.1.2.2 skrll FieldTerm
409 1.1.1.1.2.2 skrll : PARSEOP_FIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FIELD);}
410 1.1.1.1.2.2 skrll NameString
411 1.1.1.1.2.2 skrll ',' AccessTypeKeyword
412 1.1.1.1.2.2 skrll ',' LockRuleKeyword
413 1.1.1.1.2.2 skrll ',' UpdateRuleKeyword
414 1.1.1.1.2.2 skrll ')' '{'
415 1.1.1.1.2.2 skrll FieldUnitList '}' {$$ = TrLinkChildren ($<n>3,5,$4,$6,$8,$10,$13);}
416 1.1.1.1.2.2 skrll | PARSEOP_FIELD '('
417 1.1.1.1.2.2 skrll error ')' '{' error '}' {$$ = AslDoError(); yyclearin;}
418 1.1.1.1.2.2 skrll ;
419 1.1.1.1.2.2 skrll
420 1.1.1.1.2.2 skrll FindSetLeftBitTerm
421 1.1.1.1.2.2 skrll : PARSEOP_FINDSETLEFTBIT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FINDSETLEFTBIT);}
422 1.1.1.1.2.2 skrll TermArg
423 1.1.1.1.2.2 skrll Target
424 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
425 1.1.1.1.2.2 skrll | PARSEOP_FINDSETLEFTBIT '('
426 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
427 1.1.1.1.2.2 skrll ;
428 1.1.1.1.2.2 skrll
429 1.1.1.1.2.2 skrll FindSetRightBitTerm
430 1.1.1.1.2.2 skrll : PARSEOP_FINDSETRIGHTBIT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FINDSETRIGHTBIT);}
431 1.1.1.1.2.2 skrll TermArg
432 1.1.1.1.2.2 skrll Target
433 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
434 1.1.1.1.2.2 skrll | PARSEOP_FINDSETRIGHTBIT '('
435 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
436 1.1.1.1.2.2 skrll ;
437 1.1.1.1.2.2 skrll
438 1.1.1.1.2.2 skrll /* Convert a For() loop to a While() loop */
439 1.1.1.1.2.2 skrll ForTerm
440 1.1.1.1.2.2 skrll : PARSEOP_FOR '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WHILE);}
441 1.1.1.1.2.2 skrll OptionalTermArg ',' {}
442 1.1.1.1.2.2 skrll OptionalPredicate ','
443 1.1.1.1.2.2 skrll OptionalTermArg {$<n>$ = TrLinkPeerNode ($4,$<n>3);
444 1.1.1.1.2.2 skrll TrSetParent ($9,$<n>3);} /* New parent is WHILE */
445 1.1.1.1.2.2 skrll ')' '{' TermList '}' {$<n>$ = TrLinkChildren ($<n>3,2,$7,$13);}
446 1.1.1.1.2.2 skrll {$<n>$ = TrLinkPeerNode ($13,$9);
447 1.1.1.1.2.2 skrll $$ = $<n>10;}
448 1.1.1.1.2.2 skrll ;
449 1.1.1.1.2.2 skrll
450 1.1.1.1.2.2 skrll OptionalPredicate
451 1.1.1.1.2.2 skrll : {$$ = TrCreateValuedLeafNode (PARSEOP_INTEGER, 1);}
452 1.1.1.1.2.2 skrll | TermArg {$$ = $1;}
453 1.1.1.1.2.2 skrll ;
454 1.1.1.1.2.2 skrll
455 1.1.1.1.2.2 skrll FprintfTerm
456 1.1.1.1.2.2 skrll : PARSEOP_FPRINTF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FPRINTF);}
457 1.1.1.1.2.2 skrll TermArg ','
458 1.1.1.1.2.2 skrll StringData
459 1.1.1.1.2.2 skrll PrintfArgList
460 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
461 1.1.1.1.2.2 skrll | PARSEOP_FPRINTF '('
462 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
463 1.1.1.1.2.2 skrll ;
464 1.1.1.1.2.2 skrll
465 1.1.1.1.2.2 skrll FromBCDTerm
466 1.1.1.1.2.2 skrll : PARSEOP_FROMBCD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FROMBCD);}
467 1.1.1.1.2.2 skrll TermArg
468 1.1.1.1.2.2 skrll Target
469 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
470 1.1.1.1.2.2 skrll | PARSEOP_FROMBCD '('
471 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
472 1.1.1.1.2.2 skrll ;
473 1.1.1.1.2.2 skrll
474 1.1.1.1.2.2 skrll FunctionTerm
475 1.1.1.1.2.2 skrll : PARSEOP_FUNCTION '(' {$<n>$ = TrCreateLeafNode (PARSEOP_METHOD);}
476 1.1.1.1.2.2 skrll NameString
477 1.1.1.1.2.2 skrll OptionalParameterTypePackage
478 1.1.1.1.2.2 skrll OptionalParameterTypesPackage
479 1.1.1.1.2.2 skrll ')' '{'
480 1.1.1.1.2.2 skrll TermList '}' {$$ = TrLinkChildren ($<n>3,7,
481 1.1.1.1.2.2 skrll TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
482 1.1.1.1.2.2 skrll TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0),
483 1.1.1.1.2.2 skrll TrCreateLeafNode (PARSEOP_SERIALIZERULE_NOTSERIAL),
484 1.1.1.1.2.2 skrll TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0),$5,$6,$9);}
485 1.1.1.1.2.2 skrll | PARSEOP_FUNCTION '('
486 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
487 1.1.1.1.2.2 skrll ;
488 1.1.1.1.2.2 skrll
489 1.1.1.1.2.2 skrll IfTerm
490 1.1.1.1.2.2 skrll : PARSEOP_IF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IF);}
491 1.1.1.1.2.2 skrll TermArg
492 1.1.1.1.2.2 skrll ')' '{'
493 1.1.1.1.2.2 skrll TermList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
494 1.1.1.1.2.2 skrll
495 1.1.1.1.2.2 skrll | PARSEOP_IF '('
496 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
497 1.1.1.1.2.2 skrll ;
498 1.1.1.1.2.2 skrll
499 1.1.1.1.2.2 skrll IncludeTerm
500 1.1.1.1.2.2 skrll : PARSEOP_INCLUDE '('
501 1.1.1.1.2.2 skrll String ')' {$$ = TrUpdateNode (PARSEOP_INCLUDE, $3);
502 1.1.1.1.2.2 skrll FlOpenIncludeFile ($3);}
503 1.1.1.1.2.2 skrll ;
504 1.1.1.1.2.2 skrll
505 1.1.1.1.2.2 skrll IncludeEndTerm
506 1.1.1.1.2.2 skrll : PARSEOP_INCLUDE_END {$<n>$ = TrCreateLeafNode (PARSEOP_INCLUDE_END);
507 1.1.1.1.2.2 skrll TrSetCurrentFilename ($$);}
508 1.1.1.1.2.2 skrll ;
509 1.1.1.1.2.2 skrll
510 1.1.1.1.2.2 skrll IncTerm
511 1.1.1.1.2.2 skrll : PARSEOP_INCREMENT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_INCREMENT);}
512 1.1.1.1.2.2 skrll SuperName
513 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
514 1.1.1.1.2.2 skrll | PARSEOP_INCREMENT '('
515 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
516 1.1.1.1.2.2 skrll ;
517 1.1.1.1.2.2 skrll
518 1.1.1.1.2.2 skrll IndexFieldTerm
519 1.1.1.1.2.2 skrll : PARSEOP_INDEXFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_INDEXFIELD);}
520 1.1.1.1.2.2 skrll NameString
521 1.1.1.1.2.2 skrll NameStringItem
522 1.1.1.1.2.2 skrll ',' AccessTypeKeyword
523 1.1.1.1.2.2 skrll ',' LockRuleKeyword
524 1.1.1.1.2.2 skrll ',' UpdateRuleKeyword
525 1.1.1.1.2.2 skrll ')' '{'
526 1.1.1.1.2.2 skrll FieldUnitList '}' {$$ = TrLinkChildren ($<n>3,6,$4,$5,$7,$9,$11,$14);}
527 1.1.1.1.2.2 skrll | PARSEOP_INDEXFIELD '('
528 1.1.1.1.2.2 skrll error ')' '{' error '}' {$$ = AslDoError(); yyclearin;}
529 1.1.1.1.2.2 skrll ;
530 1.1.1.1.2.2 skrll
531 1.1.1.1.2.2 skrll IndexTerm
532 1.1.1.1.2.2 skrll : PARSEOP_INDEX '(' {$<n>$ = TrCreateLeafNode (PARSEOP_INDEX);}
533 1.1.1.1.2.2 skrll TermArg
534 1.1.1.1.2.2 skrll TermArgItem
535 1.1.1.1.2.2 skrll Target
536 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
537 1.1.1.1.2.2 skrll | PARSEOP_INDEX '('
538 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
539 1.1.1.1.2.2 skrll ;
540 1.1.1.1.2.2 skrll
541 1.1.1.1.2.2 skrll LAndTerm
542 1.1.1.1.2.2 skrll : PARSEOP_LAND '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LAND);}
543 1.1.1.1.2.2 skrll TermArg
544 1.1.1.1.2.2 skrll TermArgItem
545 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
546 1.1.1.1.2.2 skrll | PARSEOP_LAND '('
547 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
548 1.1.1.1.2.2 skrll ;
549 1.1.1.1.2.2 skrll
550 1.1.1.1.2.2 skrll LEqualTerm
551 1.1.1.1.2.2 skrll : PARSEOP_LEQUAL '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
552 1.1.1.1.2.2 skrll TermArg
553 1.1.1.1.2.2 skrll TermArgItem
554 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
555 1.1.1.1.2.2 skrll | PARSEOP_LEQUAL '('
556 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
557 1.1.1.1.2.2 skrll ;
558 1.1.1.1.2.2 skrll
559 1.1.1.1.2.2 skrll LGreaterEqualTerm
560 1.1.1.1.2.2 skrll : PARSEOP_LGREATEREQUAL '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LLESS);}
561 1.1.1.1.2.2 skrll TermArg
562 1.1.1.1.2.2 skrll TermArgItem
563 1.1.1.1.2.2 skrll ')' {$$ = TrCreateNode (PARSEOP_LNOT, 1,
564 1.1.1.1.2.2 skrll TrLinkChildren ($<n>3,2,$4,$5));}
565 1.1.1.1.2.2 skrll | PARSEOP_LGREATEREQUAL '('
566 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
567 1.1.1.1.2.2 skrll ;
568 1.1.1.1.2.2 skrll
569 1.1.1.1.2.2 skrll LGreaterTerm
570 1.1.1.1.2.2 skrll : PARSEOP_LGREATER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LGREATER);}
571 1.1.1.1.2.2 skrll TermArg
572 1.1.1.1.2.2 skrll TermArgItem
573 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
574 1.1.1.1.2.2 skrll | PARSEOP_LGREATER '('
575 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
576 1.1.1.1.2.2 skrll ;
577 1.1.1.1.2.2 skrll
578 1.1.1.1.2.2 skrll LLessEqualTerm
579 1.1.1.1.2.2 skrll : PARSEOP_LLESSEQUAL '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LGREATER);}
580 1.1.1.1.2.2 skrll TermArg
581 1.1.1.1.2.2 skrll TermArgItem
582 1.1.1.1.2.2 skrll ')' {$$ = TrCreateNode (PARSEOP_LNOT, 1,
583 1.1.1.1.2.2 skrll TrLinkChildren ($<n>3,2,$4,$5));}
584 1.1.1.1.2.2 skrll | PARSEOP_LLESSEQUAL '('
585 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
586 1.1.1.1.2.2 skrll ;
587 1.1.1.1.2.2 skrll
588 1.1.1.1.2.2 skrll LLessTerm
589 1.1.1.1.2.2 skrll : PARSEOP_LLESS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LLESS);}
590 1.1.1.1.2.2 skrll TermArg
591 1.1.1.1.2.2 skrll TermArgItem
592 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
593 1.1.1.1.2.2 skrll | PARSEOP_LLESS '('
594 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
595 1.1.1.1.2.2 skrll ;
596 1.1.1.1.2.2 skrll
597 1.1.1.1.2.2 skrll LNotEqualTerm
598 1.1.1.1.2.2 skrll : PARSEOP_LNOTEQUAL '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
599 1.1.1.1.2.2 skrll TermArg
600 1.1.1.1.2.2 skrll TermArgItem
601 1.1.1.1.2.2 skrll ')' {$$ = TrCreateNode (PARSEOP_LNOT, 1,
602 1.1.1.1.2.2 skrll TrLinkChildren ($<n>3,2,$4,$5));}
603 1.1.1.1.2.2 skrll | PARSEOP_LNOTEQUAL '('
604 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
605 1.1.1.1.2.2 skrll ;
606 1.1.1.1.2.2 skrll
607 1.1.1.1.2.2 skrll LNotTerm
608 1.1.1.1.2.2 skrll : PARSEOP_LNOT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LNOT);}
609 1.1.1.1.2.2 skrll TermArg
610 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
611 1.1.1.1.2.2 skrll | PARSEOP_LNOT '('
612 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
613 1.1.1.1.2.2 skrll ;
614 1.1.1.1.2.2 skrll
615 1.1.1.1.2.2 skrll LoadTableTerm
616 1.1.1.1.2.2 skrll : PARSEOP_LOADTABLE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LOADTABLE);}
617 1.1.1.1.2.2 skrll TermArg
618 1.1.1.1.2.2 skrll TermArgItem
619 1.1.1.1.2.2 skrll TermArgItem
620 1.1.1.1.2.2 skrll OptionalListString
621 1.1.1.1.2.2 skrll OptionalListString
622 1.1.1.1.2.2 skrll OptionalReference
623 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,6,$4,$5,$6,$7,$8,$9);}
624 1.1.1.1.2.2 skrll | PARSEOP_LOADTABLE '('
625 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
626 1.1.1.1.2.2 skrll ;
627 1.1.1.1.2.2 skrll
628 1.1.1.1.2.2 skrll LoadTerm
629 1.1.1.1.2.2 skrll : PARSEOP_LOAD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LOAD);}
630 1.1.1.1.2.2 skrll NameString
631 1.1.1.1.2.2 skrll RequiredTarget
632 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
633 1.1.1.1.2.2 skrll | PARSEOP_LOAD '('
634 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
635 1.1.1.1.2.2 skrll ;
636 1.1.1.1.2.2 skrll
637 1.1.1.1.2.2 skrll LocalTerm
638 1.1.1.1.2.2 skrll : PARSEOP_LOCAL0 {$$ = TrCreateLeafNode (PARSEOP_LOCAL0);}
639 1.1.1.1.2.2 skrll | PARSEOP_LOCAL1 {$$ = TrCreateLeafNode (PARSEOP_LOCAL1);}
640 1.1.1.1.2.2 skrll | PARSEOP_LOCAL2 {$$ = TrCreateLeafNode (PARSEOP_LOCAL2);}
641 1.1.1.1.2.2 skrll | PARSEOP_LOCAL3 {$$ = TrCreateLeafNode (PARSEOP_LOCAL3);}
642 1.1.1.1.2.2 skrll | PARSEOP_LOCAL4 {$$ = TrCreateLeafNode (PARSEOP_LOCAL4);}
643 1.1.1.1.2.2 skrll | PARSEOP_LOCAL5 {$$ = TrCreateLeafNode (PARSEOP_LOCAL5);}
644 1.1.1.1.2.2 skrll | PARSEOP_LOCAL6 {$$ = TrCreateLeafNode (PARSEOP_LOCAL6);}
645 1.1.1.1.2.2 skrll | PARSEOP_LOCAL7 {$$ = TrCreateLeafNode (PARSEOP_LOCAL7);}
646 1.1.1.1.2.2 skrll ;
647 1.1.1.1.2.2 skrll
648 1.1.1.1.2.2 skrll LOrTerm
649 1.1.1.1.2.2 skrll : PARSEOP_LOR '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LOR);}
650 1.1.1.1.2.2 skrll TermArg
651 1.1.1.1.2.2 skrll TermArgItem
652 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
653 1.1.1.1.2.2 skrll | PARSEOP_LOR '('
654 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
655 1.1.1.1.2.2 skrll ;
656 1.1.1.1.2.2 skrll
657 1.1.1.1.2.2 skrll MatchTerm
658 1.1.1.1.2.2 skrll : PARSEOP_MATCH '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MATCH);}
659 1.1.1.1.2.2 skrll TermArg
660 1.1.1.1.2.2 skrll ',' MatchOpKeyword
661 1.1.1.1.2.2 skrll TermArgItem
662 1.1.1.1.2.2 skrll ',' MatchOpKeyword
663 1.1.1.1.2.2 skrll TermArgItem
664 1.1.1.1.2.2 skrll TermArgItem
665 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$7,$9,$10,$11);}
666 1.1.1.1.2.2 skrll | PARSEOP_MATCH '('
667 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
668 1.1.1.1.2.2 skrll ;
669 1.1.1.1.2.2 skrll
670 1.1.1.1.2.2 skrll MethodTerm
671 1.1.1.1.2.2 skrll : PARSEOP_METHOD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_METHOD);}
672 1.1.1.1.2.2 skrll NameString
673 1.1.1.1.2.2 skrll OptionalByteConstExpr {UtCheckIntegerRange ($5, 0, 7);}
674 1.1.1.1.2.2 skrll OptionalSerializeRuleKeyword
675 1.1.1.1.2.2 skrll OptionalByteConstExpr
676 1.1.1.1.2.2 skrll OptionalParameterTypePackage
677 1.1.1.1.2.2 skrll OptionalParameterTypesPackage
678 1.1.1.1.2.2 skrll ')' '{'
679 1.1.1.1.2.2 skrll TermList '}' {$$ = TrLinkChildren ($<n>3,7,
680 1.1.1.1.2.2 skrll TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
681 1.1.1.1.2.2 skrll $5,$7,$8,$9,$10,$13);}
682 1.1.1.1.2.2 skrll | PARSEOP_METHOD '('
683 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
684 1.1.1.1.2.2 skrll ;
685 1.1.1.1.2.2 skrll
686 1.1.1.1.2.2 skrll MidTerm
687 1.1.1.1.2.2 skrll : PARSEOP_MID '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MID);}
688 1.1.1.1.2.2 skrll TermArg
689 1.1.1.1.2.2 skrll TermArgItem
690 1.1.1.1.2.2 skrll TermArgItem
691 1.1.1.1.2.2 skrll Target
692 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,$7);}
693 1.1.1.1.2.2 skrll | PARSEOP_MID '('
694 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
695 1.1.1.1.2.2 skrll ;
696 1.1.1.1.2.2 skrll
697 1.1.1.1.2.2 skrll ModTerm
698 1.1.1.1.2.2 skrll : PARSEOP_MOD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MOD);}
699 1.1.1.1.2.2 skrll TermArg
700 1.1.1.1.2.2 skrll TermArgItem
701 1.1.1.1.2.2 skrll Target
702 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
703 1.1.1.1.2.2 skrll | PARSEOP_MOD '('
704 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
705 1.1.1.1.2.2 skrll ;
706 1.1.1.1.2.2 skrll
707 1.1.1.1.2.2 skrll MultiplyTerm
708 1.1.1.1.2.2 skrll : PARSEOP_MULTIPLY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MULTIPLY);}
709 1.1.1.1.2.2 skrll TermArg
710 1.1.1.1.2.2 skrll TermArgItem
711 1.1.1.1.2.2 skrll Target
712 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
713 1.1.1.1.2.2 skrll | PARSEOP_MULTIPLY '('
714 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
715 1.1.1.1.2.2 skrll ;
716 1.1.1.1.2.2 skrll
717 1.1.1.1.2.2 skrll MutexTerm
718 1.1.1.1.2.2 skrll : PARSEOP_MUTEX '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MUTEX);}
719 1.1.1.1.2.2 skrll NameString
720 1.1.1.1.2.2 skrll ',' ByteConstExpr
721 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,
722 1.1.1.1.2.2 skrll TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$6);}
723 1.1.1.1.2.2 skrll | PARSEOP_MUTEX '('
724 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
725 1.1.1.1.2.2 skrll ;
726 1.1.1.1.2.2 skrll
727 1.1.1.1.2.2 skrll NameTerm
728 1.1.1.1.2.2 skrll : PARSEOP_NAME '(' {$<n>$ = TrCreateLeafNode (PARSEOP_NAME);}
729 1.1.1.1.2.2 skrll NameString
730 1.1.1.1.2.2 skrll ',' DataObject
731 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,
732 1.1.1.1.2.2 skrll TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$6);}
733 1.1.1.1.2.2 skrll | PARSEOP_NAME '('
734 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
735 1.1.1.1.2.2 skrll ;
736 1.1.1.1.2.2 skrll
737 1.1.1.1.2.2 skrll NAndTerm
738 1.1.1.1.2.2 skrll : PARSEOP_NAND '(' {$<n>$ = TrCreateLeafNode (PARSEOP_NAND);}
739 1.1.1.1.2.2 skrll TermArg
740 1.1.1.1.2.2 skrll TermArgItem
741 1.1.1.1.2.2 skrll Target
742 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
743 1.1.1.1.2.2 skrll | PARSEOP_NAND '('
744 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
745 1.1.1.1.2.2 skrll ;
746 1.1.1.1.2.2 skrll
747 1.1.1.1.2.2 skrll NoOpTerm
748 1.1.1.1.2.2 skrll : PARSEOP_NOOP {$$ = TrCreateNode (PARSEOP_NOOP, 0);}
749 1.1.1.1.2.2 skrll ;
750 1.1.1.1.2.2 skrll
751 1.1.1.1.2.2 skrll NOrTerm
752 1.1.1.1.2.2 skrll : PARSEOP_NOR '(' {$<n>$ = TrCreateLeafNode (PARSEOP_NOR);}
753 1.1.1.1.2.2 skrll TermArg
754 1.1.1.1.2.2 skrll TermArgItem
755 1.1.1.1.2.2 skrll Target
756 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
757 1.1.1.1.2.2 skrll | PARSEOP_NOR '('
758 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
759 1.1.1.1.2.2 skrll ;
760 1.1.1.1.2.2 skrll
761 1.1.1.1.2.2 skrll NotifyTerm
762 1.1.1.1.2.2 skrll : PARSEOP_NOTIFY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_NOTIFY);}
763 1.1.1.1.2.2 skrll SuperName
764 1.1.1.1.2.2 skrll TermArgItem
765 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
766 1.1.1.1.2.2 skrll | PARSEOP_NOTIFY '('
767 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
768 1.1.1.1.2.2 skrll ;
769 1.1.1.1.2.2 skrll
770 1.1.1.1.2.2 skrll NotTerm
771 1.1.1.1.2.2 skrll : PARSEOP_NOT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_NOT);}
772 1.1.1.1.2.2 skrll TermArg
773 1.1.1.1.2.2 skrll Target
774 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
775 1.1.1.1.2.2 skrll | PARSEOP_NOT '('
776 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
777 1.1.1.1.2.2 skrll ;
778 1.1.1.1.2.2 skrll
779 1.1.1.1.2.2 skrll ObjectTypeTerm
780 1.1.1.1.2.2 skrll : PARSEOP_OBJECTTYPE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE);}
781 1.1.1.1.2.2 skrll ObjectTypeName
782 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
783 1.1.1.1.2.2 skrll | PARSEOP_OBJECTTYPE '('
784 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
785 1.1.1.1.2.2 skrll ;
786 1.1.1.1.2.2 skrll
787 1.1.1.1.2.2 skrll OffsetTerm
788 1.1.1.1.2.2 skrll : PARSEOP_OFFSET '('
789 1.1.1.1.2.2 skrll AmlPackageLengthTerm
790 1.1.1.1.2.2 skrll ')' {$$ = TrCreateNode (PARSEOP_OFFSET,1,$3);}
791 1.1.1.1.2.2 skrll | PARSEOP_OFFSET '('
792 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
793 1.1.1.1.2.2 skrll ;
794 1.1.1.1.2.2 skrll
795 1.1.1.1.2.2 skrll OpRegionTerm
796 1.1.1.1.2.2 skrll : PARSEOP_OPERATIONREGION '(' {$<n>$ = TrCreateLeafNode (PARSEOP_OPERATIONREGION);}
797 1.1.1.1.2.2 skrll NameString
798 1.1.1.1.2.2 skrll ',' OpRegionSpaceIdTerm
799 1.1.1.1.2.2 skrll TermArgItem
800 1.1.1.1.2.2 skrll TermArgItem
801 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,4,
802 1.1.1.1.2.2 skrll TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
803 1.1.1.1.2.2 skrll $6,$7,$8);}
804 1.1.1.1.2.2 skrll | PARSEOP_OPERATIONREGION '('
805 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
806 1.1.1.1.2.2 skrll ;
807 1.1.1.1.2.2 skrll
808 1.1.1.1.2.2 skrll OpRegionSpaceIdTerm
809 1.1.1.1.2.2 skrll : RegionSpaceKeyword {}
810 1.1.1.1.2.2 skrll | ByteConst {$$ = UtCheckIntegerRange ($1, 0x80, 0xFF);}
811 1.1.1.1.2.2 skrll ;
812 1.1.1.1.2.2 skrll
813 1.1.1.1.2.2 skrll OrTerm
814 1.1.1.1.2.2 skrll : PARSEOP_OR '(' {$<n>$ = TrCreateLeafNode (PARSEOP_OR);}
815 1.1.1.1.2.2 skrll TermArg
816 1.1.1.1.2.2 skrll TermArgItem
817 1.1.1.1.2.2 skrll Target
818 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
819 1.1.1.1.2.2 skrll | PARSEOP_OR '('
820 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
821 1.1.1.1.2.2 skrll ;
822 1.1.1.1.2.2 skrll
823 1.1.1.1.2.2 skrll PackageTerm
824 1.1.1.1.2.2 skrll : PARSEOP_PACKAGE {$<n>$ = TrCreateLeafNode (PARSEOP_VAR_PACKAGE);}
825 1.1.1.1.2.2 skrll OptionalDataCount
826 1.1.1.1.2.2 skrll '{' PackageList '}' {$$ = TrLinkChildren ($<n>2,2,$3,$5);}
827 1.1.1.1.2.2 skrll
828 1.1.1.1.2.2 skrll PowerResTerm
829 1.1.1.1.2.2 skrll : PARSEOP_POWERRESOURCE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_POWERRESOURCE);}
830 1.1.1.1.2.2 skrll NameString
831 1.1.1.1.2.2 skrll ',' ByteConstExpr
832 1.1.1.1.2.2 skrll ',' WordConstExpr
833 1.1.1.1.2.2 skrll ')' '{'
834 1.1.1.1.2.2 skrll TermList '}' {$$ = TrLinkChildren ($<n>3,4,
835 1.1.1.1.2.2 skrll TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
836 1.1.1.1.2.2 skrll $6,$8,$11);}
837 1.1.1.1.2.2 skrll | PARSEOP_POWERRESOURCE '('
838 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
839 1.1.1.1.2.2 skrll ;
840 1.1.1.1.2.2 skrll
841 1.1.1.1.2.2 skrll PrintfTerm
842 1.1.1.1.2.2 skrll : PARSEOP_PRINTF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_PRINTF);}
843 1.1.1.1.2.2 skrll StringData
844 1.1.1.1.2.2 skrll PrintfArgList
845 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
846 1.1.1.1.2.2 skrll | PARSEOP_PRINTF '('
847 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
848 1.1.1.1.2.2 skrll ;
849 1.1.1.1.2.2 skrll
850 1.1.1.1.2.2 skrll PrintfArgList
851 1.1.1.1.2.2 skrll : {$$ = NULL;}
852 1.1.1.1.2.2 skrll | TermArg {$$ = $1;}
853 1.1.1.1.2.2 skrll | PrintfArgList ','
854 1.1.1.1.2.2 skrll TermArg {$$ = TrLinkPeerNode ($1, $3);}
855 1.1.1.1.2.2 skrll ;
856 1.1.1.1.2.2 skrll
857 1.1.1.1.2.2 skrll ProcessorTerm
858 1.1.1.1.2.2 skrll : PARSEOP_PROCESSOR '(' {$<n>$ = TrCreateLeafNode (PARSEOP_PROCESSOR);}
859 1.1.1.1.2.2 skrll NameString
860 1.1.1.1.2.2 skrll ',' ByteConstExpr
861 1.1.1.1.2.2 skrll OptionalDWordConstExpr
862 1.1.1.1.2.2 skrll OptionalByteConstExpr
863 1.1.1.1.2.2 skrll ')' '{'
864 1.1.1.1.2.2 skrll TermList '}' {$$ = TrLinkChildren ($<n>3,5,
865 1.1.1.1.2.2 skrll TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
866 1.1.1.1.2.2 skrll $6,$7,$8,$11);}
867 1.1.1.1.2.2 skrll | PARSEOP_PROCESSOR '('
868 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
869 1.1.1.1.2.2 skrll ;
870 1.1.1.1.2.2 skrll
871 1.1.1.1.2.2 skrll RawDataBufferTerm
872 1.1.1.1.2.2 skrll : PARSEOP_DATABUFFER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DATABUFFER);}
873 1.1.1.1.2.2 skrll OptionalWordConst
874 1.1.1.1.2.2 skrll ')' '{'
875 1.1.1.1.2.2 skrll ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
876 1.1.1.1.2.2 skrll | PARSEOP_DATABUFFER '('
877 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
878 1.1.1.1.2.2 skrll ;
879 1.1.1.1.2.2 skrll
880 1.1.1.1.2.2 skrll /*
881 1.1.1.1.2.2 skrll * In RefOf, the node isn't really a target, but we can't keep track of it after
882 1.1.1.1.2.2 skrll * we've taken a pointer to it. (hard to tell if a local becomes initialized this way.)
883 1.1.1.1.2.2 skrll */
884 1.1.1.1.2.2 skrll RefOfTerm
885 1.1.1.1.2.2 skrll : PARSEOP_REFOF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_REFOF);}
886 1.1.1.1.2.2 skrll SuperName
887 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,
888 1.1.1.1.2.2 skrll TrSetNodeFlags ($4, NODE_IS_TARGET));}
889 1.1.1.1.2.2 skrll | PARSEOP_REFOF '('
890 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
891 1.1.1.1.2.2 skrll ;
892 1.1.1.1.2.2 skrll
893 1.1.1.1.2.2 skrll ReleaseTerm
894 1.1.1.1.2.2 skrll : PARSEOP_RELEASE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_RELEASE);}
895 1.1.1.1.2.2 skrll SuperName
896 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
897 1.1.1.1.2.2 skrll | PARSEOP_RELEASE '('
898 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
899 1.1.1.1.2.2 skrll ;
900 1.1.1.1.2.2 skrll
901 1.1.1.1.2.2 skrll ResetTerm
902 1.1.1.1.2.2 skrll : PARSEOP_RESET '(' {$<n>$ = TrCreateLeafNode (PARSEOP_RESET);}
903 1.1.1.1.2.2 skrll SuperName
904 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
905 1.1.1.1.2.2 skrll | PARSEOP_RESET '('
906 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
907 1.1.1.1.2.2 skrll ;
908 1.1.1.1.2.2 skrll
909 1.1.1.1.2.2 skrll ReturnTerm
910 1.1.1.1.2.2 skrll : PARSEOP_RETURN '(' {$<n>$ = TrCreateLeafNode (PARSEOP_RETURN);}
911 1.1.1.1.2.2 skrll OptionalReturnArg
912 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
913 1.1.1.1.2.2 skrll | PARSEOP_RETURN {$$ = TrLinkChildren (
914 1.1.1.1.2.2 skrll TrCreateLeafNode (PARSEOP_RETURN),1,
915 1.1.1.1.2.2 skrll TrSetNodeFlags (TrCreateLeafNode (PARSEOP_ZERO),
916 1.1.1.1.2.2 skrll NODE_IS_NULL_RETURN));}
917 1.1.1.1.2.2 skrll | PARSEOP_RETURN '('
918 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
919 1.1.1.1.2.2 skrll ;
920 1.1.1.1.2.2 skrll
921 1.1.1.1.2.2 skrll ScopeTerm
922 1.1.1.1.2.2 skrll : PARSEOP_SCOPE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SCOPE);}
923 1.1.1.1.2.2 skrll NameString
924 1.1.1.1.2.2 skrll ')' '{'
925 1.1.1.1.2.2 skrll TermList '}' {$$ = TrLinkChildren ($<n>3,2,
926 1.1.1.1.2.2 skrll TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
927 1.1.1.1.2.2 skrll | PARSEOP_SCOPE '('
928 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
929 1.1.1.1.2.2 skrll ;
930 1.1.1.1.2.2 skrll
931 1.1.1.1.2.2 skrll ShiftLeftTerm
932 1.1.1.1.2.2 skrll : PARSEOP_SHIFTLEFT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTLEFT);}
933 1.1.1.1.2.2 skrll TermArg
934 1.1.1.1.2.2 skrll TermArgItem
935 1.1.1.1.2.2 skrll Target
936 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
937 1.1.1.1.2.2 skrll | PARSEOP_SHIFTLEFT '('
938 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
939 1.1.1.1.2.2 skrll ;
940 1.1.1.1.2.2 skrll
941 1.1.1.1.2.2 skrll ShiftRightTerm
942 1.1.1.1.2.2 skrll : PARSEOP_SHIFTRIGHT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTRIGHT);}
943 1.1.1.1.2.2 skrll TermArg
944 1.1.1.1.2.2 skrll TermArgItem
945 1.1.1.1.2.2 skrll Target
946 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
947 1.1.1.1.2.2 skrll | PARSEOP_SHIFTRIGHT '('
948 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
949 1.1.1.1.2.2 skrll ;
950 1.1.1.1.2.2 skrll
951 1.1.1.1.2.2 skrll SignalTerm
952 1.1.1.1.2.2 skrll : PARSEOP_SIGNAL '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SIGNAL);}
953 1.1.1.1.2.2 skrll SuperName
954 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
955 1.1.1.1.2.2 skrll | PARSEOP_SIGNAL '('
956 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
957 1.1.1.1.2.2 skrll ;
958 1.1.1.1.2.2 skrll
959 1.1.1.1.2.2 skrll SizeOfTerm
960 1.1.1.1.2.2 skrll : PARSEOP_SIZEOF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SIZEOF);}
961 1.1.1.1.2.2 skrll SuperName
962 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
963 1.1.1.1.2.2 skrll | PARSEOP_SIZEOF '('
964 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
965 1.1.1.1.2.2 skrll ;
966 1.1.1.1.2.2 skrll
967 1.1.1.1.2.2 skrll SleepTerm
968 1.1.1.1.2.2 skrll : PARSEOP_SLEEP '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SLEEP);}
969 1.1.1.1.2.2 skrll TermArg
970 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
971 1.1.1.1.2.2 skrll | PARSEOP_SLEEP '('
972 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
973 1.1.1.1.2.2 skrll ;
974 1.1.1.1.2.2 skrll
975 1.1.1.1.2.2 skrll StallTerm
976 1.1.1.1.2.2 skrll : PARSEOP_STALL '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STALL);}
977 1.1.1.1.2.2 skrll TermArg
978 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
979 1.1.1.1.2.2 skrll | PARSEOP_STALL '('
980 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
981 1.1.1.1.2.2 skrll ;
982 1.1.1.1.2.2 skrll
983 1.1.1.1.2.2 skrll StoreTerm
984 1.1.1.1.2.2 skrll : PARSEOP_STORE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STORE);}
985 1.1.1.1.2.2 skrll TermArg
986 1.1.1.1.2.2 skrll ',' SuperName
987 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,
988 1.1.1.1.2.2 skrll TrSetNodeFlags ($6, NODE_IS_TARGET));}
989 1.1.1.1.2.2 skrll | PARSEOP_STORE '('
990 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
991 1.1.1.1.2.2 skrll ;
992 1.1.1.1.2.2 skrll
993 1.1.1.1.2.2 skrll SubtractTerm
994 1.1.1.1.2.2 skrll : PARSEOP_SUBTRACT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SUBTRACT);}
995 1.1.1.1.2.2 skrll TermArg
996 1.1.1.1.2.2 skrll TermArgItem
997 1.1.1.1.2.2 skrll Target
998 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
999 1.1.1.1.2.2 skrll | PARSEOP_SUBTRACT '('
1000 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1001 1.1.1.1.2.2 skrll ;
1002 1.1.1.1.2.2 skrll
1003 1.1.1.1.2.2 skrll SwitchTerm
1004 1.1.1.1.2.2 skrll : PARSEOP_SWITCH '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SWITCH);}
1005 1.1.1.1.2.2 skrll TermArg
1006 1.1.1.1.2.2 skrll ')' '{'
1007 1.1.1.1.2.2 skrll CaseDefaultTermList '}'
1008 1.1.1.1.2.2 skrll {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
1009 1.1.1.1.2.2 skrll | PARSEOP_SWITCH '('
1010 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1011 1.1.1.1.2.2 skrll ;
1012 1.1.1.1.2.2 skrll
1013 1.1.1.1.2.2 skrll ThermalZoneTerm
1014 1.1.1.1.2.2 skrll : PARSEOP_THERMALZONE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_THERMALZONE);}
1015 1.1.1.1.2.2 skrll NameString
1016 1.1.1.1.2.2 skrll ')' '{'
1017 1.1.1.1.2.2 skrll TermList '}' {$$ = TrLinkChildren ($<n>3,2,
1018 1.1.1.1.2.2 skrll TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
1019 1.1.1.1.2.2 skrll | PARSEOP_THERMALZONE '('
1020 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1021 1.1.1.1.2.2 skrll ;
1022 1.1.1.1.2.2 skrll
1023 1.1.1.1.2.2 skrll TimerTerm
1024 1.1.1.1.2.2 skrll : PARSEOP_TIMER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TIMER);}
1025 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,0);}
1026 1.1.1.1.2.2 skrll | PARSEOP_TIMER {$$ = TrLinkChildren (
1027 1.1.1.1.2.2 skrll TrCreateLeafNode (PARSEOP_TIMER),0);}
1028 1.1.1.1.2.2 skrll | PARSEOP_TIMER '('
1029 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1030 1.1.1.1.2.2 skrll ;
1031 1.1.1.1.2.2 skrll
1032 1.1.1.1.2.2 skrll ToBCDTerm
1033 1.1.1.1.2.2 skrll : PARSEOP_TOBCD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TOBCD);}
1034 1.1.1.1.2.2 skrll TermArg
1035 1.1.1.1.2.2 skrll Target
1036 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1037 1.1.1.1.2.2 skrll | PARSEOP_TOBCD '('
1038 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1039 1.1.1.1.2.2 skrll ;
1040 1.1.1.1.2.2 skrll
1041 1.1.1.1.2.2 skrll ToBufferTerm
1042 1.1.1.1.2.2 skrll : PARSEOP_TOBUFFER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TOBUFFER);}
1043 1.1.1.1.2.2 skrll TermArg
1044 1.1.1.1.2.2 skrll Target
1045 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1046 1.1.1.1.2.2 skrll | PARSEOP_TOBUFFER '('
1047 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1048 1.1.1.1.2.2 skrll ;
1049 1.1.1.1.2.2 skrll
1050 1.1.1.1.2.2 skrll ToDecimalStringTerm
1051 1.1.1.1.2.2 skrll : PARSEOP_TODECIMALSTRING '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TODECIMALSTRING);}
1052 1.1.1.1.2.2 skrll TermArg
1053 1.1.1.1.2.2 skrll Target
1054 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1055 1.1.1.1.2.2 skrll | PARSEOP_TODECIMALSTRING '('
1056 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1057 1.1.1.1.2.2 skrll ;
1058 1.1.1.1.2.2 skrll
1059 1.1.1.1.2.2 skrll ToHexStringTerm
1060 1.1.1.1.2.2 skrll : PARSEOP_TOHEXSTRING '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TOHEXSTRING);}
1061 1.1.1.1.2.2 skrll TermArg
1062 1.1.1.1.2.2 skrll Target
1063 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1064 1.1.1.1.2.2 skrll | PARSEOP_TOHEXSTRING '('
1065 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1066 1.1.1.1.2.2 skrll ;
1067 1.1.1.1.2.2 skrll
1068 1.1.1.1.2.2 skrll ToIntegerTerm
1069 1.1.1.1.2.2 skrll : PARSEOP_TOINTEGER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TOINTEGER);}
1070 1.1.1.1.2.2 skrll TermArg
1071 1.1.1.1.2.2 skrll Target
1072 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1073 1.1.1.1.2.2 skrll | PARSEOP_TOINTEGER '('
1074 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1075 1.1.1.1.2.2 skrll ;
1076 1.1.1.1.2.2 skrll
1077 1.1.1.1.2.2 skrll ToPLDTerm
1078 1.1.1.1.2.2 skrll : PARSEOP_TOPLD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TOPLD);}
1079 1.1.1.1.2.2 skrll PldKeywordList
1080 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
1081 1.1.1.1.2.2 skrll | PARSEOP_TOPLD '('
1082 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1083 1.1.1.1.2.2 skrll ;
1084 1.1.1.1.2.2 skrll
1085 1.1.1.1.2.2 skrll PldKeywordList
1086 1.1.1.1.2.2 skrll : {$$ = NULL;}
1087 1.1.1.1.2.2 skrll | PldKeyword
1088 1.1.1.1.2.2 skrll PARSEOP_EXP_EQUALS Integer {$$ = TrLinkChildren ($1,1,$3);}
1089 1.1.1.1.2.2 skrll | PldKeyword
1090 1.1.1.1.2.2 skrll PARSEOP_EXP_EQUALS String {$$ = TrLinkChildren ($1,1,$3);}
1091 1.1.1.1.2.2 skrll | PldKeywordList ',' /* Allows a trailing comma at list end */
1092 1.1.1.1.2.2 skrll | PldKeywordList ','
1093 1.1.1.1.2.2 skrll PldKeyword
1094 1.1.1.1.2.2 skrll PARSEOP_EXP_EQUALS Integer {$$ = TrLinkPeerNode ($1,TrLinkChildren ($3,1,$5));}
1095 1.1.1.1.2.2 skrll | PldKeywordList ','
1096 1.1.1.1.2.2 skrll PldKeyword
1097 1.1.1.1.2.2 skrll PARSEOP_EXP_EQUALS String {$$ = TrLinkPeerNode ($1,TrLinkChildren ($3,1,$5));}
1098 1.1.1.1.2.2 skrll ;
1099 1.1.1.1.2.2 skrll
1100 1.1.1.1.2.2 skrll
1101 1.1.1.1.2.2 skrll ToStringTerm
1102 1.1.1.1.2.2 skrll : PARSEOP_TOSTRING '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TOSTRING);}
1103 1.1.1.1.2.2 skrll TermArg
1104 1.1.1.1.2.2 skrll OptionalCount
1105 1.1.1.1.2.2 skrll Target
1106 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
1107 1.1.1.1.2.2 skrll | PARSEOP_TOSTRING '('
1108 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1109 1.1.1.1.2.2 skrll ;
1110 1.1.1.1.2.2 skrll
1111 1.1.1.1.2.2 skrll ToUUIDTerm
1112 1.1.1.1.2.2 skrll : PARSEOP_TOUUID '('
1113 1.1.1.1.2.2 skrll StringData ')' {$$ = TrUpdateNode (PARSEOP_TOUUID, $3);}
1114 1.1.1.1.2.2 skrll | PARSEOP_TOUUID '('
1115 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1116 1.1.1.1.2.2 skrll ;
1117 1.1.1.1.2.2 skrll
1118 1.1.1.1.2.2 skrll UnicodeTerm
1119 1.1.1.1.2.2 skrll : PARSEOP_UNICODE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UNICODE);}
1120 1.1.1.1.2.2 skrll StringData
1121 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,0,$4);}
1122 1.1.1.1.2.2 skrll | PARSEOP_UNICODE '('
1123 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1124 1.1.1.1.2.2 skrll ;
1125 1.1.1.1.2.2 skrll
1126 1.1.1.1.2.2 skrll UnloadTerm
1127 1.1.1.1.2.2 skrll : PARSEOP_UNLOAD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UNLOAD);}
1128 1.1.1.1.2.2 skrll SuperName
1129 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
1130 1.1.1.1.2.2 skrll | PARSEOP_UNLOAD '('
1131 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1132 1.1.1.1.2.2 skrll ;
1133 1.1.1.1.2.2 skrll
1134 1.1.1.1.2.2 skrll WaitTerm
1135 1.1.1.1.2.2 skrll : PARSEOP_WAIT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WAIT);}
1136 1.1.1.1.2.2 skrll SuperName
1137 1.1.1.1.2.2 skrll TermArgItem
1138 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1139 1.1.1.1.2.2 skrll | PARSEOP_WAIT '('
1140 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1141 1.1.1.1.2.2 skrll ;
1142 1.1.1.1.2.2 skrll
1143 1.1.1.1.2.2 skrll XOrTerm
1144 1.1.1.1.2.2 skrll : PARSEOP_XOR '(' {$<n>$ = TrCreateLeafNode (PARSEOP_XOR);}
1145 1.1.1.1.2.2 skrll TermArg
1146 1.1.1.1.2.2 skrll TermArgItem
1147 1.1.1.1.2.2 skrll Target
1148 1.1.1.1.2.2 skrll ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
1149 1.1.1.1.2.2 skrll | PARSEOP_XOR '('
1150 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1151 1.1.1.1.2.2 skrll ;
1152 1.1.1.1.2.2 skrll
1153 1.1.1.1.2.2 skrll WhileTerm
1154 1.1.1.1.2.2 skrll : PARSEOP_WHILE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WHILE);}
1155 1.1.1.1.2.2 skrll TermArg
1156 1.1.1.1.2.2 skrll ')' '{' TermList '}'
1157 1.1.1.1.2.2 skrll {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
1158 1.1.1.1.2.2 skrll | PARSEOP_WHILE '('
1159 1.1.1.1.2.2 skrll error ')' {$$ = AslDoError(); yyclearin;}
1160 1.1.1.1.2.2 skrll ;
1161