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