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