2 /******************************************************************************
4 * Module Name: aslresources.y - Bison/Yacc production rules for resources
6 *****************************************************************************/
9 * Copyright (C) 2000 - 2016, Intel Corp.
10 * All rights reserved.
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
15 * 1. Redistributions of source code must retain the above copyright
16 * notice, this list of conditions, and the following disclaimer,
17 * without modification.
18 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
19 * substantially similar to the "NO WARRANTY" disclaimer below
20 * ("Disclaimer") and any redistribution must be conditioned upon
21 * including a substantially similar Disclaimer requirement for further
22 * binary redistribution.
23 * 3. Neither the names of the above-listed copyright holders nor the names
24 * of any contributors may be used to endorse or promote products derived
25 * from this software without specific prior written permission.
27 * Alternatively, this software may be distributed under the terms of the
28 * GNU General Public License ("GPL") version 2 as published by the Free
29 * Software Foundation.
32 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
33 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
34 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
35 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
36 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
37 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
38 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
40 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
41 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
42 * POSSIBILITY OF SUCH DAMAGES.
48 /*******************************************************************************
50 * ASL Resource Template Terms
52 ******************************************************************************/
55 * Note: Create two default nodes to allow conversion to a Buffer AML opcode
56 * Also, insert the EndTag at the end of the template.
59 : PARSEOP_RESOURCETEMPLATE OptionalParentheses
61 ResourceMacroList '}' {$$ = TrCreateNode (PARSEOP_RESOURCETEMPLATE,4,
62 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
63 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
65 TrCreateLeafNode (PARSEOP_ENDTAG));}
70 | '(' ')' {$$ = NULL;}
76 ResourceMacroTerm {$$ = TrLinkPeerNode ($1,$2);}
84 | EndDependentFnTerm {}
86 | ExtendedMemoryTerm {}
87 | ExtendedSpaceTerm {}
93 | I2cSerialBusTermV2 {}
99 | Memory32FixedTerm {}
105 | SpiSerialBusTerm {}
106 | SpiSerialBusTermV2 {}
107 | StartDependentFnNoPriTerm {}
108 | StartDependentFnTerm {}
109 | UartSerialBusTerm {}
110 | UartSerialBusTermV2 {}
113 | WordBusNumberTerm {}
119 : PARSEOP_DMA '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DMA);}
121 OptionalBusMasterKeyword
123 OptionalNameString_Last
125 ByteList '}' {$$ = TrLinkChildren ($<n>3,5,$4,$5,$7,$8,$11);}
127 error ')' {$$ = AslDoError(); yyclearin;}
131 : PARSEOP_DWORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDIO);}
132 OptionalResourceType_First
142 OptionalByteConstExpr
146 OptionalTranslationType_Last
147 ')' {$$ = TrLinkChildren ($<n>3,15,
148 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
149 | PARSEOP_DWORDIO '('
150 error ')' {$$ = AslDoError(); yyclearin;}
154 : PARSEOP_DWORDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDMEMORY);}
155 OptionalResourceType_First
160 ',' OptionalReadWriteKeyword
166 OptionalByteConstExpr
171 ')' {$$ = TrLinkChildren ($<n>3,16,
172 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
173 | PARSEOP_DWORDMEMORY '('
174 error ')' {$$ = AslDoError(); yyclearin;}
178 : PARSEOP_DWORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDSPACE);}
179 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
190 OptionalByteConstExpr
192 OptionalNameString_Last
193 ')' {$$ = TrLinkChildren ($<n>3,14,
194 $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
195 | PARSEOP_DWORDSPACE '('
196 error ')' {$$ = AslDoError(); yyclearin;}
200 : PARSEOP_ENDDEPENDENTFN '('
201 ')' {$$ = TrCreateLeafNode (PARSEOP_ENDDEPENDENTFN);}
202 | PARSEOP_ENDDEPENDENTFN '('
203 error ')' {$$ = AslDoError(); yyclearin;}
207 : PARSEOP_EXTENDEDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDIO);}
208 OptionalResourceType_First
218 OptionalQWordConstExpr
221 OptionalTranslationType_Last
222 ')' {$$ = TrLinkChildren ($<n>3,14,
223 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);}
224 | PARSEOP_EXTENDEDIO '('
225 error ')' {$$ = AslDoError(); yyclearin;}
229 : PARSEOP_EXTENDEDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDMEMORY);}
230 OptionalResourceType_First
235 ',' OptionalReadWriteKeyword
241 OptionalQWordConstExpr
245 ')' {$$ = TrLinkChildren ($<n>3,15,
246 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);}
247 | PARSEOP_EXTENDEDMEMORY '('
248 error ')' {$$ = AslDoError(); yyclearin;}
252 : PARSEOP_EXTENDEDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDSPACE);}
253 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
264 OptionalQWordConstExpr
265 OptionalNameString_Last
266 ')' {$$ = TrLinkChildren ($<n>3,13,
267 $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);}
268 | PARSEOP_EXTENDEDSPACE '('
269 error ')' {$$ = AslDoError(); yyclearin;}
273 : PARSEOP_FIXEDDMA '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDDMA);}
274 WordConstExpr /* 04: DMA RequestLines */
275 ',' WordConstExpr /* 06: DMA Channels */
276 OptionalXferSize /* 07: DMA TransferSize */
277 OptionalNameString /* 08: DescriptorName */
278 ')' {$$ = TrLinkChildren ($<n>3,4,$4,$6,$7,$8);}
279 | PARSEOP_FIXEDDMA '('
280 error ')' {$$ = AslDoError(); yyclearin;}
284 : PARSEOP_FIXEDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDIO);}
287 OptionalNameString_Last
288 ')' {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
289 | PARSEOP_FIXEDIO '('
290 error ')' {$$ = AslDoError(); yyclearin;}
294 : PARSEOP_GPIO_INT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_INT);}
295 InterruptTypeKeyword /* 04: InterruptType */
296 ',' InterruptLevel /* 06: InterruptLevel */
297 OptionalShareType /* 07: SharedType */
298 ',' PinConfigByte /* 09: PinConfig */
299 OptionalWordConstExpr /* 10: DebounceTimeout */
300 ',' StringData /* 12: ResourceSource */
301 OptionalByteConstExpr /* 13: ResourceSourceIndex */
302 OptionalResourceType /* 14: ResourceType */
303 OptionalNameString /* 15: DescriptorName */
304 OptionalBuffer_Last /* 16: VendorData */
306 DWordConstExpr '}' {$$ = TrLinkChildren ($<n>3,11,
307 $4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);}
308 | PARSEOP_GPIO_INT '('
309 error ')' {$$ = AslDoError(); yyclearin;}
313 : PARSEOP_GPIO_IO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_IO);}
314 OptionalShareType_First /* 04: SharedType */
315 ',' PinConfigByte /* 06: PinConfig */
316 OptionalWordConstExpr /* 07: DebounceTimeout */
317 OptionalWordConstExpr /* 08: DriveStrength */
318 OptionalIoRestriction /* 09: IoRestriction */
319 ',' StringData /* 11: ResourceSource */
320 OptionalByteConstExpr /* 12: ResourceSourceIndex */
321 OptionalResourceType /* 13: ResourceType */
322 OptionalNameString /* 14: DescriptorName */
323 OptionalBuffer_Last /* 15: VendorData */
325 DWordList '}' {$$ = TrLinkChildren ($<n>3,11,
326 $4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);}
327 | PARSEOP_GPIO_IO '('
328 error ')' {$$ = AslDoError(); yyclearin;}
332 : PARSEOP_I2C_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS);}
333 WordConstExpr /* 04: SlaveAddress */
334 OptionalSlaveMode /* 05: SlaveMode */
335 ',' DWordConstExpr /* 07: ConnectionSpeed */
336 OptionalAddressingMode /* 08: AddressingMode */
337 ',' StringData /* 10: ResourceSource */
338 OptionalByteConstExpr /* 11: ResourceSourceIndex */
339 OptionalResourceType /* 12: ResourceType */
340 OptionalNameString /* 13: DescriptorName */
341 OptionalBuffer_Last /* 14: VendorData */
342 ')' {$$ = TrLinkChildren ($<n>3,10,
343 $4,$5,$7,$8,$10,$11,$12,$13,
344 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$14);}
345 | PARSEOP_I2C_SERIALBUS '('
346 error ')' {$$ = AslDoError(); yyclearin;}
350 : PARSEOP_I2C_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS_V2);}
351 WordConstExpr /* 04: SlaveAddress */
352 OptionalSlaveMode /* 05: SlaveMode */
353 ',' DWordConstExpr /* 07: ConnectionSpeed */
354 OptionalAddressingMode /* 08: AddressingMode */
355 ',' StringData /* 10: ResourceSource */
356 OptionalByteConstExpr /* 11: ResourceSourceIndex */
357 OptionalResourceType /* 12: ResourceType */
358 OptionalNameString /* 13: DescriptorName */
359 OptionalShareType /* 14: Share */
360 OptionalBuffer_Last /* 15: VendorData */
361 ')' {$$ = TrLinkChildren ($<n>3,10,
362 $4,$5,$7,$8,$10,$11,$12,$13,$14,$15);}
363 | PARSEOP_I2C_SERIALBUS_V2 '('
364 error ')' {$$ = AslDoError(); yyclearin;}
368 : PARSEOP_INTERRUPT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_INTERRUPT);}
369 OptionalResourceType_First
370 ',' InterruptTypeKeyword
373 OptionalByteConstExpr
375 OptionalNameString_Last
377 DWordList '}' {$$ = TrLinkChildren ($<n>3,8,
378 $4,$6,$8,$9,$10,$11,$12,$15);}
379 | PARSEOP_INTERRUPT '('
380 error ')' {$$ = AslDoError(); yyclearin;}
384 : PARSEOP_IO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IO);}
390 OptionalNameString_Last
391 ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
393 error ')' {$$ = AslDoError(); yyclearin;}
397 : PARSEOP_IRQNOFLAGS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IRQNOFLAGS);}
398 OptionalNameString_First
400 ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
401 | PARSEOP_IRQNOFLAGS '('
402 error ')' {$$ = AslDoError(); yyclearin;}
406 : PARSEOP_IRQ '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IRQ);}
410 OptionalNameString_Last
412 ByteList '}' {$$ = TrLinkChildren ($<n>3,5,$4,$6,$7,$8,$11);}
414 error ')' {$$ = AslDoError(); yyclearin;}
418 : PARSEOP_MEMORY24 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY24);}
419 OptionalReadWriteKeyword
424 OptionalNameString_Last
425 ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
426 | PARSEOP_MEMORY24 '('
427 error ')' {$$ = AslDoError(); yyclearin;}
431 : PARSEOP_MEMORY32FIXED '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32FIXED);}
432 OptionalReadWriteKeyword
435 OptionalNameString_Last
436 ')' {$$ = TrLinkChildren ($<n>3,4,$4,$6,$8,$9);}
437 | PARSEOP_MEMORY32FIXED '('
438 error ')' {$$ = AslDoError(); yyclearin;}
442 : PARSEOP_MEMORY32 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32);}
443 OptionalReadWriteKeyword
448 OptionalNameString_Last
449 ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
450 | PARSEOP_MEMORY32 '('
451 error ')' {$$ = AslDoError(); yyclearin;}
455 : PARSEOP_QWORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDIO);}
456 OptionalResourceType_First
466 OptionalByteConstExpr
470 OptionalTranslationType_Last
471 ')' {$$ = TrLinkChildren ($<n>3,15,
472 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
473 | PARSEOP_QWORDIO '('
474 error ')' {$$ = AslDoError(); yyclearin;}
478 : PARSEOP_QWORDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDMEMORY);}
479 OptionalResourceType_First
484 ',' OptionalReadWriteKeyword
490 OptionalByteConstExpr
495 ')' {$$ = TrLinkChildren ($<n>3,16,
496 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
497 | PARSEOP_QWORDMEMORY '('
498 error ')' {$$ = AslDoError(); yyclearin;}
502 : PARSEOP_QWORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDSPACE);}
503 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
514 OptionalByteConstExpr
516 OptionalNameString_Last
517 ')' {$$ = TrLinkChildren ($<n>3,14,
518 $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
519 | PARSEOP_QWORDSPACE '('
520 error ')' {$$ = AslDoError(); yyclearin;}
524 : PARSEOP_REGISTER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_REGISTER);}
530 OptionalNameString_Last
531 ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
532 | PARSEOP_REGISTER '('
533 error ')' {$$ = AslDoError(); yyclearin;}
537 : PARSEOP_SPI_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS);}
538 WordConstExpr /* 04: DeviceSelection */
539 OptionalDevicePolarity /* 05: DevicePolarity */
540 OptionalWireMode /* 06: WireMode */
541 ',' ByteConstExpr /* 08: DataBitLength */
542 OptionalSlaveMode /* 09: SlaveMode */
543 ',' DWordConstExpr /* 11: ConnectionSpeed */
544 ',' ClockPolarityKeyword /* 13: ClockPolarity */
545 ',' ClockPhaseKeyword /* 15: ClockPhase */
546 ',' StringData /* 17: ResourceSource */
547 OptionalByteConstExpr /* 18: ResourceSourceIndex */
548 OptionalResourceType /* 19: ResourceType */
549 OptionalNameString /* 20: DescriptorName */
550 OptionalBuffer_Last /* 21: VendorData */
551 ')' {$$ = TrLinkChildren ($<n>3,14,
552 $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
553 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
554 | PARSEOP_SPI_SERIALBUS '('
555 error ')' {$$ = AslDoError(); yyclearin;}
559 : PARSEOP_SPI_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS_V2);}
560 WordConstExpr /* 04: DeviceSelection */
561 OptionalDevicePolarity /* 05: DevicePolarity */
562 OptionalWireMode /* 06: WireMode */
563 ',' ByteConstExpr /* 08: DataBitLength */
564 OptionalSlaveMode /* 09: SlaveMode */
565 ',' DWordConstExpr /* 11: ConnectionSpeed */
566 ',' ClockPolarityKeyword /* 13: ClockPolarity */
567 ',' ClockPhaseKeyword /* 15: ClockPhase */
568 ',' StringData /* 17: ResourceSource */
569 OptionalByteConstExpr /* 18: ResourceSourceIndex */
570 OptionalResourceType /* 19: ResourceType */
571 OptionalNameString /* 20: DescriptorName */
572 OptionalShareType /* 21: Share */
573 OptionalBuffer_Last /* 22: VendorData */
574 ')' {$$ = TrLinkChildren ($<n>3,14,
575 $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
576 | PARSEOP_SPI_SERIALBUS_V2 '('
577 error ')' {$$ = AslDoError(); yyclearin;}
580 StartDependentFnNoPriTerm
581 : PARSEOP_STARTDEPENDENTFN_NOPRI '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN_NOPRI);}
583 ResourceMacroList '}' {$$ = TrLinkChildren ($<n>3,1,$6);}
584 | PARSEOP_STARTDEPENDENTFN_NOPRI '('
585 error ')' {$$ = AslDoError(); yyclearin;}
589 : PARSEOP_STARTDEPENDENTFN '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN);}
593 ResourceMacroList '}' {$$ = TrLinkChildren ($<n>3,3,$4,$6,$9);}
594 | PARSEOP_STARTDEPENDENTFN '('
595 error ')' {$$ = AslDoError(); yyclearin;}
599 : PARSEOP_UART_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS);}
600 DWordConstExpr /* 04: ConnectionSpeed */
601 OptionalBitsPerByte /* 05: BitsPerByte */
602 OptionalStopBits /* 06: StopBits */
603 ',' ByteConstExpr /* 08: LinesInUse */
604 OptionalEndian /* 09: Endianess */
605 OptionalParityType /* 10: Parity */
606 OptionalFlowControl /* 11: FlowControl */
607 ',' WordConstExpr /* 13: Rx BufferSize */
608 ',' WordConstExpr /* 15: Tx BufferSize */
609 ',' StringData /* 17: ResourceSource */
610 OptionalByteConstExpr /* 18: ResourceSourceIndex */
611 OptionalResourceType /* 19: ResourceType */
612 OptionalNameString /* 20: DescriptorName */
613 OptionalBuffer_Last /* 21: VendorData */
614 ')' {$$ = TrLinkChildren ($<n>3,15,
615 $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
616 TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
617 | PARSEOP_UART_SERIALBUS '('
618 error ')' {$$ = AslDoError(); yyclearin;}
622 : PARSEOP_UART_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS_V2);}
623 DWordConstExpr /* 04: ConnectionSpeed */
624 OptionalBitsPerByte /* 05: BitsPerByte */
625 OptionalStopBits /* 06: StopBits */
626 ',' ByteConstExpr /* 08: LinesInUse */
627 OptionalEndian /* 09: Endianess */
628 OptionalParityType /* 10: Parity */
629 OptionalFlowControl /* 11: FlowControl */
630 ',' WordConstExpr /* 13: Rx BufferSize */
631 ',' WordConstExpr /* 15: Tx BufferSize */
632 ',' StringData /* 17: ResourceSource */
633 OptionalByteConstExpr /* 18: ResourceSourceIndex */
634 OptionalResourceType /* 19: ResourceType */
635 OptionalNameString /* 20: DescriptorName */
636 OptionalShareType /* 21: Share */
637 OptionalBuffer_Last /* 22: VendorData */
638 ')' {$$ = TrLinkChildren ($<n>3,15,
639 $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
640 | PARSEOP_UART_SERIALBUS_V2 '('
641 error ')' {$$ = AslDoError(); yyclearin;}
645 : PARSEOP_VENDORLONG '(' {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORLONG);}
646 OptionalNameString_First
648 ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
649 | PARSEOP_VENDORLONG '('
650 error ')' {$$ = AslDoError(); yyclearin;}
654 : PARSEOP_VENDORSHORT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORSHORT);}
655 OptionalNameString_First
657 ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
658 | PARSEOP_VENDORSHORT '('
659 error ')' {$$ = AslDoError(); yyclearin;}
663 : PARSEOP_WORDBUSNUMBER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDBUSNUMBER);}
664 OptionalResourceType_First
673 OptionalByteConstExpr
675 OptionalNameString_Last
676 ')' {$$ = TrLinkChildren ($<n>3,12,
677 $4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);}
678 | PARSEOP_WORDBUSNUMBER '('
679 error ')' {$$ = AslDoError(); yyclearin;}
683 : PARSEOP_WORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDIO);}
684 OptionalResourceType_First
694 OptionalByteConstExpr
698 OptionalTranslationType_Last
699 ')' {$$ = TrLinkChildren ($<n>3,15,
700 $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
702 error ')' {$$ = AslDoError(); yyclearin;}
706 : PARSEOP_WORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDSPACE);}
707 ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
718 OptionalByteConstExpr
720 OptionalNameString_Last
721 ')' {$$ = TrLinkChildren ($<n>3,14,
722 $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
723 | PARSEOP_WORDSPACE '('
724 error ')' {$$ = AslDoError(); yyclearin;}