aslresources.y revision 1.1.1.4 1 1.1 christos NoEcho('
2 1.1 christos /******************************************************************************
3 1.1 christos *
4 1.1 christos * Module Name: aslresources.y - Bison/Yacc production rules for resources
5 1.1 christos *
6 1.1 christos *****************************************************************************/
7 1.1 christos
8 1.1 christos /*
9 1.1.1.4 christos * Copyright (C) 2000 - 2017, Intel Corp.
10 1.1 christos * All rights reserved.
11 1.1 christos *
12 1.1 christos * Redistribution and use in source and binary forms, with or without
13 1.1 christos * modification, are permitted provided that the following conditions
14 1.1 christos * are met:
15 1.1 christos * 1. Redistributions of source code must retain the above copyright
16 1.1 christos * notice, this list of conditions, and the following disclaimer,
17 1.1 christos * without modification.
18 1.1 christos * 2. Redistributions in binary form must reproduce at minimum a disclaimer
19 1.1 christos * substantially similar to the "NO WARRANTY" disclaimer below
20 1.1 christos * ("Disclaimer") and any redistribution must be conditioned upon
21 1.1 christos * including a substantially similar Disclaimer requirement for further
22 1.1 christos * binary redistribution.
23 1.1 christos * 3. Neither the names of the above-listed copyright holders nor the names
24 1.1 christos * of any contributors may be used to endorse or promote products derived
25 1.1 christos * from this software without specific prior written permission.
26 1.1 christos *
27 1.1 christos * Alternatively, this software may be distributed under the terms of the
28 1.1 christos * GNU General Public License ("GPL") version 2 as published by the Free
29 1.1 christos * Software Foundation.
30 1.1 christos *
31 1.1 christos * NO WARRANTY
32 1.1 christos * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
33 1.1 christos * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
34 1.1 christos * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
35 1.1 christos * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
36 1.1 christos * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
37 1.1 christos * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
38 1.1 christos * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
39 1.1 christos * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
40 1.1 christos * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
41 1.1 christos * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
42 1.1 christos * POSSIBILITY OF SUCH DAMAGES.
43 1.1 christos */
44 1.1 christos
45 1.1 christos ')
46 1.1 christos
47 1.1 christos
48 1.1 christos /*******************************************************************************
49 1.1 christos *
50 1.1 christos * ASL Resource Template Terms
51 1.1 christos *
52 1.1 christos ******************************************************************************/
53 1.1 christos
54 1.1 christos /*
55 1.1 christos * Note: Create two default nodes to allow conversion to a Buffer AML opcode
56 1.1 christos * Also, insert the EndTag at the end of the template.
57 1.1 christos */
58 1.1 christos ResourceTemplateTerm
59 1.1.1.4 christos : PARSEOP_RESOURCETEMPLATE
60 1.1.1.4 christos OptionalParentheses
61 1.1 christos '{'
62 1.1 christos ResourceMacroList '}' {$$ = TrCreateNode (PARSEOP_RESOURCETEMPLATE,4,
63 1.1 christos TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
64 1.1 christos TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
65 1.1.1.3 christos $4,
66 1.1 christos TrCreateLeafNode (PARSEOP_ENDTAG));}
67 1.1 christos ;
68 1.1 christos
69 1.1.1.3 christos OptionalParentheses
70 1.1.1.3 christos : {$$ = NULL;}
71 1.1.1.4 christos | PARSEOP_OPEN_PAREN
72 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = NULL;}
73 1.1.1.3 christos ;
74 1.1.1.3 christos
75 1.1 christos ResourceMacroList
76 1.1 christos : {$$ = NULL;}
77 1.1 christos | ResourceMacroList
78 1.1 christos ResourceMacroTerm {$$ = TrLinkPeerNode ($1,$2);}
79 1.1 christos ;
80 1.1 christos
81 1.1 christos ResourceMacroTerm
82 1.1 christos : DMATerm {}
83 1.1 christos | DWordIOTerm {}
84 1.1 christos | DWordMemoryTerm {}
85 1.1 christos | DWordSpaceTerm {}
86 1.1 christos | EndDependentFnTerm {}
87 1.1 christos | ExtendedIOTerm {}
88 1.1 christos | ExtendedMemoryTerm {}
89 1.1 christos | ExtendedSpaceTerm {}
90 1.1 christos | FixedDmaTerm {}
91 1.1 christos | FixedIOTerm {}
92 1.1 christos | GpioIntTerm {}
93 1.1 christos | GpioIoTerm {}
94 1.1 christos | I2cSerialBusTerm {}
95 1.1.1.2 christos | I2cSerialBusTermV2 {}
96 1.1 christos | InterruptTerm {}
97 1.1 christos | IOTerm {}
98 1.1 christos | IRQNoFlagsTerm {}
99 1.1 christos | IRQTerm {}
100 1.1 christos | Memory24Term {}
101 1.1 christos | Memory32FixedTerm {}
102 1.1 christos | Memory32Term {}
103 1.1 christos | QWordIOTerm {}
104 1.1 christos | QWordMemoryTerm {}
105 1.1 christos | QWordSpaceTerm {}
106 1.1 christos | RegisterTerm {}
107 1.1 christos | SpiSerialBusTerm {}
108 1.1.1.2 christos | SpiSerialBusTermV2 {}
109 1.1 christos | StartDependentFnNoPriTerm {}
110 1.1 christos | StartDependentFnTerm {}
111 1.1 christos | UartSerialBusTerm {}
112 1.1.1.2 christos | UartSerialBusTermV2 {}
113 1.1 christos | VendorLongTerm {}
114 1.1 christos | VendorShortTerm {}
115 1.1 christos | WordBusNumberTerm {}
116 1.1 christos | WordIOTerm {}
117 1.1 christos | WordSpaceTerm {}
118 1.1 christos ;
119 1.1 christos
120 1.1 christos DMATerm
121 1.1.1.4 christos : PARSEOP_DMA
122 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DMA);}
123 1.1 christos DMATypeKeyword
124 1.1 christos OptionalBusMasterKeyword
125 1.1 christos ',' XferTypeKeyword
126 1.1 christos OptionalNameString_Last
127 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
128 1.1 christos ByteList '}' {$$ = TrLinkChildren ($<n>3,5,$4,$5,$7,$8,$11);}
129 1.1.1.4 christos | PARSEOP_DMA
130 1.1.1.4 christos PARSEOP_OPEN_PAREN
131 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
132 1.1 christos ;
133 1.1 christos
134 1.1 christos DWordIOTerm
135 1.1.1.4 christos : PARSEOP_DWORDIO
136 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDIO);}
137 1.1 christos OptionalResourceType_First
138 1.1 christos OptionalMinType
139 1.1 christos OptionalMaxType
140 1.1 christos OptionalDecodeType
141 1.1 christos OptionalRangeType
142 1.1 christos ',' DWordConstExpr
143 1.1 christos ',' DWordConstExpr
144 1.1 christos ',' DWordConstExpr
145 1.1 christos ',' DWordConstExpr
146 1.1 christos ',' DWordConstExpr
147 1.1 christos OptionalByteConstExpr
148 1.1 christos OptionalStringData
149 1.1 christos OptionalNameString
150 1.1 christos OptionalType
151 1.1 christos OptionalTranslationType_Last
152 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,15,
153 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
154 1.1.1.4 christos | PARSEOP_DWORDIO
155 1.1.1.4 christos PARSEOP_OPEN_PAREN
156 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
157 1.1 christos ;
158 1.1 christos
159 1.1 christos DWordMemoryTerm
160 1.1.1.4 christos : PARSEOP_DWORDMEMORY
161 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDMEMORY);}
162 1.1 christos OptionalResourceType_First
163 1.1 christos OptionalDecodeType
164 1.1 christos OptionalMinType
165 1.1 christos OptionalMaxType
166 1.1 christos OptionalMemType
167 1.1 christos ',' OptionalReadWriteKeyword
168 1.1 christos ',' DWordConstExpr
169 1.1 christos ',' DWordConstExpr
170 1.1 christos ',' DWordConstExpr
171 1.1 christos ',' DWordConstExpr
172 1.1 christos ',' DWordConstExpr
173 1.1 christos OptionalByteConstExpr
174 1.1 christos OptionalStringData
175 1.1 christos OptionalNameString
176 1.1 christos OptionalAddressRange
177 1.1 christos OptionalType_Last
178 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,16,
179 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
180 1.1.1.4 christos | PARSEOP_DWORDMEMORY
181 1.1.1.4 christos PARSEOP_OPEN_PAREN
182 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
183 1.1 christos ;
184 1.1 christos
185 1.1 christos DWordSpaceTerm
186 1.1.1.4 christos : PARSEOP_DWORDSPACE
187 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDSPACE);}
188 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
189 1.1 christos OptionalResourceType
190 1.1 christos OptionalDecodeType
191 1.1 christos OptionalMinType
192 1.1 christos OptionalMaxType
193 1.1 christos ',' ByteConstExpr
194 1.1 christos ',' DWordConstExpr
195 1.1 christos ',' DWordConstExpr
196 1.1 christos ',' DWordConstExpr
197 1.1 christos ',' DWordConstExpr
198 1.1 christos ',' DWordConstExpr
199 1.1 christos OptionalByteConstExpr
200 1.1 christos OptionalStringData
201 1.1 christos OptionalNameString_Last
202 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,14,
203 1.1.1.3 christos $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
204 1.1.1.4 christos | PARSEOP_DWORDSPACE
205 1.1.1.4 christos PARSEOP_OPEN_PAREN
206 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
207 1.1 christos ;
208 1.1 christos
209 1.1 christos EndDependentFnTerm
210 1.1.1.4 christos : PARSEOP_ENDDEPENDENTFN
211 1.1.1.4 christos PARSEOP_OPEN_PAREN
212 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrCreateLeafNode (PARSEOP_ENDDEPENDENTFN);}
213 1.1.1.4 christos | PARSEOP_ENDDEPENDENTFN
214 1.1.1.4 christos PARSEOP_OPEN_PAREN
215 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
216 1.1 christos ;
217 1.1 christos
218 1.1 christos ExtendedIOTerm
219 1.1.1.4 christos : PARSEOP_EXTENDEDIO
220 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDIO);}
221 1.1 christos OptionalResourceType_First
222 1.1 christos OptionalMinType
223 1.1 christos OptionalMaxType
224 1.1 christos OptionalDecodeType
225 1.1 christos OptionalRangeType
226 1.1 christos ',' QWordConstExpr
227 1.1 christos ',' QWordConstExpr
228 1.1 christos ',' QWordConstExpr
229 1.1 christos ',' QWordConstExpr
230 1.1 christos ',' QWordConstExpr
231 1.1 christos OptionalQWordConstExpr
232 1.1 christos OptionalNameString
233 1.1 christos OptionalType
234 1.1 christos OptionalTranslationType_Last
235 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,14,
236 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);}
237 1.1.1.4 christos | PARSEOP_EXTENDEDIO
238 1.1.1.4 christos PARSEOP_OPEN_PAREN
239 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
240 1.1 christos ;
241 1.1 christos
242 1.1 christos ExtendedMemoryTerm
243 1.1.1.4 christos : PARSEOP_EXTENDEDMEMORY
244 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDMEMORY);}
245 1.1 christos OptionalResourceType_First
246 1.1 christos OptionalDecodeType
247 1.1 christos OptionalMinType
248 1.1 christos OptionalMaxType
249 1.1 christos OptionalMemType
250 1.1 christos ',' OptionalReadWriteKeyword
251 1.1 christos ',' QWordConstExpr
252 1.1 christos ',' QWordConstExpr
253 1.1 christos ',' QWordConstExpr
254 1.1 christos ',' QWordConstExpr
255 1.1 christos ',' QWordConstExpr
256 1.1 christos OptionalQWordConstExpr
257 1.1 christos OptionalNameString
258 1.1 christos OptionalAddressRange
259 1.1 christos OptionalType_Last
260 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,15,
261 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);}
262 1.1.1.4 christos | PARSEOP_EXTENDEDMEMORY
263 1.1.1.4 christos PARSEOP_OPEN_PAREN
264 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
265 1.1 christos ;
266 1.1 christos
267 1.1 christos ExtendedSpaceTerm
268 1.1.1.4 christos : PARSEOP_EXTENDEDSPACE PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDSPACE);}
269 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
270 1.1 christos OptionalResourceType
271 1.1 christos OptionalDecodeType
272 1.1 christos OptionalMinType
273 1.1 christos OptionalMaxType
274 1.1 christos ',' ByteConstExpr
275 1.1 christos ',' QWordConstExpr
276 1.1 christos ',' QWordConstExpr
277 1.1 christos ',' QWordConstExpr
278 1.1 christos ',' QWordConstExpr
279 1.1 christos ',' QWordConstExpr
280 1.1 christos OptionalQWordConstExpr
281 1.1 christos OptionalNameString_Last
282 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,13,
283 1.1.1.3 christos $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);}
284 1.1.1.4 christos | PARSEOP_EXTENDEDSPACE
285 1.1.1.4 christos PARSEOP_OPEN_PAREN
286 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
287 1.1 christos ;
288 1.1 christos
289 1.1 christos FixedDmaTerm
290 1.1.1.4 christos : PARSEOP_FIXEDDMA
291 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDDMA);}
292 1.1 christos WordConstExpr /* 04: DMA RequestLines */
293 1.1 christos ',' WordConstExpr /* 06: DMA Channels */
294 1.1 christos OptionalXferSize /* 07: DMA TransferSize */
295 1.1 christos OptionalNameString /* 08: DescriptorName */
296 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,4,$4,$6,$7,$8);}
297 1.1.1.4 christos | PARSEOP_FIXEDDMA
298 1.1.1.4 christos PARSEOP_OPEN_PAREN
299 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
300 1.1 christos ;
301 1.1 christos
302 1.1 christos FixedIOTerm
303 1.1.1.4 christos : PARSEOP_FIXEDIO
304 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDIO);}
305 1.1 christos WordConstExpr
306 1.1 christos ',' ByteConstExpr
307 1.1 christos OptionalNameString_Last
308 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
309 1.1.1.4 christos | PARSEOP_FIXEDIO
310 1.1.1.4 christos PARSEOP_OPEN_PAREN
311 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
312 1.1 christos ;
313 1.1 christos
314 1.1 christos GpioIntTerm
315 1.1.1.4 christos : PARSEOP_GPIO_INT
316 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_INT);}
317 1.1 christos InterruptTypeKeyword /* 04: InterruptType */
318 1.1 christos ',' InterruptLevel /* 06: InterruptLevel */
319 1.1 christos OptionalShareType /* 07: SharedType */
320 1.1 christos ',' PinConfigByte /* 09: PinConfig */
321 1.1 christos OptionalWordConstExpr /* 10: DebounceTimeout */
322 1.1 christos ',' StringData /* 12: ResourceSource */
323 1.1 christos OptionalByteConstExpr /* 13: ResourceSourceIndex */
324 1.1 christos OptionalResourceType /* 14: ResourceType */
325 1.1 christos OptionalNameString /* 15: DescriptorName */
326 1.1 christos OptionalBuffer_Last /* 16: VendorData */
327 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
328 1.1.1.3 christos DWordConstExpr '}' {$$ = TrLinkChildren ($<n>3,11,
329 1.1.1.3 christos $4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);}
330 1.1.1.4 christos | PARSEOP_GPIO_INT
331 1.1.1.4 christos PARSEOP_OPEN_PAREN
332 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
333 1.1 christos ;
334 1.1 christos
335 1.1 christos GpioIoTerm
336 1.1.1.4 christos : PARSEOP_GPIO_IO
337 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_IO);}
338 1.1 christos OptionalShareType_First /* 04: SharedType */
339 1.1 christos ',' PinConfigByte /* 06: PinConfig */
340 1.1 christos OptionalWordConstExpr /* 07: DebounceTimeout */
341 1.1 christos OptionalWordConstExpr /* 08: DriveStrength */
342 1.1 christos OptionalIoRestriction /* 09: IoRestriction */
343 1.1 christos ',' StringData /* 11: ResourceSource */
344 1.1 christos OptionalByteConstExpr /* 12: ResourceSourceIndex */
345 1.1 christos OptionalResourceType /* 13: ResourceType */
346 1.1 christos OptionalNameString /* 14: DescriptorName */
347 1.1 christos OptionalBuffer_Last /* 15: VendorData */
348 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
349 1.1.1.3 christos DWordList '}' {$$ = TrLinkChildren ($<n>3,11,
350 1.1.1.3 christos $4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);}
351 1.1.1.4 christos | PARSEOP_GPIO_IO
352 1.1.1.4 christos PARSEOP_OPEN_PAREN
353 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
354 1.1 christos ;
355 1.1 christos
356 1.1 christos I2cSerialBusTerm
357 1.1.1.4 christos : PARSEOP_I2C_SERIALBUS
358 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS);}
359 1.1 christos WordConstExpr /* 04: SlaveAddress */
360 1.1 christos OptionalSlaveMode /* 05: SlaveMode */
361 1.1 christos ',' DWordConstExpr /* 07: ConnectionSpeed */
362 1.1 christos OptionalAddressingMode /* 08: AddressingMode */
363 1.1 christos ',' StringData /* 10: ResourceSource */
364 1.1 christos OptionalByteConstExpr /* 11: ResourceSourceIndex */
365 1.1 christos OptionalResourceType /* 12: ResourceType */
366 1.1 christos OptionalNameString /* 13: DescriptorName */
367 1.1 christos OptionalBuffer_Last /* 14: VendorData */
368 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,10,
369 1.1.1.3 christos $4,$5,$7,$8,$10,$11,$12,$13,
370 1.1.1.2 christos TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$14);}
371 1.1.1.4 christos | PARSEOP_I2C_SERIALBUS
372 1.1.1.4 christos PARSEOP_OPEN_PAREN
373 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
374 1.1 christos ;
375 1.1 christos
376 1.1.1.2 christos I2cSerialBusTermV2
377 1.1.1.4 christos : PARSEOP_I2C_SERIALBUS_V2
378 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS_V2);}
379 1.1.1.2 christos WordConstExpr /* 04: SlaveAddress */
380 1.1.1.2 christos OptionalSlaveMode /* 05: SlaveMode */
381 1.1.1.2 christos ',' DWordConstExpr /* 07: ConnectionSpeed */
382 1.1.1.2 christos OptionalAddressingMode /* 08: AddressingMode */
383 1.1.1.2 christos ',' StringData /* 10: ResourceSource */
384 1.1.1.2 christos OptionalByteConstExpr /* 11: ResourceSourceIndex */
385 1.1.1.2 christos OptionalResourceType /* 12: ResourceType */
386 1.1.1.2 christos OptionalNameString /* 13: DescriptorName */
387 1.1.1.2 christos OptionalShareType /* 14: Share */
388 1.1.1.2 christos OptionalBuffer_Last /* 15: VendorData */
389 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,10,
390 1.1.1.3 christos $4,$5,$7,$8,$10,$11,$12,$13,$14,$15);}
391 1.1.1.4 christos | PARSEOP_I2C_SERIALBUS_V2
392 1.1.1.4 christos PARSEOP_OPEN_PAREN
393 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
394 1.1.1.2 christos ;
395 1.1.1.2 christos
396 1.1 christos InterruptTerm
397 1.1.1.4 christos : PARSEOP_INTERRUPT
398 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_INTERRUPT);}
399 1.1 christos OptionalResourceType_First
400 1.1 christos ',' InterruptTypeKeyword
401 1.1 christos ',' InterruptLevel
402 1.1 christos OptionalShareType
403 1.1 christos OptionalByteConstExpr
404 1.1 christos OptionalStringData
405 1.1 christos OptionalNameString_Last
406 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
407 1.1.1.3 christos DWordList '}' {$$ = TrLinkChildren ($<n>3,8,
408 1.1.1.3 christos $4,$6,$8,$9,$10,$11,$12,$15);}
409 1.1.1.4 christos | PARSEOP_INTERRUPT
410 1.1.1.4 christos PARSEOP_OPEN_PAREN
411 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
412 1.1 christos ;
413 1.1 christos
414 1.1 christos IOTerm
415 1.1.1.4 christos : PARSEOP_IO
416 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_IO);}
417 1.1 christos IODecodeKeyword
418 1.1 christos ',' WordConstExpr
419 1.1 christos ',' WordConstExpr
420 1.1 christos ',' ByteConstExpr
421 1.1 christos ',' ByteConstExpr
422 1.1 christos OptionalNameString_Last
423 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
424 1.1.1.4 christos | PARSEOP_IO
425 1.1.1.4 christos PARSEOP_OPEN_PAREN
426 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
427 1.1 christos ;
428 1.1 christos
429 1.1 christos IRQNoFlagsTerm
430 1.1.1.4 christos : PARSEOP_IRQNOFLAGS
431 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_IRQNOFLAGS);}
432 1.1 christos OptionalNameString_First
433 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
434 1.1 christos ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
435 1.1.1.4 christos | PARSEOP_IRQNOFLAGS
436 1.1.1.4 christos PARSEOP_OPEN_PAREN
437 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
438 1.1 christos ;
439 1.1 christos
440 1.1 christos IRQTerm
441 1.1.1.4 christos : PARSEOP_IRQ
442 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_IRQ);}
443 1.1 christos InterruptTypeKeyword
444 1.1 christos ',' InterruptLevel
445 1.1 christos OptionalShareType
446 1.1 christos OptionalNameString_Last
447 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
448 1.1 christos ByteList '}' {$$ = TrLinkChildren ($<n>3,5,$4,$6,$7,$8,$11);}
449 1.1.1.4 christos | PARSEOP_IRQ
450 1.1.1.4 christos PARSEOP_OPEN_PAREN
451 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
452 1.1 christos ;
453 1.1 christos
454 1.1 christos Memory24Term
455 1.1.1.4 christos : PARSEOP_MEMORY24
456 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY24);}
457 1.1 christos OptionalReadWriteKeyword
458 1.1 christos ',' WordConstExpr
459 1.1 christos ',' WordConstExpr
460 1.1 christos ',' WordConstExpr
461 1.1 christos ',' WordConstExpr
462 1.1 christos OptionalNameString_Last
463 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
464 1.1.1.4 christos | PARSEOP_MEMORY24
465 1.1.1.4 christos PARSEOP_OPEN_PAREN
466 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
467 1.1 christos ;
468 1.1 christos
469 1.1 christos Memory32FixedTerm
470 1.1.1.4 christos : PARSEOP_MEMORY32FIXED
471 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32FIXED);}
472 1.1 christos OptionalReadWriteKeyword
473 1.1 christos ',' DWordConstExpr
474 1.1 christos ',' DWordConstExpr
475 1.1 christos OptionalNameString_Last
476 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,4,$4,$6,$8,$9);}
477 1.1.1.4 christos | PARSEOP_MEMORY32FIXED
478 1.1.1.4 christos PARSEOP_OPEN_PAREN
479 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
480 1.1 christos ;
481 1.1 christos
482 1.1 christos Memory32Term
483 1.1.1.4 christos : PARSEOP_MEMORY32
484 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32);}
485 1.1 christos OptionalReadWriteKeyword
486 1.1 christos ',' DWordConstExpr
487 1.1 christos ',' DWordConstExpr
488 1.1 christos ',' DWordConstExpr
489 1.1 christos ',' DWordConstExpr
490 1.1 christos OptionalNameString_Last
491 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
492 1.1.1.4 christos | PARSEOP_MEMORY32
493 1.1.1.4 christos PARSEOP_OPEN_PAREN
494 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
495 1.1 christos ;
496 1.1 christos
497 1.1 christos QWordIOTerm
498 1.1.1.4 christos : PARSEOP_QWORDIO
499 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDIO);}
500 1.1 christos OptionalResourceType_First
501 1.1 christos OptionalMinType
502 1.1 christos OptionalMaxType
503 1.1 christos OptionalDecodeType
504 1.1 christos OptionalRangeType
505 1.1 christos ',' QWordConstExpr
506 1.1 christos ',' QWordConstExpr
507 1.1 christos ',' QWordConstExpr
508 1.1 christos ',' QWordConstExpr
509 1.1 christos ',' QWordConstExpr
510 1.1 christos OptionalByteConstExpr
511 1.1 christos OptionalStringData
512 1.1 christos OptionalNameString
513 1.1 christos OptionalType
514 1.1 christos OptionalTranslationType_Last
515 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,15,
516 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
517 1.1.1.4 christos | PARSEOP_QWORDIO
518 1.1.1.4 christos PARSEOP_OPEN_PAREN
519 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
520 1.1 christos ;
521 1.1 christos
522 1.1 christos QWordMemoryTerm
523 1.1.1.4 christos : PARSEOP_QWORDMEMORY
524 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDMEMORY);}
525 1.1 christos OptionalResourceType_First
526 1.1 christos OptionalDecodeType
527 1.1 christos OptionalMinType
528 1.1 christos OptionalMaxType
529 1.1 christos OptionalMemType
530 1.1 christos ',' OptionalReadWriteKeyword
531 1.1 christos ',' QWordConstExpr
532 1.1 christos ',' QWordConstExpr
533 1.1 christos ',' QWordConstExpr
534 1.1 christos ',' QWordConstExpr
535 1.1 christos ',' QWordConstExpr
536 1.1 christos OptionalByteConstExpr
537 1.1 christos OptionalStringData
538 1.1 christos OptionalNameString
539 1.1 christos OptionalAddressRange
540 1.1 christos OptionalType_Last
541 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,16,
542 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
543 1.1.1.4 christos | PARSEOP_QWORDMEMORY
544 1.1.1.4 christos PARSEOP_OPEN_PAREN
545 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
546 1.1 christos ;
547 1.1 christos
548 1.1 christos QWordSpaceTerm
549 1.1.1.4 christos : PARSEOP_QWORDSPACE
550 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDSPACE);}
551 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
552 1.1 christos OptionalResourceType
553 1.1 christos OptionalDecodeType
554 1.1 christos OptionalMinType
555 1.1 christos OptionalMaxType
556 1.1 christos ',' ByteConstExpr
557 1.1 christos ',' QWordConstExpr
558 1.1 christos ',' QWordConstExpr
559 1.1 christos ',' QWordConstExpr
560 1.1 christos ',' QWordConstExpr
561 1.1 christos ',' QWordConstExpr
562 1.1 christos OptionalByteConstExpr
563 1.1 christos OptionalStringData
564 1.1 christos OptionalNameString_Last
565 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,14,
566 1.1.1.3 christos $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
567 1.1.1.4 christos | PARSEOP_QWORDSPACE
568 1.1.1.4 christos PARSEOP_OPEN_PAREN
569 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
570 1.1 christos ;
571 1.1 christos
572 1.1 christos RegisterTerm
573 1.1.1.4 christos : PARSEOP_REGISTER
574 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_REGISTER);}
575 1.1 christos AddressSpaceKeyword
576 1.1 christos ',' ByteConstExpr
577 1.1 christos ',' ByteConstExpr
578 1.1 christos ',' QWordConstExpr
579 1.1 christos OptionalAccessSize
580 1.1 christos OptionalNameString_Last
581 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
582 1.1.1.4 christos | PARSEOP_REGISTER
583 1.1.1.4 christos PARSEOP_OPEN_PAREN
584 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
585 1.1 christos ;
586 1.1 christos
587 1.1 christos SpiSerialBusTerm
588 1.1.1.4 christos : PARSEOP_SPI_SERIALBUS
589 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS);}
590 1.1 christos WordConstExpr /* 04: DeviceSelection */
591 1.1 christos OptionalDevicePolarity /* 05: DevicePolarity */
592 1.1 christos OptionalWireMode /* 06: WireMode */
593 1.1 christos ',' ByteConstExpr /* 08: DataBitLength */
594 1.1 christos OptionalSlaveMode /* 09: SlaveMode */
595 1.1 christos ',' DWordConstExpr /* 11: ConnectionSpeed */
596 1.1 christos ',' ClockPolarityKeyword /* 13: ClockPolarity */
597 1.1 christos ',' ClockPhaseKeyword /* 15: ClockPhase */
598 1.1 christos ',' StringData /* 17: ResourceSource */
599 1.1 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
600 1.1 christos OptionalResourceType /* 19: ResourceType */
601 1.1 christos OptionalNameString /* 20: DescriptorName */
602 1.1 christos OptionalBuffer_Last /* 21: VendorData */
603 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,14,
604 1.1.1.3 christos $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
605 1.1.1.2 christos TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
606 1.1.1.4 christos | PARSEOP_SPI_SERIALBUS
607 1.1.1.4 christos PARSEOP_OPEN_PAREN
608 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
609 1.1 christos ;
610 1.1 christos
611 1.1.1.2 christos SpiSerialBusTermV2
612 1.1.1.4 christos : PARSEOP_SPI_SERIALBUS_V2
613 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS_V2);}
614 1.1.1.2 christos WordConstExpr /* 04: DeviceSelection */
615 1.1.1.2 christos OptionalDevicePolarity /* 05: DevicePolarity */
616 1.1.1.2 christos OptionalWireMode /* 06: WireMode */
617 1.1.1.2 christos ',' ByteConstExpr /* 08: DataBitLength */
618 1.1.1.2 christos OptionalSlaveMode /* 09: SlaveMode */
619 1.1.1.2 christos ',' DWordConstExpr /* 11: ConnectionSpeed */
620 1.1.1.2 christos ',' ClockPolarityKeyword /* 13: ClockPolarity */
621 1.1.1.2 christos ',' ClockPhaseKeyword /* 15: ClockPhase */
622 1.1.1.2 christos ',' StringData /* 17: ResourceSource */
623 1.1.1.2 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
624 1.1.1.2 christos OptionalResourceType /* 19: ResourceType */
625 1.1.1.2 christos OptionalNameString /* 20: DescriptorName */
626 1.1.1.2 christos OptionalShareType /* 21: Share */
627 1.1.1.2 christos OptionalBuffer_Last /* 22: VendorData */
628 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,14,
629 1.1.1.3 christos $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
630 1.1.1.4 christos | PARSEOP_SPI_SERIALBUS_V2
631 1.1.1.4 christos PARSEOP_OPEN_PAREN
632 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
633 1.1.1.2 christos ;
634 1.1.1.2 christos
635 1.1 christos StartDependentFnNoPriTerm
636 1.1.1.4 christos : PARSEOP_STARTDEPENDENTFN_NOPRI
637 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN_NOPRI);}
638 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
639 1.1 christos ResourceMacroList '}' {$$ = TrLinkChildren ($<n>3,1,$6);}
640 1.1.1.4 christos | PARSEOP_STARTDEPENDENTFN_NOPRI
641 1.1.1.4 christos PARSEOP_OPEN_PAREN
642 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
643 1.1 christos ;
644 1.1 christos
645 1.1 christos StartDependentFnTerm
646 1.1.1.4 christos : PARSEOP_STARTDEPENDENTFN
647 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN);}
648 1.1 christos ByteConstExpr
649 1.1 christos ',' ByteConstExpr
650 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
651 1.1 christos ResourceMacroList '}' {$$ = TrLinkChildren ($<n>3,3,$4,$6,$9);}
652 1.1.1.4 christos | PARSEOP_STARTDEPENDENTFN
653 1.1.1.4 christos PARSEOP_OPEN_PAREN
654 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
655 1.1 christos ;
656 1.1 christos
657 1.1 christos UartSerialBusTerm
658 1.1.1.4 christos : PARSEOP_UART_SERIALBUS
659 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS);}
660 1.1 christos DWordConstExpr /* 04: ConnectionSpeed */
661 1.1 christos OptionalBitsPerByte /* 05: BitsPerByte */
662 1.1 christos OptionalStopBits /* 06: StopBits */
663 1.1 christos ',' ByteConstExpr /* 08: LinesInUse */
664 1.1 christos OptionalEndian /* 09: Endianess */
665 1.1 christos OptionalParityType /* 10: Parity */
666 1.1 christos OptionalFlowControl /* 11: FlowControl */
667 1.1 christos ',' WordConstExpr /* 13: Rx BufferSize */
668 1.1 christos ',' WordConstExpr /* 15: Tx BufferSize */
669 1.1 christos ',' StringData /* 17: ResourceSource */
670 1.1 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
671 1.1 christos OptionalResourceType /* 19: ResourceType */
672 1.1 christos OptionalNameString /* 20: DescriptorName */
673 1.1 christos OptionalBuffer_Last /* 21: VendorData */
674 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,15,
675 1.1.1.3 christos $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
676 1.1.1.2 christos TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
677 1.1.1.4 christos | PARSEOP_UART_SERIALBUS
678 1.1.1.4 christos PARSEOP_OPEN_PAREN
679 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
680 1.1 christos ;
681 1.1 christos
682 1.1.1.2 christos UartSerialBusTermV2
683 1.1.1.4 christos : PARSEOP_UART_SERIALBUS_V2
684 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS_V2);}
685 1.1.1.2 christos DWordConstExpr /* 04: ConnectionSpeed */
686 1.1.1.2 christos OptionalBitsPerByte /* 05: BitsPerByte */
687 1.1.1.2 christos OptionalStopBits /* 06: StopBits */
688 1.1.1.2 christos ',' ByteConstExpr /* 08: LinesInUse */
689 1.1.1.2 christos OptionalEndian /* 09: Endianess */
690 1.1.1.2 christos OptionalParityType /* 10: Parity */
691 1.1.1.2 christos OptionalFlowControl /* 11: FlowControl */
692 1.1.1.2 christos ',' WordConstExpr /* 13: Rx BufferSize */
693 1.1.1.2 christos ',' WordConstExpr /* 15: Tx BufferSize */
694 1.1.1.2 christos ',' StringData /* 17: ResourceSource */
695 1.1.1.2 christos OptionalByteConstExpr /* 18: ResourceSourceIndex */
696 1.1.1.2 christos OptionalResourceType /* 19: ResourceType */
697 1.1.1.2 christos OptionalNameString /* 20: DescriptorName */
698 1.1.1.2 christos OptionalShareType /* 21: Share */
699 1.1.1.2 christos OptionalBuffer_Last /* 22: VendorData */
700 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,15,
701 1.1.1.3 christos $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
702 1.1.1.4 christos | PARSEOP_UART_SERIALBUS_V2
703 1.1.1.4 christos PARSEOP_OPEN_PAREN
704 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
705 1.1.1.2 christos ;
706 1.1.1.2 christos
707 1.1 christos VendorLongTerm
708 1.1.1.4 christos : PARSEOP_VENDORLONG
709 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORLONG);}
710 1.1 christos OptionalNameString_First
711 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
712 1.1 christos ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
713 1.1.1.4 christos | PARSEOP_VENDORLONG
714 1.1.1.4 christos PARSEOP_OPEN_PAREN
715 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
716 1.1 christos ;
717 1.1 christos
718 1.1 christos VendorShortTerm
719 1.1.1.4 christos : PARSEOP_VENDORSHORT
720 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORSHORT);}
721 1.1 christos OptionalNameString_First
722 1.1.1.4 christos PARSEOP_CLOSE_PAREN '{'
723 1.1 christos ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
724 1.1.1.4 christos | PARSEOP_VENDORSHORT
725 1.1.1.4 christos PARSEOP_OPEN_PAREN
726 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
727 1.1 christos ;
728 1.1 christos
729 1.1 christos WordBusNumberTerm
730 1.1.1.4 christos : PARSEOP_WORDBUSNUMBER
731 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_WORDBUSNUMBER);}
732 1.1 christos OptionalResourceType_First
733 1.1 christos OptionalMinType
734 1.1 christos OptionalMaxType
735 1.1 christos OptionalDecodeType
736 1.1 christos ',' WordConstExpr
737 1.1 christos ',' WordConstExpr
738 1.1 christos ',' WordConstExpr
739 1.1 christos ',' WordConstExpr
740 1.1 christos ',' WordConstExpr
741 1.1 christos OptionalByteConstExpr
742 1.1 christos OptionalStringData
743 1.1 christos OptionalNameString_Last
744 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,12,
745 1.1.1.3 christos $4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);}
746 1.1.1.4 christos | PARSEOP_WORDBUSNUMBER
747 1.1.1.4 christos PARSEOP_OPEN_PAREN
748 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
749 1.1 christos ;
750 1.1 christos
751 1.1 christos WordIOTerm
752 1.1.1.4 christos : PARSEOP_WORDIO
753 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_WORDIO);}
754 1.1 christos OptionalResourceType_First
755 1.1 christos OptionalMinType
756 1.1 christos OptionalMaxType
757 1.1 christos OptionalDecodeType
758 1.1 christos OptionalRangeType
759 1.1 christos ',' WordConstExpr
760 1.1 christos ',' WordConstExpr
761 1.1 christos ',' WordConstExpr
762 1.1 christos ',' WordConstExpr
763 1.1 christos ',' WordConstExpr
764 1.1 christos OptionalByteConstExpr
765 1.1 christos OptionalStringData
766 1.1 christos OptionalNameString
767 1.1 christos OptionalType
768 1.1 christos OptionalTranslationType_Last
769 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,15,
770 1.1.1.3 christos $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
771 1.1.1.4 christos | PARSEOP_WORDIO
772 1.1.1.4 christos PARSEOP_OPEN_PAREN
773 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
774 1.1 christos ;
775 1.1 christos
776 1.1 christos WordSpaceTerm
777 1.1.1.4 christos : PARSEOP_WORDSPACE
778 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_WORDSPACE);}
779 1.1 christos ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
780 1.1 christos OptionalResourceType
781 1.1 christos OptionalDecodeType
782 1.1 christos OptionalMinType
783 1.1 christos OptionalMaxType
784 1.1 christos ',' ByteConstExpr
785 1.1 christos ',' WordConstExpr
786 1.1 christos ',' WordConstExpr
787 1.1 christos ',' WordConstExpr
788 1.1 christos ',' WordConstExpr
789 1.1 christos ',' WordConstExpr
790 1.1 christos OptionalByteConstExpr
791 1.1 christos OptionalStringData
792 1.1 christos OptionalNameString_Last
793 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,14,
794 1.1.1.3 christos $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
795 1.1.1.4 christos | PARSEOP_WORDSPACE
796 1.1.1.4 christos PARSEOP_OPEN_PAREN
797 1.1.1.4 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
798 1.1 christos ;
799