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