Deleted Added
full compact
aslprimaries.y (316303) aslprimaries.y (322877)
1NoEcho('
2/******************************************************************************
3 *
4 * Module Name: aslprimaries.y - Rules for primary ASL operators
5 * - Keep this file synched with the
6 * CvParseOpBlockType function in cvcompiler.c
7 *
8 *****************************************************************************/

--- 152 unchanged lines hidden (view full) ---

161 *
162 ******************************************************************************/
163
164AccessAsTerm
165 : PARSEOP_ACCESSAS
166 PARSEOP_OPEN_PAREN
167 AccessTypeKeyword
168 OptionalAccessAttribTerm
1NoEcho('
2/******************************************************************************
3 *
4 * Module Name: aslprimaries.y - Rules for primary ASL operators
5 * - Keep this file synched with the
6 * CvParseOpBlockType function in cvcompiler.c
7 *
8 *****************************************************************************/

--- 152 unchanged lines hidden (view full) ---

161 *
162 ******************************************************************************/
163
164AccessAsTerm
165 : PARSEOP_ACCESSAS
166 PARSEOP_OPEN_PAREN
167 AccessTypeKeyword
168 OptionalAccessAttribTerm
169 PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_ACCESSAS,2,$3,$4);}
169 PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_ACCESSAS,2,$3,$4);}
170 | PARSEOP_ACCESSAS
171 PARSEOP_OPEN_PAREN
172 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
173 ;
174
175AcquireTerm
176 : PARSEOP_ACQUIRE
170 | PARSEOP_ACCESSAS
171 PARSEOP_OPEN_PAREN
172 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
173 ;
174
175AcquireTerm
176 : PARSEOP_ACQUIRE
177 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ACQUIRE);}
177 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp(PARSEOP_ACQUIRE);}
178 SuperName
179 ',' WordConstExpr
178 SuperName
179 ',' WordConstExpr
180 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$6);}
180 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$6);}
181 | PARSEOP_ACQUIRE
182 PARSEOP_OPEN_PAREN
183 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
184 ;
185
186AddTerm
187 : PARSEOP_ADD
181 | PARSEOP_ACQUIRE
182 PARSEOP_OPEN_PAREN
183 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
184 ;
185
186AddTerm
187 : PARSEOP_ADD
188 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ADD);}
188 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_ADD);}
189 TermArg
190 TermArgItem
191 Target
189 TermArg
190 TermArgItem
191 Target
192 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,$6);}
192 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
193 | PARSEOP_ADD
194 PARSEOP_OPEN_PAREN
195 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
196 ;
197
198AliasTerm
199 : PARSEOP_ALIAS
193 | PARSEOP_ADD
194 PARSEOP_OPEN_PAREN
195 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
196 ;
197
198AliasTerm
199 : PARSEOP_ALIAS
200 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ALIAS);}
200 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_ALIAS);}
201 NameString
202 NameStringItem
201 NameString
202 NameStringItem
203 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,
204 TrSetNodeFlags ($5, NODE_IS_NAME_DECLARATION));}
203 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,
204 TrSetOpFlags ($5, OP_IS_NAME_DECLARATION));}
205 | PARSEOP_ALIAS
206 PARSEOP_OPEN_PAREN
207 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
208 ;
209
210AndTerm
211 : PARSEOP_AND
205 | PARSEOP_ALIAS
206 PARSEOP_OPEN_PAREN
207 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
208 ;
209
210AndTerm
211 : PARSEOP_AND
212 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_AND);}
212 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_AND);}
213 TermArg
214 TermArgItem
215 Target
213 TermArg
214 TermArgItem
215 Target
216 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,$6);}
216 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
217 | PARSEOP_AND
218 PARSEOP_OPEN_PAREN
219 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
220 ;
221
222ArgTerm
217 | PARSEOP_AND
218 PARSEOP_OPEN_PAREN
219 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
220 ;
221
222ArgTerm
223 : PARSEOP_ARG0 {$$ = TrCreateLeafNode (PARSEOP_ARG0);}
224 | PARSEOP_ARG1 {$$ = TrCreateLeafNode (PARSEOP_ARG1);}
225 | PARSEOP_ARG2 {$$ = TrCreateLeafNode (PARSEOP_ARG2);}
226 | PARSEOP_ARG3 {$$ = TrCreateLeafNode (PARSEOP_ARG3);}
227 | PARSEOP_ARG4 {$$ = TrCreateLeafNode (PARSEOP_ARG4);}
228 | PARSEOP_ARG5 {$$ = TrCreateLeafNode (PARSEOP_ARG5);}
229 | PARSEOP_ARG6 {$$ = TrCreateLeafNode (PARSEOP_ARG6);}
223 : PARSEOP_ARG0 {$$ = TrCreateLeafOp (PARSEOP_ARG0);}
224 | PARSEOP_ARG1 {$$ = TrCreateLeafOp (PARSEOP_ARG1);}
225 | PARSEOP_ARG2 {$$ = TrCreateLeafOp (PARSEOP_ARG2);}
226 | PARSEOP_ARG3 {$$ = TrCreateLeafOp (PARSEOP_ARG3);}
227 | PARSEOP_ARG4 {$$ = TrCreateLeafOp (PARSEOP_ARG4);}
228 | PARSEOP_ARG5 {$$ = TrCreateLeafOp (PARSEOP_ARG5);}
229 | PARSEOP_ARG6 {$$ = TrCreateLeafOp (PARSEOP_ARG6);}
230 ;
231
232BankFieldTerm
233 : PARSEOP_BANKFIELD
230 ;
231
232BankFieldTerm
233 : PARSEOP_BANKFIELD
234 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_BANKFIELD);}
234 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_BANKFIELD);}
235 NameString
236 NameStringItem
237 TermArgItem
238 ',' AccessTypeKeyword
239 ',' LockRuleKeyword
240 ',' UpdateRuleKeyword
241 PARSEOP_CLOSE_PAREN '{'
235 NameString
236 NameStringItem
237 TermArgItem
238 ',' AccessTypeKeyword
239 ',' LockRuleKeyword
240 ',' UpdateRuleKeyword
241 PARSEOP_CLOSE_PAREN '{'
242 FieldUnitList '}' {$$ = TrLinkChildren ($3,7,
242 FieldUnitList '}' {$$ = TrLinkOpChildren ($<n>3,7,
243 $4,$5,$6,$8,$10,$12,$15);}
244 | PARSEOP_BANKFIELD
245 PARSEOP_OPEN_PAREN
246 error PARSEOP_CLOSE_PAREN
247 '{' error '}' {$$ = AslDoError(); yyclearin;}
248 ;
249
250BreakTerm
243 $4,$5,$6,$8,$10,$12,$15);}
244 | PARSEOP_BANKFIELD
245 PARSEOP_OPEN_PAREN
246 error PARSEOP_CLOSE_PAREN
247 '{' error '}' {$$ = AslDoError(); yyclearin;}
248 ;
249
250BreakTerm
251 : PARSEOP_BREAK {$$ = TrCreateNode (PARSEOP_BREAK, 0);}
251 : PARSEOP_BREAK {$$ = TrCreateOp (PARSEOP_BREAK, 0);}
252 ;
253
254BreakPointTerm
252 ;
253
254BreakPointTerm
255 : PARSEOP_BREAKPOINT {$$ = TrCreateNode (PARSEOP_BREAKPOINT, 0);}
255 : PARSEOP_BREAKPOINT {$$ = TrCreateOp (PARSEOP_BREAKPOINT, 0);}
256 ;
257
258BufferTerm
256 ;
257
258BufferTerm
259 : PARSEOP_BUFFER {$<n>$ = TrCreateLeafNode (PARSEOP_BUFFER); COMMENT_CAPTURE_OFF; }
259 : PARSEOP_BUFFER {$<n>$ = TrCreateLeafOp (PARSEOP_BUFFER); COMMENT_CAPTURE_OFF; }
260 OptionalDataCount
260 OptionalDataCount
261 '{' BufferTermData '}' {$$ = TrLinkChildren ($2,2,$3,$5); COMMENT_CAPTURE_ON;}
261 '{' BufferTermData '}' {$$ = TrLinkOpChildren ($<n>2,2,$3,$5); COMMENT_CAPTURE_ON;}
262 ;
263
264BufferTermData
265 : ByteList {}
266 | StringData {}
267 ;
268
269CaseTerm
270 : PARSEOP_CASE
262 ;
263
264BufferTermData
265 : ByteList {}
266 | StringData {}
267 ;
268
269CaseTerm
270 : PARSEOP_CASE
271 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CASE);}
271 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CASE);}
272 DataObject
273 PARSEOP_CLOSE_PAREN '{'
272 DataObject
273 PARSEOP_CLOSE_PAREN '{'
274 TermList '}' {$$ = TrLinkChildren ($3,2,$4,$7);}
274 TermList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
275 | PARSEOP_CASE
276 PARSEOP_OPEN_PAREN
277 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
278 ;
279
280ConcatTerm
281 : PARSEOP_CONCATENATE
275 | PARSEOP_CASE
276 PARSEOP_OPEN_PAREN
277 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
278 ;
279
280ConcatTerm
281 : PARSEOP_CONCATENATE
282 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CONCATENATE);}
282 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CONCATENATE);}
283 TermArg
284 TermArgItem
285 Target
283 TermArg
284 TermArgItem
285 Target
286 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,$6);}
286 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
287 | PARSEOP_CONCATENATE
288 PARSEOP_OPEN_PAREN
289 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
290 ;
291
292ConcatResTerm
293 : PARSEOP_CONCATENATERESTEMPLATE
287 | PARSEOP_CONCATENATE
288 PARSEOP_OPEN_PAREN
289 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
290 ;
291
292ConcatResTerm
293 : PARSEOP_CONCATENATERESTEMPLATE
294 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (
294 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (
295 PARSEOP_CONCATENATERESTEMPLATE);}
296 TermArg
297 TermArgItem
298 Target
295 PARSEOP_CONCATENATERESTEMPLATE);}
296 TermArg
297 TermArgItem
298 Target
299 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,$6);}
299 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
300 | PARSEOP_CONCATENATERESTEMPLATE
301 PARSEOP_OPEN_PAREN
302 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
303 ;
304
305CondRefOfTerm
306 : PARSEOP_CONDREFOF
300 | PARSEOP_CONCATENATERESTEMPLATE
301 PARSEOP_OPEN_PAREN
302 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
303 ;
304
305CondRefOfTerm
306 : PARSEOP_CONDREFOF
307 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CONDREFOF);}
307 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CONDREFOF);}
308 CondRefOfSource
309 Target
308 CondRefOfSource
309 Target
310 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
310 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
311 | PARSEOP_CONDREFOF
312 PARSEOP_OPEN_PAREN
313 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
314 ;
315
316ConnectionTerm
317 : PARSEOP_CONNECTION
318 PARSEOP_OPEN_PAREN
319 NameString
311 | PARSEOP_CONDREFOF
312 PARSEOP_OPEN_PAREN
313 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
314 ;
315
316ConnectionTerm
317 : PARSEOP_CONNECTION
318 PARSEOP_OPEN_PAREN
319 NameString
320 PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_CONNECTION,1,$3);}
320 PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_CONNECTION,1,$3);}
321 | PARSEOP_CONNECTION
321 | PARSEOP_CONNECTION
322 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CONNECTION);}
322 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CONNECTION);}
323 ResourceMacroTerm
323 ResourceMacroTerm
324 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3, 1,
325 TrLinkChildren (
326 TrCreateLeafNode (PARSEOP_RESOURCETEMPLATE), 3,
327 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
328 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
324 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3, 1,
325 TrLinkOpChildren (
326 TrCreateLeafOp (PARSEOP_RESOURCETEMPLATE), 3,
327 TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
328 TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
329 $4));}
330 | PARSEOP_CONNECTION
331 PARSEOP_OPEN_PAREN
332 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
333 ;
334
335ContinueTerm
329 $4));}
330 | PARSEOP_CONNECTION
331 PARSEOP_OPEN_PAREN
332 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
333 ;
334
335ContinueTerm
336 : PARSEOP_CONTINUE {$$ = TrCreateNode (PARSEOP_CONTINUE, 0);}
336 : PARSEOP_CONTINUE {$$ = TrCreateOp (PARSEOP_CONTINUE, 0);}
337 ;
338
339CopyObjectTerm
340 : PARSEOP_COPYOBJECT
337 ;
338
339CopyObjectTerm
340 : PARSEOP_COPYOBJECT
341 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_COPYOBJECT);}
341 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_COPYOBJECT);}
342 TermArg
343 ',' SimpleName
342 TermArg
343 ',' SimpleName
344 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,
345 TrSetNodeFlags ($6, NODE_IS_TARGET));}
344 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,
345 TrSetOpFlags ($6, OP_IS_TARGET));}
346 | PARSEOP_COPYOBJECT
347 PARSEOP_OPEN_PAREN
348 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
349 ;
350
351CreateBitFieldTerm
352 : PARSEOP_CREATEBITFIELD
346 | PARSEOP_COPYOBJECT
347 PARSEOP_OPEN_PAREN
348 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
349 ;
350
351CreateBitFieldTerm
352 : PARSEOP_CREATEBITFIELD
353 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBITFIELD);}
353 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEBITFIELD);}
354 TermArg
355 TermArgItem
356 NameStringItem
354 TermArg
355 TermArgItem
356 NameStringItem
357 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,
358 TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
357 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,
358 TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));}
359 | PARSEOP_CREATEBITFIELD
360 PARSEOP_OPEN_PAREN
361 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
362 ;
363
364CreateByteFieldTerm
365 : PARSEOP_CREATEBYTEFIELD
359 | PARSEOP_CREATEBITFIELD
360 PARSEOP_OPEN_PAREN
361 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
362 ;
363
364CreateByteFieldTerm
365 : PARSEOP_CREATEBYTEFIELD
366 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBYTEFIELD);}
366 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEBYTEFIELD);}
367 TermArg
368 TermArgItem
369 NameStringItem
367 TermArg
368 TermArgItem
369 NameStringItem
370 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,
371 TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
370 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,
371 TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));}
372 | PARSEOP_CREATEBYTEFIELD
373 PARSEOP_OPEN_PAREN
374 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
375 ;
376
377CreateDWordFieldTerm
378 : PARSEOP_CREATEDWORDFIELD
372 | PARSEOP_CREATEBYTEFIELD
373 PARSEOP_OPEN_PAREN
374 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
375 ;
376
377CreateDWordFieldTerm
378 : PARSEOP_CREATEDWORDFIELD
379 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEDWORDFIELD);}
379 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEDWORDFIELD);}
380 TermArg
381 TermArgItem
382 NameStringItem
380 TermArg
381 TermArgItem
382 NameStringItem
383 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,
384 TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
383 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,
384 TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));}
385 | PARSEOP_CREATEDWORDFIELD
386 PARSEOP_OPEN_PAREN
387 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
388 ;
389
390CreateFieldTerm
391 : PARSEOP_CREATEFIELD
385 | PARSEOP_CREATEDWORDFIELD
386 PARSEOP_OPEN_PAREN
387 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
388 ;
389
390CreateFieldTerm
391 : PARSEOP_CREATEFIELD
392 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEFIELD);}
392 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEFIELD);}
393 TermArg
394 TermArgItem
395 TermArgItem
396 NameStringItem
393 TermArg
394 TermArgItem
395 TermArgItem
396 NameStringItem
397 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,4,$4,$5,$6,
398 TrSetNodeFlags ($7, NODE_IS_NAME_DECLARATION));}
397 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,$4,$5,$6,
398 TrSetOpFlags ($7, OP_IS_NAME_DECLARATION));}
399 | PARSEOP_CREATEFIELD
400 PARSEOP_OPEN_PAREN
401 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
402 ;
403
404CreateQWordFieldTerm
405 : PARSEOP_CREATEQWORDFIELD
399 | PARSEOP_CREATEFIELD
400 PARSEOP_OPEN_PAREN
401 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
402 ;
403
404CreateQWordFieldTerm
405 : PARSEOP_CREATEQWORDFIELD
406 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEQWORDFIELD);}
406 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEQWORDFIELD);}
407 TermArg
408 TermArgItem
409 NameStringItem
407 TermArg
408 TermArgItem
409 NameStringItem
410 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,
411 TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
410 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,
411 TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));}
412 | PARSEOP_CREATEQWORDFIELD
413 PARSEOP_OPEN_PAREN
414 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
415 ;
416
417CreateWordFieldTerm
418 : PARSEOP_CREATEWORDFIELD
412 | PARSEOP_CREATEQWORDFIELD
413 PARSEOP_OPEN_PAREN
414 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
415 ;
416
417CreateWordFieldTerm
418 : PARSEOP_CREATEWORDFIELD
419 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEWORDFIELD);}
419 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEWORDFIELD);}
420 TermArg
421 TermArgItem
422 NameStringItem
420 TermArg
421 TermArgItem
422 NameStringItem
423 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,
424 TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
423 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,
424 TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));}
425 | PARSEOP_CREATEWORDFIELD
426 PARSEOP_OPEN_PAREN
427 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
428 ;
429
430DataRegionTerm
431 : PARSEOP_DATATABLEREGION
425 | PARSEOP_CREATEWORDFIELD
426 PARSEOP_OPEN_PAREN
427 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
428 ;
429
430DataRegionTerm
431 : PARSEOP_DATATABLEREGION
432 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DATATABLEREGION);}
432 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DATATABLEREGION);}
433 NameString
434 TermArgItem
435 TermArgItem
436 TermArgItem
433 NameString
434 TermArgItem
435 TermArgItem
436 TermArgItem
437 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,4,
438 TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$5,$6,$7);}
437 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,
438 TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$5,$6,$7);}
439 | PARSEOP_DATATABLEREGION
440 PARSEOP_OPEN_PAREN
441 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
442 ;
443
444DebugTerm
439 | PARSEOP_DATATABLEREGION
440 PARSEOP_OPEN_PAREN
441 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
442 ;
443
444DebugTerm
445 : PARSEOP_DEBUG {$$ = TrCreateLeafNode (PARSEOP_DEBUG);}
445 : PARSEOP_DEBUG {$$ = TrCreateLeafOp (PARSEOP_DEBUG);}
446 ;
447
448DecTerm
449 : PARSEOP_DECREMENT
446 ;
447
448DecTerm
449 : PARSEOP_DECREMENT
450 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DECREMENT);}
450 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DECREMENT);}
451 SuperName
451 SuperName
452 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,$4);}
452 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);}
453 | PARSEOP_DECREMENT
454 PARSEOP_OPEN_PAREN
455 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
456 ;
457
458DefaultTerm
453 | PARSEOP_DECREMENT
454 PARSEOP_OPEN_PAREN
455 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
456 ;
457
458DefaultTerm
459 : PARSEOP_DEFAULT '{' {$<n>$ = TrCreateLeafNode (PARSEOP_DEFAULT);}
460 TermList '}' {$$ = TrLinkChildren ($3,1,$4);}
459 : PARSEOP_DEFAULT '{' {$<n>$ = TrCreateLeafOp (PARSEOP_DEFAULT);}
460 TermList '}' {$$ = TrLinkOpChildren ($<n>3,1,$4);}
461 | PARSEOP_DEFAULT '{'
462 error '}' {$$ = AslDoError(); yyclearin;}
463 ;
464
465DerefOfTerm
466 : PARSEOP_DEREFOF
461 | PARSEOP_DEFAULT '{'
462 error '}' {$$ = AslDoError(); yyclearin;}
463 ;
464
465DerefOfTerm
466 : PARSEOP_DEREFOF
467 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DEREFOF);}
467 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DEREFOF);}
468 DerefOfSource
468 DerefOfSource
469 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,$4);}
469 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);}
470 | PARSEOP_DEREFOF
471 PARSEOP_OPEN_PAREN
472 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
473 ;
474
475DeviceTerm
476 : PARSEOP_DEVICE
470 | PARSEOP_DEREFOF
471 PARSEOP_OPEN_PAREN
472 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
473 ;
474
475DeviceTerm
476 : PARSEOP_DEVICE
477 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DEVICE);}
477 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DEVICE);}
478 NameString
479 PARSEOP_CLOSE_PAREN '{'
478 NameString
479 PARSEOP_CLOSE_PAREN '{'
480 TermList '}' {$$ = TrLinkChildren ($3,2,
481 TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
480 TermList '}' {$$ = TrLinkOpChildren ($<n>3,2,
481 TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$7);}
482 | PARSEOP_DEVICE
483 PARSEOP_OPEN_PAREN
484 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
485 ;
486
487DivideTerm
488 : PARSEOP_DIVIDE
482 | PARSEOP_DEVICE
483 PARSEOP_OPEN_PAREN
484 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
485 ;
486
487DivideTerm
488 : PARSEOP_DIVIDE
489 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DIVIDE);}
489 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DIVIDE);}
490 TermArg
491 TermArgItem
492 Target
493 Target
490 TermArg
491 TermArgItem
492 Target
493 Target
494 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,4,$4,$5,$6,$7);}
494 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,$4,$5,$6,$7);}
495 | PARSEOP_DIVIDE
496 PARSEOP_OPEN_PAREN
497 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
498 ;
499
500EISAIDTerm
501 : PARSEOP_EISAID
502 PARSEOP_OPEN_PAREN
503 StringData
495 | PARSEOP_DIVIDE
496 PARSEOP_OPEN_PAREN
497 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
498 ;
499
500EISAIDTerm
501 : PARSEOP_EISAID
502 PARSEOP_OPEN_PAREN
503 StringData
504 PARSEOP_CLOSE_PAREN {$$ = TrUpdateNode (PARSEOP_EISAID, $3);}
504 PARSEOP_CLOSE_PAREN {$$ = TrSetOpIntegerValue (PARSEOP_EISAID, $3);}
505 | PARSEOP_EISAID
506 PARSEOP_OPEN_PAREN
507 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
508 ;
509
510ElseIfTerm
505 | PARSEOP_EISAID
506 PARSEOP_OPEN_PAREN
507 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
508 ;
509
510ElseIfTerm
511 : IfTerm ElseTerm {$$ = TrLinkPeerNode ($1,$2);}
511 : IfTerm ElseTerm {$$ = TrLinkPeerOp ($1,$2);}
512 ;
513
514ElseTerm
515 : {$$ = NULL;}
516 | PARSEOP_ELSE '{'
512 ;
513
514ElseTerm
515 : {$$ = NULL;}
516 | PARSEOP_ELSE '{'
517 TermList {$<n>$ = TrCreateLeafNode (PARSEOP_ELSE);}
518 '}' {$$ = TrLinkChildren ($4,1,$3);}
517 TermList {$<n>$ = TrCreateLeafOp (PARSEOP_ELSE);}
518 '}' {$$ = TrLinkOpChildren ($<n>4,1,$3);}
519
520 | PARSEOP_ELSE '{'
521 error '}' {$$ = AslDoError(); yyclearin;}
522
523 | PARSEOP_ELSE
524 error {$$ = AslDoError(); yyclearin;}
525
526 | PARSEOP_ELSEIF
519
520 | PARSEOP_ELSE '{'
521 error '}' {$$ = AslDoError(); yyclearin;}
522
523 | PARSEOP_ELSE
524 error {$$ = AslDoError(); yyclearin;}
525
526 | PARSEOP_ELSEIF
527 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ELSE);}
528 TermArg {$<n>$ = TrCreateLeafNode (PARSEOP_IF);}
527 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_ELSE);}
528 TermArg {$<n>$ = TrCreateLeafOp (PARSEOP_IF);}
529 PARSEOP_CLOSE_PAREN '{'
529 PARSEOP_CLOSE_PAREN '{'
530 TermList '}' {TrLinkChildren ($5,2,$4,$8);}
531 ElseTerm {TrLinkPeerNode ($<n>5,$11);}
532 {$$ = TrLinkChildren ($3,1,$5);}
530 TermList '}' {TrLinkOpChildren ($<n>5,2,$4,$8);}
531 ElseTerm {TrLinkPeerOp ($<n>5,$11);}
532 {$$ = TrLinkOpChildren ($<n>3,1,$<n>5);}
533
534 | PARSEOP_ELSEIF
535 PARSEOP_OPEN_PAREN
536 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
537
538 | PARSEOP_ELSEIF
539 error {$$ = AslDoError(); yyclearin;}
540 ;
541
542EventTerm
543 : PARSEOP_EVENT
533
534 | PARSEOP_ELSEIF
535 PARSEOP_OPEN_PAREN
536 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
537
538 | PARSEOP_ELSEIF
539 error {$$ = AslDoError(); yyclearin;}
540 ;
541
542EventTerm
543 : PARSEOP_EVENT
544 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_EVENT);}
544 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_EVENT);}
545 NameString
545 NameString
546 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,
547 TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION));}
546 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,
547 TrSetOpFlags ($4, OP_IS_NAME_DECLARATION));}
548 | PARSEOP_EVENT
549 PARSEOP_OPEN_PAREN
550 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
551 ;
552
553ExternalTerm
554 : PARSEOP_EXTERNAL
555 PARSEOP_OPEN_PAREN
556 NameString
557 OptionalObjectTypeKeyword
558 OptionalParameterTypePackage
559 OptionalParameterTypesPackage
548 | PARSEOP_EVENT
549 PARSEOP_OPEN_PAREN
550 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
551 ;
552
553ExternalTerm
554 : PARSEOP_EXTERNAL
555 PARSEOP_OPEN_PAREN
556 NameString
557 OptionalObjectTypeKeyword
558 OptionalParameterTypePackage
559 OptionalParameterTypesPackage
560 PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_EXTERNAL,4,$3,$4,$5,$6);}
560 PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_EXTERNAL,4,$3,$4,$5,$6);}
561 | PARSEOP_EXTERNAL
562 PARSEOP_OPEN_PAREN
563 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
564 ;
565
566FatalTerm
567 : PARSEOP_FATAL
561 | PARSEOP_EXTERNAL
562 PARSEOP_OPEN_PAREN
563 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
564 ;
565
566FatalTerm
567 : PARSEOP_FATAL
568 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FATAL);}
568 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FATAL);}
569 ByteConstExpr
570 ',' DWordConstExpr
571 TermArgItem
569 ByteConstExpr
570 ',' DWordConstExpr
571 TermArgItem
572 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$6,$7);}
572 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$7);}
573 | PARSEOP_FATAL
574 PARSEOP_OPEN_PAREN
575 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
576 ;
577
578FieldTerm
579 : PARSEOP_FIELD
573 | PARSEOP_FATAL
574 PARSEOP_OPEN_PAREN
575 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
576 ;
577
578FieldTerm
579 : PARSEOP_FIELD
580 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FIELD);}
580 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FIELD);}
581 NameString
582 ',' AccessTypeKeyword
583 ',' LockRuleKeyword
584 ',' UpdateRuleKeyword
585 PARSEOP_CLOSE_PAREN '{'
581 NameString
582 ',' AccessTypeKeyword
583 ',' LockRuleKeyword
584 ',' UpdateRuleKeyword
585 PARSEOP_CLOSE_PAREN '{'
586 FieldUnitList '}' {$$ = TrLinkChildren ($3,5,$4,$6,$8,$10,$13);}
586 FieldUnitList '}' {$$ = TrLinkOpChildren ($<n>3,5,$4,$6,$8,$10,$13);}
587 | PARSEOP_FIELD
588 PARSEOP_OPEN_PAREN
589 error PARSEOP_CLOSE_PAREN
590 '{' error '}' {$$ = AslDoError(); yyclearin;}
591 ;
592
593FindSetLeftBitTerm
594 : PARSEOP_FINDSETLEFTBIT
587 | PARSEOP_FIELD
588 PARSEOP_OPEN_PAREN
589 error PARSEOP_CLOSE_PAREN
590 '{' error '}' {$$ = AslDoError(); yyclearin;}
591 ;
592
593FindSetLeftBitTerm
594 : PARSEOP_FINDSETLEFTBIT
595 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FINDSETLEFTBIT);}
595 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FINDSETLEFTBIT);}
596 TermArg
597 Target
596 TermArg
597 Target
598 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
598 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
599 | PARSEOP_FINDSETLEFTBIT
600 PARSEOP_OPEN_PAREN
601 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
602 ;
603
604FindSetRightBitTerm
605 : PARSEOP_FINDSETRIGHTBIT
599 | PARSEOP_FINDSETLEFTBIT
600 PARSEOP_OPEN_PAREN
601 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
602 ;
603
604FindSetRightBitTerm
605 : PARSEOP_FINDSETRIGHTBIT
606 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FINDSETRIGHTBIT);}
606 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FINDSETRIGHTBIT);}
607 TermArg
608 Target
607 TermArg
608 Target
609 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
609 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
610 | PARSEOP_FINDSETRIGHTBIT
611 PARSEOP_OPEN_PAREN
612 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
613 ;
614
615 /* Convert a For() loop to a While() loop */
616ForTerm
617 : PARSEOP_FOR
610 | PARSEOP_FINDSETRIGHTBIT
611 PARSEOP_OPEN_PAREN
612 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
613 ;
614
615 /* Convert a For() loop to a While() loop */
616ForTerm
617 : PARSEOP_FOR
618 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_WHILE);}
618 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WHILE);}
619 OptionalTermArg ',' {}
620 OptionalPredicate ','
619 OptionalTermArg ',' {}
620 OptionalPredicate ','
621 OptionalTermArg {$<n>$ = TrLinkPeerNode ($4,$<n>3);
622 TrSetParent ($9,$3);} /* New parent is WHILE */
621 OptionalTermArg {$<n>$ = TrLinkPeerOp ($4,$<n>3);
622 TrSetOpParent ($9,$<n>3);} /* New parent is WHILE */
623 PARSEOP_CLOSE_PAREN
623 PARSEOP_CLOSE_PAREN
624 '{' TermList '}' {$$ = TrLinkChildren ($3,2,$7,$13);}
625 {$<n>$ = TrLinkPeerNode ($13,$9);
624 '{' TermList '}' {$<n>$ = TrLinkOpChildren ($<n>3,2,$7,$13);}
625 {$<n>$ = TrLinkPeerOp ($13,$9);
626 $$ = $<n>10;}
627 ;
628
629OptionalPredicate
626 $$ = $<n>10;}
627 ;
628
629OptionalPredicate
630 : {$$ = TrCreateValuedLeafNode (PARSEOP_INTEGER, 1);}
630 : {$$ = TrCreateValuedLeafOp (PARSEOP_INTEGER, 1);}
631 | TermArg {$$ = $1;}
632 ;
633
634FprintfTerm
635 : PARSEOP_FPRINTF
631 | TermArg {$$ = $1;}
632 ;
633
634FprintfTerm
635 : PARSEOP_FPRINTF
636 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FPRINTF);}
636 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FPRINTF);}
637 TermArg ','
638 StringData
639 PrintfArgList
637 TermArg ','
638 StringData
639 PrintfArgList
640 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$6,$7);}
640 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$7);}
641 | PARSEOP_FPRINTF
642 PARSEOP_OPEN_PAREN
643 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
644 ;
645
646FromBCDTerm
647 : PARSEOP_FROMBCD
641 | PARSEOP_FPRINTF
642 PARSEOP_OPEN_PAREN
643 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
644 ;
645
646FromBCDTerm
647 : PARSEOP_FROMBCD
648 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FROMBCD);}
648 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FROMBCD);}
649 TermArg
650 Target
649 TermArg
650 Target
651 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
651 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
652 | PARSEOP_FROMBCD
653 PARSEOP_OPEN_PAREN
654 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
655 ;
656
657FunctionTerm
658 : PARSEOP_FUNCTION
652 | PARSEOP_FROMBCD
653 PARSEOP_OPEN_PAREN
654 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
655 ;
656
657FunctionTerm
658 : PARSEOP_FUNCTION
659 PARSEOP_OPEN_PAREN {COMMENT_CAPTURE_OFF; $<n>$ = TrCreateLeafNode (PARSEOP_METHOD); }
659 PARSEOP_OPEN_PAREN {COMMENT_CAPTURE_OFF; $<n>$ = TrCreateLeafOp (PARSEOP_METHOD); }
660 NameString
661 OptionalParameterTypePackage
662 OptionalParameterTypesPackage
663 PARSEOP_CLOSE_PAREN '{' {COMMENT_CAPTURE_ON; }
660 NameString
661 OptionalParameterTypePackage
662 OptionalParameterTypesPackage
663 PARSEOP_CLOSE_PAREN '{' {COMMENT_CAPTURE_ON; }
664 TermList '}' {$$ = TrLinkChildren ($3,7,
665 TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
666 TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0),
667 TrCreateLeafNode (PARSEOP_SERIALIZERULE_NOTSERIAL),
668 TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0),$5,$6,$10);}
664 TermList '}' {$$ = TrLinkOpChildren ($<n>3,7,
665 TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),
666 TrCreateValuedLeafOp (PARSEOP_BYTECONST, 0),
667 TrCreateLeafOp (PARSEOP_SERIALIZERULE_NOTSERIAL),
668 TrCreateValuedLeafOp (PARSEOP_BYTECONST, 0),$5,$6,$10);}
669 | PARSEOP_FUNCTION
670 PARSEOP_OPEN_PAREN
671 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
672 ;
673
674IfTerm
675 : PARSEOP_IF
669 | PARSEOP_FUNCTION
670 PARSEOP_OPEN_PAREN
671 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
672 ;
673
674IfTerm
675 : PARSEOP_IF
676 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_IF);}
676 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_IF);}
677 TermArg
678 PARSEOP_CLOSE_PAREN '{'
677 TermArg
678 PARSEOP_CLOSE_PAREN '{'
679 TermList '}' {$$ = TrLinkChildren ($3,2,$4,$7);}
679 TermList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
680
681 | PARSEOP_IF
682 PARSEOP_OPEN_PAREN
683 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
684 ;
685
686IncludeTerm
687 : PARSEOP_INCLUDE
688 PARSEOP_OPEN_PAREN
689 String
680
681 | PARSEOP_IF
682 PARSEOP_OPEN_PAREN
683 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
684 ;
685
686IncludeTerm
687 : PARSEOP_INCLUDE
688 PARSEOP_OPEN_PAREN
689 String
690 PARSEOP_CLOSE_PAREN {$$ = TrUpdateNode (PARSEOP_INCLUDE, $3);
690 PARSEOP_CLOSE_PAREN {$$ = TrSetOpIntegerValue (PARSEOP_INCLUDE, $3);
691 FlOpenIncludeFile ($3);}
692 ;
693
694IncludeEndTerm
691 FlOpenIncludeFile ($3);}
692 ;
693
694IncludeEndTerm
695 : PARSEOP_INCLUDE_END {$<n>$ = TrCreateLeafNode (PARSEOP_INCLUDE_END);
696 TrSetCurrentFilename ($$);}
695 : PARSEOP_INCLUDE_END {$<n>$ = TrCreateLeafOp (PARSEOP_INCLUDE_END);
696 TrSetOpCurrentFilename ($$);}
697 ;
698
699IncTerm
700 : PARSEOP_INCREMENT
697 ;
698
699IncTerm
700 : PARSEOP_INCREMENT
701 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_INCREMENT);}
701 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_INCREMENT);}
702 SuperName
702 SuperName
703 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,$4);}
703 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);}
704 | PARSEOP_INCREMENT
705 PARSEOP_OPEN_PAREN
706 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
707 ;
708
709IndexFieldTerm
710 : PARSEOP_INDEXFIELD
704 | PARSEOP_INCREMENT
705 PARSEOP_OPEN_PAREN
706 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
707 ;
708
709IndexFieldTerm
710 : PARSEOP_INDEXFIELD
711 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_INDEXFIELD);}
711 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_INDEXFIELD);}
712 NameString
713 NameStringItem
714 ',' AccessTypeKeyword
715 ',' LockRuleKeyword
716 ',' UpdateRuleKeyword
717 PARSEOP_CLOSE_PAREN '{'
712 NameString
713 NameStringItem
714 ',' AccessTypeKeyword
715 ',' LockRuleKeyword
716 ',' UpdateRuleKeyword
717 PARSEOP_CLOSE_PAREN '{'
718 FieldUnitList '}' {$$ = TrLinkChildren ($3,6,$4,$5,$7,$9,$11,$14);}
718 FieldUnitList '}' {$$ = TrLinkOpChildren ($<n>3,6,$4,$5,$7,$9,$11,$14);}
719 | PARSEOP_INDEXFIELD
720 PARSEOP_OPEN_PAREN
721 error PARSEOP_CLOSE_PAREN
722 '{' error '}' {$$ = AslDoError(); yyclearin;}
723 ;
724
725IndexTerm
726 : PARSEOP_INDEX
719 | PARSEOP_INDEXFIELD
720 PARSEOP_OPEN_PAREN
721 error PARSEOP_CLOSE_PAREN
722 '{' error '}' {$$ = AslDoError(); yyclearin;}
723 ;
724
725IndexTerm
726 : PARSEOP_INDEX
727 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_INDEX);}
727 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_INDEX);}
728 TermArg
729 TermArgItem
730 Target
728 TermArg
729 TermArgItem
730 Target
731 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,$6);}
731 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
732 | PARSEOP_INDEX
733 PARSEOP_OPEN_PAREN
734 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
735 ;
736
737LAndTerm
738 : PARSEOP_LAND
732 | PARSEOP_INDEX
733 PARSEOP_OPEN_PAREN
734 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
735 ;
736
737LAndTerm
738 : PARSEOP_LAND
739 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LAND);}
739 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LAND);}
740 TermArg
741 TermArgItem
740 TermArg
741 TermArgItem
742 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
742 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
743 | PARSEOP_LAND
744 PARSEOP_OPEN_PAREN
745 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
746 ;
747
748LEqualTerm
749 : PARSEOP_LEQUAL
743 | PARSEOP_LAND
744 PARSEOP_OPEN_PAREN
745 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
746 ;
747
748LEqualTerm
749 : PARSEOP_LEQUAL
750 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
750 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LEQUAL);}
751 TermArg
752 TermArgItem
751 TermArg
752 TermArgItem
753 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
753 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
754 | PARSEOP_LEQUAL
755 PARSEOP_OPEN_PAREN
756 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
757 ;
758
759LGreaterEqualTerm
760 : PARSEOP_LGREATEREQUAL
754 | PARSEOP_LEQUAL
755 PARSEOP_OPEN_PAREN
756 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
757 ;
758
759LGreaterEqualTerm
760 : PARSEOP_LGREATEREQUAL
761 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LLESS);}
761 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LLESS);}
762 TermArg
763 TermArgItem
762 TermArg
763 TermArgItem
764 PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_LNOT, 1,
765 TrLinkChildren ($3,2,$4,$5));}
764 PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_LNOT, 1,
765 TrLinkOpChildren ($<n>3,2,$4,$5));}
766 | PARSEOP_LGREATEREQUAL
767 PARSEOP_OPEN_PAREN
768 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
769 ;
770
771LGreaterTerm
772 : PARSEOP_LGREATER
766 | PARSEOP_LGREATEREQUAL
767 PARSEOP_OPEN_PAREN
768 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
769 ;
770
771LGreaterTerm
772 : PARSEOP_LGREATER
773 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LGREATER);}
773 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LGREATER);}
774 TermArg
775 TermArgItem
774 TermArg
775 TermArgItem
776 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
776 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
777 | PARSEOP_LGREATER
778 PARSEOP_OPEN_PAREN
779 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
780 ;
781
782LLessEqualTerm
783 : PARSEOP_LLESSEQUAL
777 | PARSEOP_LGREATER
778 PARSEOP_OPEN_PAREN
779 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
780 ;
781
782LLessEqualTerm
783 : PARSEOP_LLESSEQUAL
784 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LGREATER);}
784 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LGREATER);}
785 TermArg
786 TermArgItem
785 TermArg
786 TermArgItem
787 PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_LNOT, 1,
788 TrLinkChildren ($3,2,$4,$5));}
787 PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_LNOT, 1,
788 TrLinkOpChildren ($<n>3,2,$4,$5));}
789 | PARSEOP_LLESSEQUAL
790 PARSEOP_OPEN_PAREN
791 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
792 ;
793
794LLessTerm
795 : PARSEOP_LLESS
789 | PARSEOP_LLESSEQUAL
790 PARSEOP_OPEN_PAREN
791 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
792 ;
793
794LLessTerm
795 : PARSEOP_LLESS
796 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LLESS);}
796 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LLESS);}
797 TermArg
798 TermArgItem
797 TermArg
798 TermArgItem
799 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
799 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
800 | PARSEOP_LLESS
801 PARSEOP_OPEN_PAREN
802 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
803 ;
804
805LNotEqualTerm
806 : PARSEOP_LNOTEQUAL
800 | PARSEOP_LLESS
801 PARSEOP_OPEN_PAREN
802 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
803 ;
804
805LNotEqualTerm
806 : PARSEOP_LNOTEQUAL
807 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
807 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LEQUAL);}
808 TermArg
809 TermArgItem
808 TermArg
809 TermArgItem
810 PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_LNOT, 1,
811 TrLinkChildren ($3,2,$4,$5));}
810 PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_LNOT, 1,
811 TrLinkOpChildren ($<n>3,2,$4,$5));}
812 | PARSEOP_LNOTEQUAL
813 PARSEOP_OPEN_PAREN
814 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
815 ;
816
817LNotTerm
818 : PARSEOP_LNOT
812 | PARSEOP_LNOTEQUAL
813 PARSEOP_OPEN_PAREN
814 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
815 ;
816
817LNotTerm
818 : PARSEOP_LNOT
819 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LNOT);}
819 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LNOT);}
820 TermArg
820 TermArg
821 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,$4);}
821 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);}
822 | PARSEOP_LNOT
823 PARSEOP_OPEN_PAREN
824 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
825 ;
826
827LoadTableTerm
828 : PARSEOP_LOADTABLE
822 | PARSEOP_LNOT
823 PARSEOP_OPEN_PAREN
824 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
825 ;
826
827LoadTableTerm
828 : PARSEOP_LOADTABLE
829 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LOADTABLE);}
829 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LOADTABLE);}
830 TermArg
831 TermArgItem
832 TermArgItem
833 OptionalListString
834 OptionalListString
835 OptionalReference
830 TermArg
831 TermArgItem
832 TermArgItem
833 OptionalListString
834 OptionalListString
835 OptionalReference
836 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,6,$4,$5,$6,$7,$8,$9);}
836 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$5,$6,$7,$8,$9);}
837 | PARSEOP_LOADTABLE
838 PARSEOP_OPEN_PAREN
839 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
840 ;
841
842LoadTerm
843 : PARSEOP_LOAD
837 | PARSEOP_LOADTABLE
838 PARSEOP_OPEN_PAREN
839 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
840 ;
841
842LoadTerm
843 : PARSEOP_LOAD
844 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LOAD);}
844 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LOAD);}
845 NameString
846 RequiredTarget
845 NameString
846 RequiredTarget
847 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
847 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
848 | PARSEOP_LOAD
849 PARSEOP_OPEN_PAREN
850 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
851 ;
852
853LocalTerm
848 | PARSEOP_LOAD
849 PARSEOP_OPEN_PAREN
850 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
851 ;
852
853LocalTerm
854 : PARSEOP_LOCAL0 {$$ = TrCreateLeafNode (PARSEOP_LOCAL0);}
855 | PARSEOP_LOCAL1 {$$ = TrCreateLeafNode (PARSEOP_LOCAL1);}
856 | PARSEOP_LOCAL2 {$$ = TrCreateLeafNode (PARSEOP_LOCAL2);}
857 | PARSEOP_LOCAL3 {$$ = TrCreateLeafNode (PARSEOP_LOCAL3);}
858 | PARSEOP_LOCAL4 {$$ = TrCreateLeafNode (PARSEOP_LOCAL4);}
859 | PARSEOP_LOCAL5 {$$ = TrCreateLeafNode (PARSEOP_LOCAL5);}
860 | PARSEOP_LOCAL6 {$$ = TrCreateLeafNode (PARSEOP_LOCAL6);}
861 | PARSEOP_LOCAL7 {$$ = TrCreateLeafNode (PARSEOP_LOCAL7);}
854 : PARSEOP_LOCAL0 {$$ = TrCreateLeafOp (PARSEOP_LOCAL0);}
855 | PARSEOP_LOCAL1 {$$ = TrCreateLeafOp (PARSEOP_LOCAL1);}
856 | PARSEOP_LOCAL2 {$$ = TrCreateLeafOp (PARSEOP_LOCAL2);}
857 | PARSEOP_LOCAL3 {$$ = TrCreateLeafOp (PARSEOP_LOCAL3);}
858 | PARSEOP_LOCAL4 {$$ = TrCreateLeafOp (PARSEOP_LOCAL4);}
859 | PARSEOP_LOCAL5 {$$ = TrCreateLeafOp (PARSEOP_LOCAL5);}
860 | PARSEOP_LOCAL6 {$$ = TrCreateLeafOp (PARSEOP_LOCAL6);}
861 | PARSEOP_LOCAL7 {$$ = TrCreateLeafOp (PARSEOP_LOCAL7);}
862 ;
863
864LOrTerm
865 : PARSEOP_LOR
862 ;
863
864LOrTerm
865 : PARSEOP_LOR
866 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LOR);}
866 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LOR);}
867 TermArg
868 TermArgItem
867 TermArg
868 TermArgItem
869 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
869 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
870 | PARSEOP_LOR
871 PARSEOP_OPEN_PAREN
872 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
873 ;
874
875MatchTerm
876 : PARSEOP_MATCH
870 | PARSEOP_LOR
871 PARSEOP_OPEN_PAREN
872 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
873 ;
874
875MatchTerm
876 : PARSEOP_MATCH
877 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MATCH);}
877 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MATCH);}
878 TermArg
879 ',' MatchOpKeyword
880 TermArgItem
881 ',' MatchOpKeyword
882 TermArgItem
883 TermArgItem
878 TermArg
879 ',' MatchOpKeyword
880 TermArgItem
881 ',' MatchOpKeyword
882 TermArgItem
883 TermArgItem
884 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,6,$4,$6,$7,$9,$10,$11);}
884 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$7,$9,$10,$11);}
885 | PARSEOP_MATCH
886 PARSEOP_OPEN_PAREN
887 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
888 ;
889
890MethodTerm
891 : PARSEOP_METHOD
885 | PARSEOP_MATCH
886 PARSEOP_OPEN_PAREN
887 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
888 ;
889
890MethodTerm
891 : PARSEOP_METHOD
892 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_METHOD); COMMENT_CAPTURE_OFF;}
892 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_METHOD); COMMENT_CAPTURE_OFF;}
893 NameString
894 OptionalByteConstExpr {UtCheckIntegerRange ($5, 0, 7);}
895 OptionalSerializeRuleKeyword
896 OptionalByteConstExpr
897 OptionalParameterTypePackage
898 OptionalParameterTypesPackage
899 PARSEOP_CLOSE_PAREN '{' {COMMENT_CAPTURE_ON;}
893 NameString
894 OptionalByteConstExpr {UtCheckIntegerRange ($5, 0, 7);}
895 OptionalSerializeRuleKeyword
896 OptionalByteConstExpr
897 OptionalParameterTypePackage
898 OptionalParameterTypesPackage
899 PARSEOP_CLOSE_PAREN '{' {COMMENT_CAPTURE_ON;}
900 TermList '}' {$$ = TrLinkChildren ($3,7,
901 TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
900 TermList '}' {$$ = TrLinkOpChildren ($<n>3,7,
901 TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),
902 $5,$7,$8,$9,$10,$14);}
903 | PARSEOP_METHOD
904 PARSEOP_OPEN_PAREN
905 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
906 ;
907
908MidTerm
909 : PARSEOP_MID
902 $5,$7,$8,$9,$10,$14);}
903 | PARSEOP_METHOD
904 PARSEOP_OPEN_PAREN
905 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
906 ;
907
908MidTerm
909 : PARSEOP_MID
910 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MID);}
910 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MID);}
911 TermArg
912 TermArgItem
913 TermArgItem
914 Target
911 TermArg
912 TermArgItem
913 TermArgItem
914 Target
915 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,4,$4,$5,$6,$7);}
915 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,$4,$5,$6,$7);}
916 | PARSEOP_MID
917 PARSEOP_OPEN_PAREN
918 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
919 ;
920
921ModTerm
922 : PARSEOP_MOD
916 | PARSEOP_MID
917 PARSEOP_OPEN_PAREN
918 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
919 ;
920
921ModTerm
922 : PARSEOP_MOD
923 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MOD);}
923 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MOD);}
924 TermArg
925 TermArgItem
926 Target
924 TermArg
925 TermArgItem
926 Target
927 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,$6);}
927 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
928 | PARSEOP_MOD
929 PARSEOP_OPEN_PAREN
930 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
931 ;
932
933MultiplyTerm
934 : PARSEOP_MULTIPLY
928 | PARSEOP_MOD
929 PARSEOP_OPEN_PAREN
930 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
931 ;
932
933MultiplyTerm
934 : PARSEOP_MULTIPLY
935 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MULTIPLY);}
935 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MULTIPLY);}
936 TermArg
937 TermArgItem
938 Target
936 TermArg
937 TermArgItem
938 Target
939 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,$6);}
939 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
940 | PARSEOP_MULTIPLY
941 PARSEOP_OPEN_PAREN
942 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
943 ;
944
945MutexTerm
946 : PARSEOP_MUTEX
940 | PARSEOP_MULTIPLY
941 PARSEOP_OPEN_PAREN
942 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
943 ;
944
945MutexTerm
946 : PARSEOP_MUTEX
947 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MUTEX);}
947 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MUTEX);}
948 NameString
949 ',' ByteConstExpr
948 NameString
949 ',' ByteConstExpr
950 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,
951 TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$6);}
950 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,
951 TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$6);}
952 | PARSEOP_MUTEX
953 PARSEOP_OPEN_PAREN
954 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
955 ;
956
957NameTerm
958 : PARSEOP_NAME
952 | PARSEOP_MUTEX
953 PARSEOP_OPEN_PAREN
954 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
955 ;
956
957NameTerm
958 : PARSEOP_NAME
959 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_NAME);}
959 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_NAME);}
960 NameString
961 ',' DataObject
960 NameString
961 ',' DataObject
962 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,
963 TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$6);}
962 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,
963 TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$6);}
964 | PARSEOP_NAME
965 PARSEOP_OPEN_PAREN
966 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
967 ;
968
969NAndTerm
970 : PARSEOP_NAND
964 | PARSEOP_NAME
965 PARSEOP_OPEN_PAREN
966 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
967 ;
968
969NAndTerm
970 : PARSEOP_NAND
971 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_NAND);}
971 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_NAND);}
972 TermArg
973 TermArgItem
974 Target
972 TermArg
973 TermArgItem
974 Target
975 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,$6);}
975 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
976 | PARSEOP_NAND
977 PARSEOP_OPEN_PAREN
978 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
979 ;
980
981NoOpTerm
976 | PARSEOP_NAND
977 PARSEOP_OPEN_PAREN
978 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
979 ;
980
981NoOpTerm
982 : PARSEOP_NOOP {$$ = TrCreateNode (PARSEOP_NOOP, 0);}
982 : PARSEOP_NOOP {$$ = TrCreateOp (PARSEOP_NOOP, 0);}
983 ;
984
985NOrTerm
986 : PARSEOP_NOR
983 ;
984
985NOrTerm
986 : PARSEOP_NOR
987 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_NOR);}
987 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_NOR);}
988 TermArg
989 TermArgItem
990 Target
988 TermArg
989 TermArgItem
990 Target
991 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,$6);}
991 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
992 | PARSEOP_NOR
993 PARSEOP_OPEN_PAREN
994 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
995 ;
996
997NotifyTerm
998 : PARSEOP_NOTIFY
992 | PARSEOP_NOR
993 PARSEOP_OPEN_PAREN
994 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
995 ;
996
997NotifyTerm
998 : PARSEOP_NOTIFY
999 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_NOTIFY);}
999 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_NOTIFY);}
1000 SuperName
1001 TermArgItem
1000 SuperName
1001 TermArgItem
1002 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
1002 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
1003 | PARSEOP_NOTIFY
1004 PARSEOP_OPEN_PAREN
1005 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1006 ;
1007
1008NotTerm
1009 : PARSEOP_NOT
1003 | PARSEOP_NOTIFY
1004 PARSEOP_OPEN_PAREN
1005 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1006 ;
1007
1008NotTerm
1009 : PARSEOP_NOT
1010 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_NOT);}
1010 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_NOT);}
1011 TermArg
1012 Target
1011 TermArg
1012 Target
1013 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
1013 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
1014 | PARSEOP_NOT
1015 PARSEOP_OPEN_PAREN
1016 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1017 ;
1018
1019ObjectTypeTerm
1020 : PARSEOP_OBJECTTYPE
1014 | PARSEOP_NOT
1015 PARSEOP_OPEN_PAREN
1016 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1017 ;
1018
1019ObjectTypeTerm
1020 : PARSEOP_OBJECTTYPE
1021 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE);}
1021 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_OBJECTTYPE);}
1022 ObjectTypeSource
1022 ObjectTypeSource
1023 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,$4);}
1023 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);}
1024 | PARSEOP_OBJECTTYPE
1025 PARSEOP_OPEN_PAREN
1026 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1027 ;
1028
1029OffsetTerm
1030 : PARSEOP_OFFSET
1031 PARSEOP_OPEN_PAREN
1032 AmlPackageLengthTerm
1024 | PARSEOP_OBJECTTYPE
1025 PARSEOP_OPEN_PAREN
1026 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1027 ;
1028
1029OffsetTerm
1030 : PARSEOP_OFFSET
1031 PARSEOP_OPEN_PAREN
1032 AmlPackageLengthTerm
1033 PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_OFFSET,1,$3);}
1033 PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_OFFSET,1,$3);}
1034 | PARSEOP_OFFSET
1035 PARSEOP_OPEN_PAREN
1036 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1037 ;
1038
1039OpRegionTerm
1040 : PARSEOP_OPERATIONREGION
1034 | PARSEOP_OFFSET
1035 PARSEOP_OPEN_PAREN
1036 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1037 ;
1038
1039OpRegionTerm
1040 : PARSEOP_OPERATIONREGION
1041 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_OPERATIONREGION);}
1041 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_OPERATIONREGION);}
1042 NameString
1043 ',' OpRegionSpaceIdTerm
1044 TermArgItem
1045 TermArgItem
1042 NameString
1043 ',' OpRegionSpaceIdTerm
1044 TermArgItem
1045 TermArgItem
1046 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,4,
1047 TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
1046 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,
1047 TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),
1048 $6,$7,$8);}
1049 | PARSEOP_OPERATIONREGION
1050 PARSEOP_OPEN_PAREN
1051 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1052 ;
1053
1054OpRegionSpaceIdTerm
1055 : RegionSpaceKeyword {}
1056 | ByteConst {$$ = UtCheckIntegerRange ($1, 0x80, 0xFF);}
1057 ;
1058
1059OrTerm
1060 : PARSEOP_OR
1048 $6,$7,$8);}
1049 | PARSEOP_OPERATIONREGION
1050 PARSEOP_OPEN_PAREN
1051 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1052 ;
1053
1054OpRegionSpaceIdTerm
1055 : RegionSpaceKeyword {}
1056 | ByteConst {$$ = UtCheckIntegerRange ($1, 0x80, 0xFF);}
1057 ;
1058
1059OrTerm
1060 : PARSEOP_OR
1061 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_OR);}
1061 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_OR);}
1062 TermArg
1063 TermArgItem
1064 Target
1062 TermArg
1063 TermArgItem
1064 Target
1065 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,$6);}
1065 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
1066 | PARSEOP_OR
1067 PARSEOP_OPEN_PAREN
1068 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1069 ;
1070
1071PackageTerm
1066 | PARSEOP_OR
1067 PARSEOP_OPEN_PAREN
1068 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1069 ;
1070
1071PackageTerm
1072 : PARSEOP_PACKAGE {$<n>$ = TrCreateLeafNode (PARSEOP_VAR_PACKAGE);}
1072 : PARSEOP_PACKAGE {$<n>$ = TrCreateLeafOp (PARSEOP_VAR_PACKAGE);}
1073 OptionalDataCount
1073 OptionalDataCount
1074 '{' PackageList '}' {$$ = TrLinkChildren ($2,2,$3,$5);}
1074 '{' PackageList '}' {$$ = TrLinkOpChildren ($<n>2,2,$3,$5);}
1075
1076PowerResTerm
1077 : PARSEOP_POWERRESOURCE
1075
1076PowerResTerm
1077 : PARSEOP_POWERRESOURCE
1078 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_POWERRESOURCE);}
1078 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_POWERRESOURCE);}
1079 NameString
1080 ',' ByteConstExpr
1081 ',' WordConstExpr
1082 PARSEOP_CLOSE_PAREN '{'
1079 NameString
1080 ',' ByteConstExpr
1081 ',' WordConstExpr
1082 PARSEOP_CLOSE_PAREN '{'
1083 TermList '}' {$$ = TrLinkChildren ($3,4,
1084 TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
1083 TermList '}' {$$ = TrLinkOpChildren ($<n>3,4,
1084 TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),
1085 $6,$8,$11);}
1086 | PARSEOP_POWERRESOURCE
1087 PARSEOP_OPEN_PAREN
1088 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1089 ;
1090
1091PrintfTerm
1092 : PARSEOP_PRINTF
1085 $6,$8,$11);}
1086 | PARSEOP_POWERRESOURCE
1087 PARSEOP_OPEN_PAREN
1088 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1089 ;
1090
1091PrintfTerm
1092 : PARSEOP_PRINTF
1093 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_PRINTF);}
1093 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PRINTF);}
1094 StringData
1095 PrintfArgList
1094 StringData
1095 PrintfArgList
1096 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
1096 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
1097 | PARSEOP_PRINTF
1098 PARSEOP_OPEN_PAREN
1099 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1100 ;
1101
1102PrintfArgList
1103 : {$$ = NULL;}
1104 | TermArg {$$ = $1;}
1105 | PrintfArgList ','
1097 | PARSEOP_PRINTF
1098 PARSEOP_OPEN_PAREN
1099 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1100 ;
1101
1102PrintfArgList
1103 : {$$ = NULL;}
1104 | TermArg {$$ = $1;}
1105 | PrintfArgList ','
1106 TermArg {$$ = TrLinkPeerNode ($1, $3);}
1106 TermArg {$$ = TrLinkPeerOp ($1, $3);}
1107 ;
1108
1109ProcessorTerm
1110 : PARSEOP_PROCESSOR
1107 ;
1108
1109ProcessorTerm
1110 : PARSEOP_PROCESSOR
1111 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_PROCESSOR);}
1111 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PROCESSOR);}
1112 NameString
1113 ',' ByteConstExpr
1114 OptionalDWordConstExpr
1115 OptionalByteConstExpr
1116 PARSEOP_CLOSE_PAREN '{'
1112 NameString
1113 ',' ByteConstExpr
1114 OptionalDWordConstExpr
1115 OptionalByteConstExpr
1116 PARSEOP_CLOSE_PAREN '{'
1117 TermList '}' {$$ = TrLinkChildren ($3,5,
1118 TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
1117 TermList '}' {$$ = TrLinkOpChildren ($<n>3,5,
1118 TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),
1119 $6,$7,$8,$11);}
1120 | PARSEOP_PROCESSOR
1121 PARSEOP_OPEN_PAREN
1122 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1123 ;
1124
1125RawDataBufferTerm
1126 : PARSEOP_DATABUFFER
1119 $6,$7,$8,$11);}
1120 | PARSEOP_PROCESSOR
1121 PARSEOP_OPEN_PAREN
1122 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1123 ;
1124
1125RawDataBufferTerm
1126 : PARSEOP_DATABUFFER
1127 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DATABUFFER);}
1127 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DATABUFFER);}
1128 OptionalWordConst
1129 PARSEOP_CLOSE_PAREN '{'
1128 OptionalWordConst
1129 PARSEOP_CLOSE_PAREN '{'
1130 ByteList '}' {$$ = TrLinkChildren ($3,2,$4,$7);}
1130 ByteList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
1131 | PARSEOP_DATABUFFER
1132 PARSEOP_OPEN_PAREN
1133 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1134 ;
1135
1136/*
1137 * In RefOf, the node isn't really a target, but we can't keep track of it after
1138 * we've taken a pointer to it. (hard to tell if a local becomes initialized this way.)
1139 */
1140RefOfTerm
1141 : PARSEOP_REFOF
1131 | PARSEOP_DATABUFFER
1132 PARSEOP_OPEN_PAREN
1133 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1134 ;
1135
1136/*
1137 * In RefOf, the node isn't really a target, but we can't keep track of it after
1138 * we've taken a pointer to it. (hard to tell if a local becomes initialized this way.)
1139 */
1140RefOfTerm
1141 : PARSEOP_REFOF
1142 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_REFOF);}
1142 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_REFOF);}
1143 RefOfSource
1143 RefOfSource
1144 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,
1145 TrSetNodeFlags ($4, NODE_IS_TARGET));}
1144 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,
1145 TrSetOpFlags ($4, OP_IS_TARGET));}
1146 | PARSEOP_REFOF
1147 PARSEOP_OPEN_PAREN
1148 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1149 ;
1150
1151ReleaseTerm
1152 : PARSEOP_RELEASE
1146 | PARSEOP_REFOF
1147 PARSEOP_OPEN_PAREN
1148 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1149 ;
1150
1151ReleaseTerm
1152 : PARSEOP_RELEASE
1153 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_RELEASE);}
1153 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_RELEASE);}
1154 SuperName
1154 SuperName
1155 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,$4);}
1155 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);}
1156 | PARSEOP_RELEASE
1157 PARSEOP_OPEN_PAREN
1158 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1159 ;
1160
1161ResetTerm
1162 : PARSEOP_RESET
1156 | PARSEOP_RELEASE
1157 PARSEOP_OPEN_PAREN
1158 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1159 ;
1160
1161ResetTerm
1162 : PARSEOP_RESET
1163 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_RESET);}
1163 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_RESET);}
1164 SuperName
1164 SuperName
1165 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,$4);}
1165 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);}
1166 | PARSEOP_RESET
1167 PARSEOP_OPEN_PAREN
1168 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1169 ;
1170
1171ReturnTerm
1172 : PARSEOP_RETURN
1166 | PARSEOP_RESET
1167 PARSEOP_OPEN_PAREN
1168 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1169 ;
1170
1171ReturnTerm
1172 : PARSEOP_RETURN
1173 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_RETURN);}
1173 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_RETURN);}
1174 OptionalReturnArg
1174 OptionalReturnArg
1175 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,$4);}
1176 | PARSEOP_RETURN {$$ = TrLinkChildren (
1177 TrCreateLeafNode (PARSEOP_RETURN),1,
1178 TrSetNodeFlags (TrCreateLeafNode (PARSEOP_ZERO),
1179 NODE_IS_NULL_RETURN));}
1175 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);}
1176 | PARSEOP_RETURN {$$ = TrLinkOpChildren (
1177 TrCreateLeafOp (PARSEOP_RETURN),1,
1178 TrSetOpFlags (TrCreateLeafOp (PARSEOP_ZERO),
1179 OP_IS_NULL_RETURN));}
1180 | PARSEOP_RETURN
1181 PARSEOP_OPEN_PAREN
1182 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1183 ;
1184
1185ScopeTerm
1186 : PARSEOP_SCOPE
1180 | PARSEOP_RETURN
1181 PARSEOP_OPEN_PAREN
1182 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1183 ;
1184
1185ScopeTerm
1186 : PARSEOP_SCOPE
1187 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SCOPE);}
1187 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SCOPE);}
1188 NameString
1189 PARSEOP_CLOSE_PAREN '{'
1188 NameString
1189 PARSEOP_CLOSE_PAREN '{'
1190 TermList '}' {$$ = TrLinkChildren ($3,2,
1191 TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
1190 TermList '}' {$$ = TrLinkOpChildren ($<n>3,2,
1191 TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$7);}
1192 | PARSEOP_SCOPE
1193 PARSEOP_OPEN_PAREN
1194 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1195 ;
1196
1197ShiftLeftTerm
1198 : PARSEOP_SHIFTLEFT
1192 | PARSEOP_SCOPE
1193 PARSEOP_OPEN_PAREN
1194 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1195 ;
1196
1197ShiftLeftTerm
1198 : PARSEOP_SHIFTLEFT
1199 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTLEFT);}
1199 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SHIFTLEFT);}
1200 TermArg
1201 TermArgItem
1202 Target
1200 TermArg
1201 TermArgItem
1202 Target
1203 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,$6);}
1203 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
1204 | PARSEOP_SHIFTLEFT
1205 PARSEOP_OPEN_PAREN
1206 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1207 ;
1208
1209ShiftRightTerm
1210 : PARSEOP_SHIFTRIGHT
1204 | PARSEOP_SHIFTLEFT
1205 PARSEOP_OPEN_PAREN
1206 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1207 ;
1208
1209ShiftRightTerm
1210 : PARSEOP_SHIFTRIGHT
1211 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTRIGHT);}
1211 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SHIFTRIGHT);}
1212 TermArg
1213 TermArgItem
1214 Target
1212 TermArg
1213 TermArgItem
1214 Target
1215 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,$6);}
1215 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
1216 | PARSEOP_SHIFTRIGHT
1217 PARSEOP_OPEN_PAREN
1218 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1219 ;
1220
1221SignalTerm
1222 : PARSEOP_SIGNAL
1216 | PARSEOP_SHIFTRIGHT
1217 PARSEOP_OPEN_PAREN
1218 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1219 ;
1220
1221SignalTerm
1222 : PARSEOP_SIGNAL
1223 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SIGNAL);}
1223 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SIGNAL);}
1224 SuperName
1224 SuperName
1225 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,$4);}
1225 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);}
1226 | PARSEOP_SIGNAL
1227 PARSEOP_OPEN_PAREN
1228 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1229 ;
1230
1231SizeOfTerm
1232 : PARSEOP_SIZEOF
1226 | PARSEOP_SIGNAL
1227 PARSEOP_OPEN_PAREN
1228 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1229 ;
1230
1231SizeOfTerm
1232 : PARSEOP_SIZEOF
1233 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SIZEOF);}
1233 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SIZEOF);}
1234 SuperName
1234 SuperName
1235 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,$4);}
1235 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);}
1236 | PARSEOP_SIZEOF
1237 PARSEOP_OPEN_PAREN
1238 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1239 ;
1240
1241SleepTerm
1242 : PARSEOP_SLEEP
1236 | PARSEOP_SIZEOF
1237 PARSEOP_OPEN_PAREN
1238 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1239 ;
1240
1241SleepTerm
1242 : PARSEOP_SLEEP
1243 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SLEEP);}
1243 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SLEEP);}
1244 TermArg
1244 TermArg
1245 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,$4);}
1245 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);}
1246 | PARSEOP_SLEEP
1247 PARSEOP_OPEN_PAREN
1248 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1249 ;
1250
1251StallTerm
1252 : PARSEOP_STALL
1246 | PARSEOP_SLEEP
1247 PARSEOP_OPEN_PAREN
1248 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1249 ;
1250
1251StallTerm
1252 : PARSEOP_STALL
1253 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_STALL);}
1253 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_STALL);}
1254 TermArg
1254 TermArg
1255 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,$4);}
1255 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);}
1256 | PARSEOP_STALL
1257 PARSEOP_OPEN_PAREN
1258 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1259 ;
1260
1261StoreTerm
1262 : PARSEOP_STORE
1256 | PARSEOP_STALL
1257 PARSEOP_OPEN_PAREN
1258 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1259 ;
1260
1261StoreTerm
1262 : PARSEOP_STORE
1263 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_STORE);}
1263 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_STORE);}
1264 TermArg
1265 ',' SuperName
1264 TermArg
1265 ',' SuperName
1266 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,
1267 TrSetNodeFlags ($6, NODE_IS_TARGET));}
1266 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,
1267 TrSetOpFlags ($6, OP_IS_TARGET));}
1268 | PARSEOP_STORE
1269 PARSEOP_OPEN_PAREN
1270 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1271 ;
1272
1273SubtractTerm
1274 : PARSEOP_SUBTRACT
1268 | PARSEOP_STORE
1269 PARSEOP_OPEN_PAREN
1270 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1271 ;
1272
1273SubtractTerm
1274 : PARSEOP_SUBTRACT
1275 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SUBTRACT);}
1275 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SUBTRACT);}
1276 TermArg
1277 TermArgItem
1278 Target
1276 TermArg
1277 TermArgItem
1278 Target
1279 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,$6);}
1279 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
1280 | PARSEOP_SUBTRACT
1281 PARSEOP_OPEN_PAREN
1282 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1283 ;
1284
1285SwitchTerm
1286 : PARSEOP_SWITCH
1280 | PARSEOP_SUBTRACT
1281 PARSEOP_OPEN_PAREN
1282 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1283 ;
1284
1285SwitchTerm
1286 : PARSEOP_SWITCH
1287 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SWITCH);}
1287 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SWITCH);}
1288 TermArg
1289 PARSEOP_CLOSE_PAREN '{'
1288 TermArg
1289 PARSEOP_CLOSE_PAREN '{'
1290 CaseDefaultTermList '}' {$$ = TrLinkChildren ($3,2,$4,$7);}
1290 CaseDefaultTermList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
1291 | PARSEOP_SWITCH
1292 PARSEOP_OPEN_PAREN
1293 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1294 ;
1295
1296ThermalZoneTerm
1297 : PARSEOP_THERMALZONE
1291 | PARSEOP_SWITCH
1292 PARSEOP_OPEN_PAREN
1293 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1294 ;
1295
1296ThermalZoneTerm
1297 : PARSEOP_THERMALZONE
1298 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_THERMALZONE);}
1298 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_THERMALZONE);}
1299 NameString
1300 PARSEOP_CLOSE_PAREN '{'
1299 NameString
1300 PARSEOP_CLOSE_PAREN '{'
1301 TermList '}' {$$ = TrLinkChildren ($3,2,
1302 TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
1301 TermList '}' {$$ = TrLinkOpChildren ($<n>3,2,
1302 TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$7);}
1303 | PARSEOP_THERMALZONE
1304 PARSEOP_OPEN_PAREN
1305 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1306 ;
1307
1308TimerTerm
1309 : PARSEOP_TIMER
1303 | PARSEOP_THERMALZONE
1304 PARSEOP_OPEN_PAREN
1305 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1306 ;
1307
1308TimerTerm
1309 : PARSEOP_TIMER
1310 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TIMER);}
1311 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,0);}
1312 | PARSEOP_TIMER {$$ = TrLinkChildren (
1313 TrCreateLeafNode (PARSEOP_TIMER),0);}
1310 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TIMER);}
1311 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,0);}
1312 | PARSEOP_TIMER {$$ = TrLinkOpChildren (
1313 TrCreateLeafOp (PARSEOP_TIMER),0);}
1314 | PARSEOP_TIMER
1315 PARSEOP_OPEN_PAREN
1316 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1317 ;
1318
1319ToBCDTerm
1320 : PARSEOP_TOBCD
1314 | PARSEOP_TIMER
1315 PARSEOP_OPEN_PAREN
1316 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1317 ;
1318
1319ToBCDTerm
1320 : PARSEOP_TOBCD
1321 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TOBCD);}
1321 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOBCD);}
1322 TermArg
1323 Target
1322 TermArg
1323 Target
1324 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
1324 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
1325 | PARSEOP_TOBCD
1326 PARSEOP_OPEN_PAREN
1327 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1328 ;
1329
1330ToBufferTerm
1331 : PARSEOP_TOBUFFER
1325 | PARSEOP_TOBCD
1326 PARSEOP_OPEN_PAREN
1327 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1328 ;
1329
1330ToBufferTerm
1331 : PARSEOP_TOBUFFER
1332 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TOBUFFER);}
1332 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOBUFFER);}
1333 TermArg
1334 Target
1333 TermArg
1334 Target
1335 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
1335 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
1336 | PARSEOP_TOBUFFER
1337 PARSEOP_OPEN_PAREN
1338 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1339 ;
1340
1341ToDecimalStringTerm
1342 : PARSEOP_TODECIMALSTRING
1336 | PARSEOP_TOBUFFER
1337 PARSEOP_OPEN_PAREN
1338 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1339 ;
1340
1341ToDecimalStringTerm
1342 : PARSEOP_TODECIMALSTRING
1343 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TODECIMALSTRING);}
1343 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TODECIMALSTRING);}
1344 TermArg
1345 Target
1344 TermArg
1345 Target
1346 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
1346 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
1347 | PARSEOP_TODECIMALSTRING
1348 PARSEOP_OPEN_PAREN
1349 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1350 ;
1351
1352ToHexStringTerm
1353 : PARSEOP_TOHEXSTRING
1347 | PARSEOP_TODECIMALSTRING
1348 PARSEOP_OPEN_PAREN
1349 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1350 ;
1351
1352ToHexStringTerm
1353 : PARSEOP_TOHEXSTRING
1354 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TOHEXSTRING);}
1354 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOHEXSTRING);}
1355 TermArg
1356 Target
1355 TermArg
1356 Target
1357 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
1357 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
1358 | PARSEOP_TOHEXSTRING
1359 PARSEOP_OPEN_PAREN
1360 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1361 ;
1362
1363ToIntegerTerm
1364 : PARSEOP_TOINTEGER
1358 | PARSEOP_TOHEXSTRING
1359 PARSEOP_OPEN_PAREN
1360 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1361 ;
1362
1363ToIntegerTerm
1364 : PARSEOP_TOINTEGER
1365 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TOINTEGER);}
1365 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOINTEGER);}
1366 TermArg
1367 Target
1366 TermArg
1367 Target
1368 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
1368 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
1369 | PARSEOP_TOINTEGER
1370 PARSEOP_OPEN_PAREN
1371 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1372 ;
1373
1374ToPLDTerm
1375 : PARSEOP_TOPLD
1369 | PARSEOP_TOINTEGER
1370 PARSEOP_OPEN_PAREN
1371 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1372 ;
1373
1374ToPLDTerm
1375 : PARSEOP_TOPLD
1376 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TOPLD);}
1376 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOPLD);}
1377 PldKeywordList
1377 PldKeywordList
1378 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,$4);}
1378 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);}
1379 | PARSEOP_TOPLD
1380 PARSEOP_OPEN_PAREN
1381 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1382 ;
1383
1384PldKeywordList
1385 : {$$ = NULL;}
1386 | PldKeyword
1379 | PARSEOP_TOPLD
1380 PARSEOP_OPEN_PAREN
1381 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1382 ;
1383
1384PldKeywordList
1385 : {$$ = NULL;}
1386 | PldKeyword
1387 PARSEOP_EXP_EQUALS Integer {$$ = TrLinkChildren ($1,1,$3);}
1387 PARSEOP_EXP_EQUALS Integer {$$ = TrLinkOpChildren ($1,1,$3);}
1388 | PldKeyword
1388 | PldKeyword
1389 PARSEOP_EXP_EQUALS String {$$ = TrLinkChildren ($1,1,$3);}
1389 PARSEOP_EXP_EQUALS String {$$ = TrLinkOpChildren ($1,1,$3);}
1390 | PldKeywordList ',' /* Allows a trailing comma at list end */
1391 | PldKeywordList ','
1392 PldKeyword
1390 | PldKeywordList ',' /* Allows a trailing comma at list end */
1391 | PldKeywordList ','
1392 PldKeyword
1393 PARSEOP_EXP_EQUALS Integer {$$ = TrLinkPeerNode ($1,TrLinkChildren ($3,1,$5));}
1393 PARSEOP_EXP_EQUALS Integer {$$ = TrLinkPeerOp ($1,TrLinkOpChildren ($3,1,$5));}
1394 | PldKeywordList ','
1395 PldKeyword
1394 | PldKeywordList ','
1395 PldKeyword
1396 PARSEOP_EXP_EQUALS String {$$ = TrLinkPeerNode ($1,TrLinkChildren ($3,1,$5));}
1396 PARSEOP_EXP_EQUALS String {$$ = TrLinkPeerOp ($1,TrLinkOpChildren ($3,1,$5));}
1397 ;
1398
1399
1400ToStringTerm
1401 : PARSEOP_TOSTRING
1397 ;
1398
1399
1400ToStringTerm
1401 : PARSEOP_TOSTRING
1402 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TOSTRING);}
1402 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOSTRING);}
1403 TermArg
1404 OptionalCount
1405 Target
1403 TermArg
1404 OptionalCount
1405 Target
1406 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,$6);}
1406 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
1407 | PARSEOP_TOSTRING
1408 PARSEOP_OPEN_PAREN
1409 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1410 ;
1411
1412ToUUIDTerm
1413 : PARSEOP_TOUUID
1414 PARSEOP_OPEN_PAREN
1415 StringData
1407 | PARSEOP_TOSTRING
1408 PARSEOP_OPEN_PAREN
1409 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1410 ;
1411
1412ToUUIDTerm
1413 : PARSEOP_TOUUID
1414 PARSEOP_OPEN_PAREN
1415 StringData
1416 PARSEOP_CLOSE_PAREN {$$ = TrUpdateNode (PARSEOP_TOUUID, $3);}
1416 PARSEOP_CLOSE_PAREN {$$ = TrSetOpIntegerValue (PARSEOP_TOUUID, $3);}
1417 | PARSEOP_TOUUID
1418 PARSEOP_OPEN_PAREN
1419 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1420 ;
1421
1422UnicodeTerm
1423 : PARSEOP_UNICODE
1417 | PARSEOP_TOUUID
1418 PARSEOP_OPEN_PAREN
1419 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1420 ;
1421
1422UnicodeTerm
1423 : PARSEOP_UNICODE
1424 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_UNICODE);}
1424 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_UNICODE);}
1425 StringData
1425 StringData
1426 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,0,$4);}
1426 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,0,$4);}
1427 | PARSEOP_UNICODE
1428 PARSEOP_OPEN_PAREN
1429 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1430 ;
1431
1432UnloadTerm
1433 : PARSEOP_UNLOAD
1427 | PARSEOP_UNICODE
1428 PARSEOP_OPEN_PAREN
1429 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1430 ;
1431
1432UnloadTerm
1433 : PARSEOP_UNLOAD
1434 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_UNLOAD);}
1434 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_UNLOAD);}
1435 SuperName
1435 SuperName
1436 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,1,$4);}
1436 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);}
1437 | PARSEOP_UNLOAD
1438 PARSEOP_OPEN_PAREN
1439 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1440 ;
1441
1442WaitTerm
1443 : PARSEOP_WAIT
1437 | PARSEOP_UNLOAD
1438 PARSEOP_OPEN_PAREN
1439 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1440 ;
1441
1442WaitTerm
1443 : PARSEOP_WAIT
1444 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_WAIT);}
1444 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WAIT);}
1445 SuperName
1446 TermArgItem
1445 SuperName
1446 TermArgItem
1447 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,2,$4,$5);}
1447 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
1448 | PARSEOP_WAIT
1449 PARSEOP_OPEN_PAREN
1450 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1451 ;
1452
1453XOrTerm
1454 : PARSEOP_XOR
1448 | PARSEOP_WAIT
1449 PARSEOP_OPEN_PAREN
1450 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1451 ;
1452
1453XOrTerm
1454 : PARSEOP_XOR
1455 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_XOR);}
1455 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_XOR);}
1456 TermArg
1457 TermArgItem
1458 Target
1456 TermArg
1457 TermArgItem
1458 Target
1459 PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($3,3,$4,$5,$6);}
1459 PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
1460 | PARSEOP_XOR
1461 PARSEOP_OPEN_PAREN
1462 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1463 ;
1464
1465WhileTerm
1466 : PARSEOP_WHILE
1460 | PARSEOP_XOR
1461 PARSEOP_OPEN_PAREN
1462 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1463 ;
1464
1465WhileTerm
1466 : PARSEOP_WHILE
1467 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_WHILE);}
1467 PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WHILE);}
1468 TermArg
1469 PARSEOP_CLOSE_PAREN
1468 TermArg
1469 PARSEOP_CLOSE_PAREN
1470 '{' TermList '}' {$$ = TrLinkChildren ($3,2,$4,$7);}
1470 '{' TermList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
1471 | PARSEOP_WHILE
1472 PARSEOP_OPEN_PAREN
1473 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1474 ;
1471 | PARSEOP_WHILE
1472 PARSEOP_OPEN_PAREN
1473 error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
1474 ;