Rev 1498 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1498 | serge | 1 | |
2 | /****************************************************************************** |
||
3 | * |
||
4 | * Module Name: aslcompiler.y - Bison input file (ASL grammar and actions) |
||
5 | * |
||
6 | *****************************************************************************/ |
||
7 | |||
8 | |||
9 | * |
||
10 | * 1. Copyright Notice |
||
11 | * |
||
12 | * Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp. |
||
2216 | Serge | 13 | * All rights reserved. |
1498 | serge | 14 | * |
15 | * 2. License |
||
16 | * |
||
17 | * 2.1. This is your license from Intel Corp. under its intellectual property |
||
18 | * rights. You may have additional license terms from the party that provided |
||
19 | * you this software, covering your right to use that party's intellectual |
||
20 | * property rights. |
||
21 | * |
||
22 | * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a |
||
23 | * copy of the source code appearing in this file ("Covered Code") an |
||
24 | * irrevocable, perpetual, worldwide license under Intel's copyrights in the |
||
25 | * base code distributed originally by Intel ("Original Intel Code") to copy, |
||
26 | * make derivatives, distribute, use and display any portion of the Covered |
||
27 | * Code in any form, with the right to sublicense such rights; and |
||
28 | * |
||
29 | * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent |
||
30 | * license (with the right to sublicense), under only those claims of Intel |
||
31 | * patents that are infringed by the Original Intel Code, to make, use, sell, |
||
32 | * offer to sell, and import the Covered Code and derivative works thereof |
||
33 | * solely to the minimum extent necessary to exercise the above copyright |
||
34 | * license, and in no event shall the patent license extend to any additions |
||
35 | * to or modifications of the Original Intel Code. No other license or right |
||
36 | * is granted directly or by implication, estoppel or otherwise; |
||
37 | * |
||
38 | * The above copyright and patent license is granted only if the following |
||
39 | * conditions are met: |
||
40 | * |
||
41 | * 3. Conditions |
||
42 | * |
||
43 | * 3.1. Redistribution of Source with Rights to Further Distribute Source. |
||
44 | * Redistribution of source code of any substantial portion of the Covered |
||
45 | * Code or modification with rights to further distribute source must include |
||
46 | * the above Copyright Notice, the above License, this list of Conditions, |
||
47 | * and the following Disclaimer and Export Compliance provision. In addition, |
||
48 | * Licensee must cause all Covered Code to which Licensee contributes to |
||
49 | * contain a file documenting the changes Licensee made to create that Covered |
||
50 | * Code and the date of any change. Licensee must include in that file the |
||
51 | * documentation of any changes made by any predecessor Licensee. Licensee |
||
52 | * must include a prominent statement that the modification is derived, |
||
53 | * directly or indirectly, from Original Intel Code. |
||
54 | * |
||
55 | * 3.2. Redistribution of Source with no Rights to Further Distribute Source. |
||
56 | * Redistribution of source code of any substantial portion of the Covered |
||
57 | * Code or modification without rights to further distribute source must |
||
58 | * include the following Disclaimer and Export Compliance provision in the |
||
59 | * documentation and/or other materials provided with distribution. In |
||
60 | * addition, Licensee may not authorize further sublicense of source of any |
||
61 | * portion of the Covered Code, and must include terms to the effect that the |
||
62 | * license from Licensee to its licensee is limited to the intellectual |
||
63 | * property embodied in the software Licensee provides to its licensee, and |
||
64 | * not to intellectual property embodied in modifications its licensee may |
||
65 | * make. |
||
66 | * |
||
67 | * 3.3. Redistribution of Executable. Redistribution in executable form of any |
||
68 | * substantial portion of the Covered Code or modification must reproduce the |
||
69 | * above Copyright Notice, and the following Disclaimer and Export Compliance |
||
70 | * provision in the documentation and/or other materials provided with the |
||
71 | * distribution. |
||
72 | * |
||
73 | * 3.4. Intel retains all right, title, and interest in and to the Original |
||
74 | * Intel Code. |
||
75 | * |
||
76 | * 3.5. Neither the name Intel nor any other trademark owned or controlled by |
||
77 | * Intel shall be used in advertising or otherwise to promote the sale, use or |
||
78 | * other dealings in products derived from or relating to the Covered Code |
||
79 | * without prior written authorization from Intel. |
||
80 | * |
||
81 | * 4. Disclaimer and Export Compliance |
||
82 | * |
||
83 | * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED |
||
84 | * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE |
||
85 | * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, |
||
86 | * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY |
||
87 | * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY |
||
88 | * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A |
||
89 | * PARTICULAR PURPOSE. |
||
90 | * |
||
91 | * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES |
||
92 | * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR |
||
93 | * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, |
||
94 | * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY |
||
95 | * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL |
||
96 | * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS |
||
97 | * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY |
||
98 | * LIMITED REMEDY. |
||
99 | * |
||
100 | * 4.3. Licensee shall not export, either directly or indirectly, any of this |
||
101 | * software or system incorporating such software without first obtaining any |
||
102 | * required license or other approval from the U. S. Department of Commerce or |
||
103 | * any other agency or department of the United States Government. In the |
||
104 | * event Licensee exports any such software from the United States or |
||
105 | * re-exports any such software from a foreign destination, Licensee shall |
||
106 | * ensure that the distribution and export/re-export of the software is in |
||
107 | * compliance with all laws, regulations, orders, or other restrictions of the |
||
108 | * U.S. Export Administration Regulations. Licensee agrees that neither it nor |
||
109 | * any of its subsidiaries will export/re-export any technical data, process, |
||
110 | * software, or service, directly or indirectly, to any country for which the |
||
111 | * United States government or any agency thereof requires an export license, |
||
112 | * other governmental approval, or letter of assurance, without first obtaining |
||
113 | * such license, approval or letter. |
||
114 | * |
||
115 | *****************************************************************************/ |
||
116 | |||
117 | |||
118 | #include |
||
119 | #include |
||
120 | #include |
||
121 | #include "acpi.h" |
||
122 | #include "accommon.h" |
||
123 | |||
124 | |||
125 | ACPI_MODULE_NAME ("aslparse") |
||
126 | |||
127 | |||
128 | * Global Notes: |
||
129 | * |
||
130 | * October 2005: The following list terms have been optimized (from the |
||
131 | * original ASL grammar in the ACPI specification) to force the immediate |
||
132 | * reduction of each list item so that the parse stack use doesn't increase on |
||
133 | * each list element and possibly overflow on very large lists (>4000 items). |
||
134 | * This dramatically reduces use of the parse stack overall. |
||
135 | * |
||
136 | * ArgList, TermList, Objectlist, ByteList, DWordList, PackageList, |
||
137 | * ResourceMacroList, and FieldUnitList |
||
138 | */ |
||
139 | |||
140 | |||
2216 | Serge | 141 | |
1498 | serge | 142 | |
2216 | Serge | 143 | |
144 | |||
1498 | serge | 145 | #undef alloca |
146 | #define alloca AslLocalAllocate |
||
2216 | Serge | 147 | #define yytname AslCompilername |
148 | |||
1498 | serge | 149 | |
2216 | Serge | 150 | #define YYDEBUG 1 /* Enable debug output */ |
151 | #define YYERROR_VERBOSE 1 /* Verbose error messages */ |
||
152 | |||
1498 | serge | 153 | |
154 | * The windows version of bison defines this incorrectly as "32768" (Not negative). |
||
155 | * We use a custom (edited binary) version of bison that defines YYFLAG as YYFBAD |
||
2216 | Serge | 156 | * instead (#define YYFBAD 32768), so we can define it correctly here. |
157 | * |
||
1498 | serge | 158 | * The problem is that if YYFLAG is positive, the extended syntax error messages |
159 | * are disabled. |
||
160 | */ |
||
161 | #define YYFLAG -32768 |
||
162 | |||
163 | |||
164 | |||
165 | |||
166 | * Declare the type of values in the grammar |
||
167 | */ |
||
168 | %union { |
||
169 | UINT64 i; |
||
170 | char *s; |
||
171 | ACPI_PARSE_OBJECT *n; |
||
172 | } |
||
173 | |||
174 | |||
175 | |||
176 | |||
177 | * These shift/reduce conflicts are expected. There should be zero |
||
178 | * reduce/reduce conflicts. |
||
179 | */ |
||
180 | %expect 60 |
||
181 | |||
182 | |||
183 | * Token types: These are returned by the lexer |
||
184 | * |
||
185 | * NOTE: This list MUST match the AslKeywordMapping table found |
||
186 | * in aslmap.c EXACTLY! Double check any changes! |
||
187 | */ |
||
188 | %token PARSEOP_ACCESSAS |
||
189 | %token PARSEOP_ACCESSATTRIB_BLOCK |
||
190 | %token PARSEOP_ACCESSATTRIB_BLOCK_CALL |
||
191 | %token PARSEOP_ACCESSATTRIB_BYTE |
||
192 | %token PARSEOP_ACCESSATTRIB_WORD_CALL |
||
193 | %token PARSEOP_ACCESSATTRIB_QUICK |
||
194 | %token PARSEOP_ACCESSATTRIB_SND_RCV |
||
195 | %token PARSEOP_ACCESSATTRIB_WORD |
||
196 | %token PARSEOP_ACCESSTYPE_ANY |
||
197 | %token PARSEOP_ACCESSTYPE_BUF |
||
198 | %token PARSEOP_ACCESSTYPE_BYTE |
||
199 | %token PARSEOP_ACCESSTYPE_DWORD |
||
200 | %token PARSEOP_ACCESSTYPE_QWORD |
||
201 | %token PARSEOP_ACCESSTYPE_WORD |
||
202 | %token PARSEOP_ACQUIRE |
||
203 | %token PARSEOP_ADD |
||
204 | %token PARSEOP_ADDRESSSPACE_FFIXEDHW |
||
205 | %token PARSEOP_ADDRESSTYPE_ACPI |
||
206 | %token PARSEOP_ADDRESSTYPE_MEMORY |
||
207 | %token PARSEOP_ADDRESSTYPE_NVS |
||
208 | %token PARSEOP_ADDRESSTYPE_RESERVED |
||
209 | %token PARSEOP_ALIAS |
||
210 | %token PARSEOP_AND |
||
211 | %token PARSEOP_ARG0 |
||
212 | %token PARSEOP_ARG1 |
||
213 | %token PARSEOP_ARG2 |
||
214 | %token PARSEOP_ARG3 |
||
215 | %token PARSEOP_ARG4 |
||
216 | %token PARSEOP_ARG5 |
||
217 | %token PARSEOP_ARG6 |
||
218 | %token PARSEOP_BANKFIELD |
||
219 | %token PARSEOP_BREAK |
||
220 | %token PARSEOP_BREAKPOINT |
||
221 | %token PARSEOP_BUFFER |
||
222 | %token PARSEOP_BUSMASTERTYPE_MASTER |
||
223 | %token PARSEOP_BUSMASTERTYPE_NOTMASTER |
||
224 | %token PARSEOP_BYTECONST |
||
225 | %token PARSEOP_CASE |
||
226 | %token PARSEOP_CONCATENATE |
||
227 | %token PARSEOP_CONCATENATERESTEMPLATE |
||
228 | %token PARSEOP_CONDREFOF |
||
229 | %token PARSEOP_CONTINUE |
||
230 | %token PARSEOP_COPYOBJECT |
||
231 | %token PARSEOP_CREATEBITFIELD |
||
232 | %token PARSEOP_CREATEBYTEFIELD |
||
233 | %token PARSEOP_CREATEDWORDFIELD |
||
234 | %token PARSEOP_CREATEFIELD |
||
235 | %token PARSEOP_CREATEQWORDFIELD |
||
236 | %token PARSEOP_CREATEWORDFIELD |
||
237 | %token PARSEOP_DATATABLEREGION |
||
238 | %token PARSEOP_DEBUG |
||
239 | %token PARSEOP_DECODETYPE_POS |
||
240 | %token PARSEOP_DECODETYPE_SUB |
||
241 | %token PARSEOP_DECREMENT |
||
242 | %token PARSEOP_DEFAULT |
||
243 | %token PARSEOP_DEFAULT_ARG |
||
244 | %token PARSEOP_DEFINITIONBLOCK |
||
245 | %token PARSEOP_DEREFOF |
||
246 | %token PARSEOP_DEVICE |
||
247 | %token PARSEOP_DIVIDE |
||
248 | %token PARSEOP_DMA |
||
249 | %token PARSEOP_DMATYPE_A |
||
250 | %token PARSEOP_DMATYPE_COMPATIBILITY |
||
251 | %token PARSEOP_DMATYPE_B |
||
252 | %token PARSEOP_DMATYPE_F |
||
253 | %token PARSEOP_DWORDCONST |
||
254 | %token PARSEOP_DWORDIO |
||
255 | %token PARSEOP_DWORDMEMORY |
||
256 | %token PARSEOP_DWORDSPACE |
||
257 | %token PARSEOP_EISAID |
||
258 | %token PARSEOP_ELSE |
||
259 | %token PARSEOP_ELSEIF |
||
260 | %token PARSEOP_ENDDEPENDENTFN |
||
261 | %token PARSEOP_ENDTAG |
||
262 | %token PARSEOP_ERRORNODE |
||
263 | %token PARSEOP_EVENT |
||
264 | %token PARSEOP_EXTENDEDIO |
||
265 | %token PARSEOP_EXTENDEDMEMORY |
||
266 | %token PARSEOP_EXTENDEDSPACE |
||
267 | %token PARSEOP_EXTERNAL |
||
268 | %token PARSEOP_FATAL |
||
269 | %token PARSEOP_FIELD |
||
270 | %token PARSEOP_FINDSETLEFTBIT |
||
271 | %token PARSEOP_FINDSETRIGHTBIT |
||
272 | %token PARSEOP_FIXEDIO |
||
273 | %token PARSEOP_FROMBCD |
||
274 | %token PARSEOP_FUNCTION |
||
275 | %token PARSEOP_IF |
||
276 | %token PARSEOP_INCLUDE |
||
277 | %token PARSEOP_INCLUDE_CSTYLE |
||
278 | %token PARSEOP_INCLUDE_END |
||
279 | %token PARSEOP_INCREMENT |
||
280 | %token PARSEOP_INDEX |
||
281 | %token PARSEOP_INDEXFIELD |
||
282 | %token PARSEOP_INTEGER |
||
283 | %token PARSEOP_INTERRUPT |
||
284 | %token PARSEOP_INTLEVEL_ACTIVEHIGH |
||
285 | %token PARSEOP_INTLEVEL_ACTIVELOW |
||
286 | %token PARSEOP_INTTYPE_EDGE |
||
287 | %token PARSEOP_INTTYPE_LEVEL |
||
288 | %token PARSEOP_IO |
||
289 | %token PARSEOP_IODECODETYPE_10 |
||
290 | %token PARSEOP_IODECODETYPE_16 |
||
291 | %token PARSEOP_IRQ |
||
292 | %token PARSEOP_IRQNOFLAGS |
||
293 | %token PARSEOP_LAND |
||
294 | %token PARSEOP_LEQUAL |
||
295 | %token PARSEOP_LGREATER |
||
296 | %token PARSEOP_LGREATEREQUAL |
||
297 | %token PARSEOP_LINE_CSTYLE |
||
298 | %token PARSEOP_LLESS |
||
299 | %token PARSEOP_LLESSEQUAL |
||
300 | %token PARSEOP_LNOT |
||
301 | %token PARSEOP_LNOTEQUAL |
||
302 | %token PARSEOP_LOAD |
||
303 | %token PARSEOP_LOADTABLE |
||
304 | %token PARSEOP_LOCAL0 |
||
305 | %token PARSEOP_LOCAL1 |
||
306 | %token PARSEOP_LOCAL2 |
||
307 | %token PARSEOP_LOCAL3 |
||
308 | %token PARSEOP_LOCAL4 |
||
309 | %token PARSEOP_LOCAL5 |
||
310 | %token PARSEOP_LOCAL6 |
||
311 | %token PARSEOP_LOCAL7 |
||
312 | %token PARSEOP_LOCKRULE_LOCK |
||
313 | %token PARSEOP_LOCKRULE_NOLOCK |
||
314 | %token PARSEOP_LOR |
||
315 | %token PARSEOP_MATCH |
||
316 | %token PARSEOP_MATCHTYPE_MEQ |
||
317 | %token PARSEOP_MATCHTYPE_MGE |
||
318 | %token PARSEOP_MATCHTYPE_MGT |
||
319 | %token PARSEOP_MATCHTYPE_MLE |
||
320 | %token PARSEOP_MATCHTYPE_MLT |
||
321 | %token PARSEOP_MATCHTYPE_MTR |
||
322 | %token PARSEOP_MAXTYPE_FIXED |
||
323 | %token PARSEOP_MAXTYPE_NOTFIXED |
||
324 | %token PARSEOP_MEMORY24 |
||
325 | %token PARSEOP_MEMORY32 |
||
326 | %token PARSEOP_MEMORY32FIXED |
||
327 | %token PARSEOP_MEMTYPE_CACHEABLE |
||
328 | %token PARSEOP_MEMTYPE_NONCACHEABLE |
||
329 | %token PARSEOP_MEMTYPE_PREFETCHABLE |
||
330 | %token PARSEOP_MEMTYPE_WRITECOMBINING |
||
331 | %token PARSEOP_METHOD |
||
332 | %token PARSEOP_METHODCALL |
||
333 | %token PARSEOP_MID |
||
334 | %token PARSEOP_MINTYPE_FIXED |
||
335 | %token PARSEOP_MINTYPE_NOTFIXED |
||
336 | %token PARSEOP_MOD |
||
337 | %token PARSEOP_MULTIPLY |
||
338 | %token PARSEOP_MUTEX |
||
339 | %token PARSEOP_NAME |
||
340 | %token |
||
341 | %token |
||
342 | %token PARSEOP_NAND |
||
343 | %token PARSEOP_NOOP |
||
344 | %token PARSEOP_NOR |
||
345 | %token PARSEOP_NOT |
||
346 | %token PARSEOP_NOTIFY |
||
347 | %token PARSEOP_OBJECTTYPE |
||
348 | %token PARSEOP_OBJECTTYPE_BFF |
||
349 | %token PARSEOP_OBJECTTYPE_BUF |
||
350 | %token PARSEOP_OBJECTTYPE_DDB |
||
351 | %token PARSEOP_OBJECTTYPE_DEV |
||
352 | %token PARSEOP_OBJECTTYPE_EVT |
||
353 | %token PARSEOP_OBJECTTYPE_FLD |
||
354 | %token PARSEOP_OBJECTTYPE_INT |
||
355 | %token PARSEOP_OBJECTTYPE_MTH |
||
356 | %token PARSEOP_OBJECTTYPE_MTX |
||
357 | %token PARSEOP_OBJECTTYPE_OPR |
||
358 | %token PARSEOP_OBJECTTYPE_PKG |
||
359 | %token PARSEOP_OBJECTTYPE_POW |
||
360 | %token PARSEOP_OBJECTTYPE_PRO |
||
361 | %token PARSEOP_OBJECTTYPE_STR |
||
362 | %token PARSEOP_OBJECTTYPE_THZ |
||
363 | %token PARSEOP_OBJECTTYPE_UNK |
||
364 | %token PARSEOP_OFFSET |
||
365 | %token PARSEOP_ONE |
||
366 | %token PARSEOP_ONES |
||
367 | %token PARSEOP_OPERATIONREGION |
||
368 | %token PARSEOP_OR |
||
369 | %token PARSEOP_PACKAGE |
||
370 | %token PARSEOP_PACKAGE_LENGTH |
||
371 | %token PARSEOP_POWERRESOURCE |
||
372 | %token PARSEOP_PROCESSOR |
||
373 | %token PARSEOP_QWORDCONST |
||
374 | %token PARSEOP_QWORDIO |
||
375 | %token PARSEOP_QWORDMEMORY |
||
376 | %token PARSEOP_QWORDSPACE |
||
377 | %token PARSEOP_RANGETYPE_ENTIRE |
||
378 | %token PARSEOP_RANGETYPE_ISAONLY |
||
379 | %token PARSEOP_RANGETYPE_NONISAONLY |
||
380 | %token PARSEOP_RAW_DATA |
||
381 | %token PARSEOP_READWRITETYPE_BOTH |
||
382 | %token PARSEOP_READWRITETYPE_READONLY |
||
383 | %token PARSEOP_REFOF |
||
384 | %token PARSEOP_REGIONSPACE_CMOS |
||
385 | %token PARSEOP_REGIONSPACE_EC |
||
386 | %token PARSEOP_REGIONSPACE_IO |
||
387 | %token PARSEOP_REGIONSPACE_IPMI |
||
388 | %token PARSEOP_REGIONSPACE_MEM |
||
389 | %token PARSEOP_REGIONSPACE_PCI |
||
390 | %token PARSEOP_REGIONSPACE_PCIBAR |
||
391 | %token PARSEOP_REGIONSPACE_SMBUS |
||
392 | %token PARSEOP_REGISTER |
||
393 | %token PARSEOP_RELEASE |
||
394 | %token PARSEOP_RESERVED_BYTES |
||
395 | %token PARSEOP_RESET |
||
396 | %token PARSEOP_RESOURCETEMPLATE |
||
397 | %token PARSEOP_RESOURCETYPE_CONSUMER |
||
398 | %token PARSEOP_RESOURCETYPE_PRODUCER |
||
399 | %token PARSEOP_RETURN |
||
400 | %token PARSEOP_REVISION |
||
401 | %token PARSEOP_SCOPE |
||
402 | %token PARSEOP_SERIALIZERULE_NOTSERIAL |
||
403 | %token PARSEOP_SERIALIZERULE_SERIAL |
||
404 | %token PARSEOP_SHARETYPE_EXCLUSIVE |
||
405 | %token PARSEOP_SHARETYPE_SHARED |
||
406 | %token PARSEOP_SHIFTLEFT |
||
407 | %token PARSEOP_SHIFTRIGHT |
||
408 | %token PARSEOP_SIGNAL |
||
409 | %token PARSEOP_SIZEOF |
||
410 | %token PARSEOP_SLEEP |
||
411 | %token PARSEOP_STALL |
||
412 | %token PARSEOP_STARTDEPENDENTFN |
||
413 | %token PARSEOP_STARTDEPENDENTFN_NOPRI |
||
414 | %token PARSEOP_STORE |
||
415 | %token |
||
416 | %token PARSEOP_SUBTRACT |
||
417 | %token PARSEOP_SWITCH |
||
418 | %token PARSEOP_THERMALZONE |
||
419 | %token PARSEOP_TIMER |
||
420 | %token PARSEOP_TOBCD |
||
421 | %token PARSEOP_TOBUFFER |
||
422 | %token PARSEOP_TODECIMALSTRING |
||
423 | %token PARSEOP_TOHEXSTRING |
||
424 | %token PARSEOP_TOINTEGER |
||
425 | %token PARSEOP_TOSTRING |
||
426 | %token PARSEOP_TOUUID |
||
427 | %token PARSEOP_TRANSLATIONTYPE_DENSE |
||
428 | %token PARSEOP_TRANSLATIONTYPE_SPARSE |
||
429 | %token PARSEOP_TYPE_STATIC |
||
430 | %token PARSEOP_TYPE_TRANSLATION |
||
431 | %token PARSEOP_UNICODE |
||
432 | %token PARSEOP_UNLOAD |
||
433 | %token PARSEOP_UPDATERULE_ONES |
||
434 | %token PARSEOP_UPDATERULE_PRESERVE |
||
435 | %token PARSEOP_UPDATERULE_ZEROS |
||
436 | %token PARSEOP_VAR_PACKAGE |
||
437 | %token PARSEOP_VENDORLONG |
||
438 | %token PARSEOP_VENDORSHORT |
||
439 | %token PARSEOP_WAIT |
||
440 | %token PARSEOP_WHILE |
||
441 | %token PARSEOP_WORDBUSNUMBER |
||
442 | %token PARSEOP_WORDCONST |
||
443 | %token PARSEOP_WORDIO |
||
444 | %token PARSEOP_WORDSPACE |
||
445 | %token PARSEOP_XFERTYPE_8 |
||
446 | %token PARSEOP_XFERTYPE_8_16 |
||
447 | %token PARSEOP_XFERTYPE_16 |
||
448 | %token PARSEOP_XOR |
||
449 | %token PARSEOP_ZERO |
||
450 | |||
451 | |||
2216 | Serge | 452 | * Special functions. These should probably stay at the end of this |
453 | * table. |
||
454 | */ |
||
455 | %token PARSEOP___DATE__ |
||
456 | %token PARSEOP___FILE__ |
||
457 | %token PARSEOP___LINE__ |
||
458 | |||
1498 | serge | 459 | |
460 | * Production names |
||
461 | */ |
||
462 | |||
463 | |||
464 | %type |
||
465 | %type |
||
466 | %type |
||
467 | %type |
||
468 | %type |
||
469 | %type |
||
470 | %type |
||
471 | %type |
||
472 | %type |
||
473 | %type |
||
474 | %type |
||
475 | %type |
||
476 | %type |
||
477 | %type |
||
478 | %type |
||
479 | %type |
||
480 | %type |
||
481 | %type |
||
482 | %type |
||
483 | %type |
||
484 | %type |
||
485 | %type |
||
486 | %type |
||
487 | %type |
||
488 | |||
489 | |||
490 | %type |
||
491 | %type |
||
492 | %type |
||
493 | %type |
||
494 | %type |
||
495 | %type |
||
496 | |||
497 | |||
498 | |||
499 | |||
500 | %type |
||
501 | |||
502 | |||
503 | %type |
||
504 | %type |
||
505 | %type |
||
506 | |||
507 | |||
508 | %type |
||
509 | %type |
||
510 | |||
511 | |||
512 | %type |
||
513 | %type |
||
514 | |||
515 | |||
516 | |||
517 | |||
518 | |||
519 | %type |
||
520 | %type |
||
521 | %type |
||
522 | %type |
||
523 | %type |
||
524 | %type |
||
525 | %type |
||
526 | %type |
||
527 | %type |
||
528 | %type |
||
529 | %type |
||
530 | %type |
||
531 | %type |
||
532 | %type |
||
533 | %type |
||
534 | %type |
||
535 | %type |
||
536 | %type |
||
537 | %type |
||
538 | |||
539 | |||
540 | |||
541 | |||
542 | |||
543 | %type |
||
544 | %type |
||
545 | |||
546 | |||
547 | |||
548 | |||
549 | %type |
||
550 | %type |
||
551 | %type |
||
552 | %type |
||
553 | %type |
||
554 | %type |
||
555 | %type |
||
556 | %type |
||
557 | %type |
||
558 | %type |
||
559 | %type |
||
560 | %type |
||
561 | %type |
||
562 | %type |
||
563 | %type |
||
564 | %type |
||
565 | %type |
||
566 | //%type |
||
567 | %type |
||
568 | %type |
||
569 | %type |
||
570 | %type |
||
571 | |||
572 | |||
573 | |||
574 | |||
575 | %type |
||
576 | %type |
||
577 | %type |
||
578 | %type |
||
579 | %type |
||
580 | %type |
||
581 | %type |
||
582 | %type |
||
583 | %type |
||
584 | %type |
||
585 | %type |
||
586 | %type |
||
587 | %type |
||
588 | %type |
||
589 | %type |
||
590 | %type |
||
591 | %type |
||
592 | %type |
||
593 | %type |
||
594 | %type |
||
595 | %type |
||
596 | %type |
||
597 | %type |
||
598 | %type |
||
599 | %type |
||
600 | %type |
||
601 | %type |
||
602 | %type |
||
603 | %type |
||
604 | %type |
||
605 | %type |
||
606 | %type |
||
607 | %type |
||
608 | %type |
||
609 | %type |
||
610 | %type |
||
611 | %type |
||
612 | %type |
||
613 | %type |
||
614 | %type |
||
615 | %type |
||
616 | %type |
||
617 | %type |
||
618 | %type |
||
619 | %type |
||
620 | %type |
||
621 | %type |
||
622 | %type |
||
623 | |||
624 | |||
625 | %type |
||
626 | %type |
||
627 | |||
628 | |||
629 | |||
630 | |||
631 | |||
632 | %type |
||
633 | %type |
||
634 | %type |
||
635 | %type |
||
636 | %type |
||
637 | %type |
||
638 | %type |
||
639 | %type |
||
640 | %type |
||
641 | %type |
||
642 | %type |
||
643 | %type |
||
644 | %type |
||
645 | %type |
||
646 | %type |
||
647 | %type |
||
648 | %type |
||
649 | %type |
||
650 | %type |
||
651 | %type |
||
652 | %type |
||
653 | %type |
||
654 | %type |
||
655 | %type |
||
656 | %type |
||
657 | |||
658 | |||
659 | |||
660 | |||
661 | %type |
||
662 | %type |
||
663 | %type |
||
664 | |||
665 | |||
666 | %type |
||
667 | %type |
||
668 | %type |
||
669 | %type |
||
670 | %type |
||
671 | |||
672 | |||
673 | %type |
||
674 | %type |
||
675 | %type |
||
676 | %type |
||
677 | %type |
||
678 | |||
679 | |||
680 | %type |
||
681 | %type |
||
682 | |||
683 | |||
684 | %type |
||
685 | %type |
||
686 | |||
687 | |||
688 | |||
689 | |||
690 | |||
691 | |||
692 | %type |
||
693 | %type |
||
694 | %type |
||
695 | %type |
||
696 | %type |
||
697 | |||
698 | |||
699 | %type |
||
700 | %type |
||
701 | %type |
||
702 | %type |
||
703 | %type |
||
704 | %type |
||
705 | %type |
||
706 | %type |
||
707 | %type |
||
708 | %type |
||
709 | %type |
||
710 | %type |
||
711 | %type |
||
712 | %type |
||
713 | %type |
||
714 | %type |
||
715 | %type |
||
716 | %type |
||
717 | %type |
||
718 | %type |
||
719 | %type |
||
720 | %type |
||
721 | %type |
||
722 | %type |
||
723 | %type |
||
724 | %type |
||
725 | |||
726 | |||
727 | %type |
||
728 | |||
729 | |||
730 | |||
731 | |||
732 | |||
733 | %type |
||
734 | %type |
||
735 | %type |
||
736 | %type |
||
737 | %type |
||
738 | %type |
||
739 | %type |
||
740 | %type |
||
741 | %type |
||
742 | %type |
||
743 | %type |
||
744 | %type |
||
745 | %type |
||
746 | %type |
||
747 | %type |
||
748 | %type |
||
749 | %type |
||
750 | %type |
||
751 | %type |
||
752 | %type |
||
753 | %type |
||
754 | %type |
||
755 | %type |
||
756 | %type |
||
757 | %type |
||
758 | %type |
||
759 | %type |
||
760 | |||
761 | |||
762 | %type |
||
763 | |||
764 | |||
765 | |||
766 | |||
767 | |||
768 | * |
||
769 | * Production rules start here |
||
770 | * |
||
771 | ******************************************************************************/ |
||
772 | |||
773 | |||
774 | * ASL Names |
||
775 | */ |
||
776 | |||
777 | |||
778 | |||
779 | * Blocks, Data, and Opcodes |
||
780 | */ |
||
781 | |||
782 | |||
783 | : DefinitionBlockTerm |
||
784 | | error {YYABORT; $$ = NULL;} |
||
785 | ; |
||
786 | |||
787 | |||
2216 | Serge | 788 | * Note concerning support for "module-level code". |
789 | * |
||
790 | * ACPI 1.0 allowed Type1 and Type2 executable opcodes outside of control |
||
791 | * methods (the so-called module-level code.) This support was explicitly |
||
792 | * removed in ACPI 2.0, but this type of code continues to be created by |
||
793 | * BIOS vendors. In order to support the disassembly and recompilation of |
||
794 | * such code (and the porting of ASL code to iASL), iASL supports this |
||
795 | * code in violation of the current ACPI specification. |
||
796 | * |
||
797 | * The grammar change to support module-level code is to revert the |
||
798 | * {ObjectList} portion of the DefinitionBlockTerm in ACPI 2.0 to the |
||
799 | * original use of {TermList} instead (see below.) This allows the use |
||
800 | * of Type1 and Type2 opcodes at module level. |
||
801 | */ |
||
802 | DefinitionBlockTerm |
||
1498 | serge | 803 | : PARSEOP_DEFINITIONBLOCK '(' {$ |
804 | String ',' |
||
805 | String ',' |
||
806 | ByteConst ',' |
||
807 | String ',' |
||
808 | String ',' |
||
809 | DWordConst |
||
810 | ')' {TrSetEndLineNumber ($ |
||
811 | '{' TermList '}' {$$ = TrLinkChildren ($ |
||
812 | ; |
||
813 | |||
814 | |||
815 | |||
816 | |||
817 | : {$$ = NULL;} |
||
818 | | TermList Term {$$ = TrLinkPeerNode (TrSetNodeFlags ($1, NODE_RESULT_NOT_USED),$2);} |
||
819 | | TermList ';' Term {$$ = TrLinkPeerNode (TrSetNodeFlags ($1, NODE_RESULT_NOT_USED),$3);} |
||
820 | ; |
||
821 | |||
822 | |||
823 | : Object {} |
||
824 | | Type1Opcode {} |
||
825 | | Type2Opcode {} |
||
826 | | Type2IntegerOpcode {} |
||
827 | | Type2StringOpcode {} |
||
828 | | Type2BufferOpcode {} |
||
829 | | Type2BufferOrStringOpcode {} |
||
830 | | error {$$ = AslDoError(); yyclearin;} |
||
831 | ; |
||
832 | |||
833 | |||
834 | : IncludeTerm {} |
||
835 | | IncludeCStyleTerm {$$ = NULL;} |
||
836 | | LineTerm {$$ = NULL;} |
||
837 | | ExternalTerm {} |
||
838 | ; |
||
839 | |||
840 | |||
841 | : {$$ = NULL;} |
||
842 | | ObjectList Object {$$ = TrLinkPeerNode ($1,$2);} |
||
843 | | error {$$ = AslDoError(); yyclearin;} |
||
844 | ; |
||
845 | |||
846 | |||
847 | : CompilerDirective {} |
||
848 | | NamedObject {} |
||
849 | | NameSpaceModifier {} |
||
850 | ; |
||
851 | |||
852 | |||
853 | : BufferData {} |
||
854 | | PackageData {} |
||
855 | | IntegerData {} |
||
856 | | StringData {} |
||
857 | ; |
||
858 | |||
859 | |||
860 | : Type5Opcode {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);} |
||
861 | | Type2BufferOrStringOpcode {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);} |
||
862 | | Type2BufferOpcode {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);} |
||
863 | | BufferTerm {} |
||
864 | ; |
||
865 | |||
866 | |||
867 | : PackageTerm {} |
||
868 | ; |
||
869 | |||
870 | |||
871 | : Type2IntegerOpcode {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);} |
||
872 | | Type3Opcode {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);} |
||
873 | | Integer {} |
||
874 | | ConstTerm {} |
||
875 | ; |
||
876 | |||
877 | |||
878 | : Type2StringOpcode {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);} |
||
879 | | String {} |
||
880 | ; |
||
881 | |||
882 | |||
883 | : BankFieldTerm {} |
||
884 | | CreateBitFieldTerm {} |
||
885 | | CreateByteFieldTerm {} |
||
886 | | CreateDWordFieldTerm {} |
||
887 | | CreateFieldTerm {} |
||
888 | | CreateQWordFieldTerm {} |
||
889 | | CreateWordFieldTerm {} |
||
890 | | DataRegionTerm {} |
||
891 | | DeviceTerm {} |
||
892 | | EventTerm {} |
||
893 | | FieldTerm {} |
||
894 | | FunctionTerm {} |
||
895 | | IndexFieldTerm {} |
||
896 | | MethodTerm {} |
||
897 | | MutexTerm {} |
||
898 | | OpRegionTerm {} |
||
899 | | PowerResTerm {} |
||
900 | | ProcessorTerm {} |
||
901 | | ThermalZoneTerm {} |
||
902 | ; |
||
903 | |||
904 | |||
905 | : AliasTerm {} |
||
906 | | NameTerm {} |
||
907 | | ScopeTerm {} |
||
908 | ; |
||
909 | |||
910 | |||
911 | : NameString '(' {TrUpdateNode (PARSEOP_METHODCALL, $1);} |
||
912 | ArgList ')' {$$ = TrLinkChildNode ($1,$4);} |
||
913 | ; |
||
914 | |||
915 | |||
916 | : {$$ = NULL;} |
||
917 | | TermArg |
||
918 | | ArgList ',' /* Allows a trailing comma at list end */ |
||
919 | | ArgList ',' |
||
920 | TermArg {$$ = TrLinkPeerNode ($1,$3);} |
||
921 | ; |
||
922 | |||
923 | |||
924 | Removed from TermArg due to reduce/reduce conflicts |
||
925 | | Type2IntegerOpcode {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);} |
||
926 | | Type2StringOpcode {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);} |
||
927 | | Type2BufferOpcode {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);} |
||
928 | | Type2BufferOrStringOpcode {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);} |
||
929 | |||
930 | |||
931 | |||
932 | |||
933 | : Type2Opcode {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);} |
||
934 | | DataObject {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);} |
||
935 | | NameString {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);} |
||
936 | | ArgTerm {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);} |
||
937 | | LocalTerm {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);} |
||
938 | ; |
||
939 | |||
940 | |||
941 | : {$$ = TrSetNodeFlags (TrCreateLeafNode (PARSEOP_ZERO), NODE_IS_TARGET | NODE_COMPILE_TIME_CONST);} /* Placeholder is a ZeroOp object */ |
||
942 | | ',' {$$ = TrSetNodeFlags (TrCreateLeafNode (PARSEOP_ZERO), NODE_IS_TARGET | NODE_COMPILE_TIME_CONST);} /* Placeholder is a ZeroOp object */ |
||
943 | | ',' SuperName {$$ = TrSetNodeFlags ($2, NODE_IS_TARGET);} |
||
944 | ; |
||
945 | |||
946 | |||
947 | : ',' SuperName {$$ = TrSetNodeFlags ($2, NODE_IS_TARGET);} |
||
948 | ; |
||
949 | |||
950 | |||
951 | : NameString {} |
||
952 | | LocalTerm {} |
||
953 | | ArgTerm {} |
||
954 | ; |
||
955 | |||
956 | |||
957 | |||
958 | |||
959 | : {$$ = NULL;} |
||
960 | | ObjectTypeKeyword {$$ = $1;} |
||
961 | | ParameterTypePackage ',' |
||
962 | ObjectTypeKeyword {$$ = TrLinkPeerNodes (2,$1,$3);} |
||
963 | ; |
||
964 | |||
965 | |||
966 | : {$$ = NULL;} |
||
967 | | ObjectTypeKeyword {$$ = $1;} |
||
968 | | '{' ParameterTypePackage '}' {$$ = $2;} |
||
969 | ; |
||
970 | |||
971 | |||
972 | : {$$ = TrCreateLeafNode (PARSEOP_DEFAULT_ARG);} |
||
973 | | ',' ParameterTypePackageList {$$ = TrLinkChildren (TrCreateLeafNode (PARSEOP_DEFAULT_ARG),1,$2);} |
||
974 | ; |
||
975 | |||
976 | |||
977 | |||
978 | |||
979 | : ParameterTypePackageList {$$ = $1;} |
||
980 | | ParameterTypesPackage ',' |
||
981 | ParameterTypePackageList {$$ = TrLinkPeerNodes (2,$1,$3);} |
||
982 | ; |
||
983 | |||
984 | |||
985 | : {$$ = NULL;} |
||
986 | | ObjectTypeKeyword {$$ = $1;} |
||
987 | | '{' ParameterTypesPackage '}' {$$ = $2;} |
||
988 | ; |
||
989 | |||
990 | |||
991 | : {$$ = TrCreateLeafNode (PARSEOP_DEFAULT_ARG);} |
||
992 | | ',' ParameterTypesPackageList {$$ = TrLinkChildren (TrCreateLeafNode (PARSEOP_DEFAULT_ARG),1,$2);} |
||
993 | ; |
||
994 | |||
995 | |||
996 | |||
997 | |||
998 | |||
999 | : BreakTerm {} |
||
1000 | | BreakPointTerm {} |
||
1001 | | ContinueTerm {} |
||
1002 | | FatalTerm {} |
||
1003 | | IfElseTerm {} |
||
1004 | | LoadTerm {} |
||
1005 | | NoOpTerm {} |
||
1006 | | NotifyTerm {} |
||
1007 | | ReleaseTerm {} |
||
1008 | | ResetTerm {} |
||
1009 | | ReturnTerm {} |
||
1010 | | SignalTerm {} |
||
1011 | | SleepTerm {} |
||
1012 | | StallTerm {} |
||
1013 | | SwitchTerm {} |
||
1014 | | UnloadTerm {} |
||
1015 | | WhileTerm {} |
||
1016 | ; |
||
1017 | |||
1018 | |||
1019 | : AcquireTerm {} |
||
1020 | | CondRefOfTerm {} |
||
1021 | | CopyObjectTerm {} |
||
1022 | | DerefOfTerm {} |
||
1023 | | ObjectTypeTerm {} |
||
1024 | | RefOfTerm {} |
||
1025 | | SizeOfTerm {} |
||
1026 | | StoreTerm {} |
||
1027 | | TimerTerm {} |
||
1028 | | WaitTerm {} |
||
1029 | | UserTerm {} |
||
1030 | ; |
||
1031 | |||
1032 | |||
1033 | * Type 3/4/5 opcodes |
||
1034 | */ |
||
1035 | |||
1036 | |||
1037 | : AddTerm {} |
||
1038 | | AndTerm {} |
||
1039 | | DecTerm {} |
||
1040 | | DivideTerm {} |
||
1041 | | FindSetLeftBitTerm {} |
||
1042 | | FindSetRightBitTerm {} |
||
1043 | | FromBCDTerm {} |
||
1044 | | IncTerm {} |
||
1045 | | IndexTerm {} |
||
1046 | | LAndTerm {} |
||
1047 | | LEqualTerm {} |
||
1048 | | LGreaterTerm {} |
||
1049 | | LGreaterEqualTerm {} |
||
1050 | | LLessTerm {} |
||
1051 | | LLessEqualTerm {} |
||
1052 | | LNotTerm {} |
||
1053 | | LNotEqualTerm {} |
||
1054 | | LoadTableTerm {} |
||
1055 | | LOrTerm {} |
||
1056 | | MatchTerm {} |
||
1057 | | ModTerm {} |
||
1058 | | MultiplyTerm {} |
||
1059 | | NAndTerm {} |
||
1060 | | NOrTerm {} |
||
1061 | | NotTerm {} |
||
1062 | | OrTerm {} |
||
1063 | | ShiftLeftTerm {} |
||
1064 | | ShiftRightTerm {} |
||
1065 | | SubtractTerm {} |
||
1066 | | ToBCDTerm {} |
||
1067 | | ToIntegerTerm {} |
||
1068 | | XOrTerm {} |
||
1069 | ; |
||
1070 | |||
1071 | |||
1072 | : ToDecimalStringTerm {} |
||
1073 | | ToHexStringTerm {} |
||
1074 | | ToStringTerm {} |
||
1075 | ; |
||
1076 | |||
1077 | |||
1078 | : ToBufferTerm {} |
||
1079 | | ConcatResTerm {} |
||
1080 | ; |
||
1081 | |||
1082 | |||
1083 | : ConcatTerm {} |
||
1084 | | MidTerm {} |
||
1085 | ; |
||
1086 | |||
1087 | |||
1088 | * A type 3 opcode evaluates to an Integer and cannot have a destination operand |
||
1089 | */ |
||
1090 | |||
1091 | |||
1092 | : EISAIDTerm {} |
||
1093 | ; |
||
1094 | |||
1095 | |||
1096 | Type4Opcode |
||
1097 | : ConcatTerm {} |
||
1098 | | ToDecimalStringTerm {} |
||
1099 | | ToHexStringTerm {} |
||
1100 | | MidTerm {} |
||
1101 | | ToStringTerm {} |
||
1102 | ; |
||
1103 | */ |
||
1104 | |||
1105 | |||
1106 | |||
1107 | : ResourceTemplateTerm {} |
||
1108 | | UnicodeTerm {} |
||
1109 | | ToUUIDTerm {} |
||
1110 | ; |
||
1111 | |||
1112 | |||
1113 | : RefOfTerm {} |
||
1114 | | DerefOfTerm {} |
||
1115 | | IndexTerm {} |
||
1116 | | UserTerm {} |
||
1117 | ; |
||
1118 | |||
1119 | |||
1120 | : PARSEOP_INCLUDE '(' {$ |
||
1121 | String ')' {TrLinkChildren ($ |
||
1122 | TermList |
||
1123 | IncludeEndTerm {$$ = TrLinkPeerNodes (3,$ |
||
1124 | ; |
||
1125 | |||
1126 | |||
1127 | : PARSEOP_INCLUDE_END {$$ = TrCreateLeafNode (PARSEOP_INCLUDE_END);} |
||
1128 | ; |
||
1129 | |||
1130 | |||
1131 | : PARSEOP_INCLUDE_CSTYLE |
||
1132 | String {FlOpenIncludeFile ($2);} |
||
1133 | ; |
||
1134 | |||
1135 | |||
1136 | : PARSEOP_LINE_CSTYLE |
||
1137 | Integer {FlSetLineNumber ($2);} |
||
1138 | ; |
||
1139 | |||
1140 | |||
1141 | : PARSEOP_EXTERNAL '(' |
||
1142 | NameString |
||
1143 | OptionalObjectTypeKeyword |
||
1144 | OptionalParameterTypePackage |
||
1145 | OptionalParameterTypesPackage |
||
1146 | ')' {$$ = TrCreateNode (PARSEOP_EXTERNAL,4,$3,$4,$5,$6);} |
||
1147 | | PARSEOP_EXTERNAL '(' |
||
1148 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1149 | ; |
||
1150 | |||
1151 | |||
1152 | |||
1153 | |||
1154 | |||
1155 | |||
1156 | : PARSEOP_BANKFIELD '(' {$ |
||
1157 | NameString |
||
1158 | NameStringItem |
||
1159 | TermArgItem |
||
1160 | ',' AccessTypeKeyword |
||
1161 | ',' LockRuleKeyword |
||
1162 | ',' UpdateRuleKeyword |
||
1163 | ')' '{' |
||
1164 | FieldUnitList '}' {$$ = TrLinkChildren ($ |
||
1165 | | PARSEOP_BANKFIELD '(' |
||
1166 | error ')' '{' error '}' {$$ = AslDoError(); yyclearin;} |
||
1167 | ; |
||
1168 | |||
1169 | |||
1170 | : {$$ = NULL;} |
||
1171 | | FieldUnit |
||
1172 | | FieldUnitList ',' /* Allows a trailing comma at list end */ |
||
1173 | | FieldUnitList ',' |
||
1174 | FieldUnit {$$ = TrLinkPeerNode ($1,$3);} |
||
1175 | ; |
||
1176 | |||
1177 | |||
1178 | : FieldUnitEntry {} |
||
1179 | | OffsetTerm {} |
||
1180 | | AccessAsTerm {} |
||
1181 | ; |
||
1182 | |||
1183 | |||
1184 | : ',' AmlPackageLengthTerm {$$ = TrCreateNode (PARSEOP_RESERVED_BYTES,1,$2);} |
||
1185 | | NameSeg ',' |
||
1186 | AmlPackageLengthTerm {$$ = TrLinkChildNode ($1,$3);} |
||
1187 | ; |
||
1188 | |||
1189 | |||
1190 | : PARSEOP_OFFSET '(' |
||
1191 | AmlPackageLengthTerm |
||
1192 | ')' {$$ = TrCreateNode (PARSEOP_OFFSET,1,$3);} |
||
1193 | | PARSEOP_OFFSET '(' |
||
1194 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1195 | ; |
||
1196 | |||
1197 | |||
1198 | : PARSEOP_ACCESSAS '(' |
||
1199 | AccessTypeKeyword |
||
1200 | OptionalAccessAttribTerm |
||
1201 | ')' {$$ = TrCreateNode (PARSEOP_ACCESSAS,2,$3,$4);} |
||
1202 | | PARSEOP_ACCESSAS '(' |
||
1203 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1204 | ; |
||
1205 | |||
1206 | |||
1207 | : PARSEOP_CREATEBITFIELD '(' {$ |
||
1208 | TermArg |
||
1209 | TermArgItem |
||
1210 | NameStringItem |
||
1211 | ')' {$$ = TrLinkChildren ($ |
||
1212 | | PARSEOP_CREATEBITFIELD '(' |
||
1213 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1214 | ; |
||
1215 | |||
1216 | |||
1217 | : PARSEOP_CREATEBYTEFIELD '(' {$ |
||
1218 | TermArg |
||
1219 | TermArgItem |
||
1220 | NameStringItem |
||
1221 | ')' {$$ = TrLinkChildren ($ |
||
1222 | | PARSEOP_CREATEBYTEFIELD '(' |
||
1223 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1224 | ; |
||
1225 | |||
1226 | |||
1227 | : PARSEOP_CREATEDWORDFIELD '(' {$ |
||
1228 | TermArg |
||
1229 | TermArgItem |
||
1230 | NameStringItem |
||
1231 | ')' {$$ = TrLinkChildren ($ |
||
1232 | | PARSEOP_CREATEDWORDFIELD '(' |
||
1233 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1234 | ; |
||
1235 | |||
1236 | |||
1237 | : PARSEOP_CREATEFIELD '(' {$ |
||
1238 | TermArg |
||
1239 | TermArgItem |
||
1240 | TermArgItem |
||
1241 | NameStringItem |
||
1242 | ')' {$$ = TrLinkChildren ($ |
||
1243 | | PARSEOP_CREATEFIELD '(' |
||
1244 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1245 | ; |
||
1246 | |||
1247 | |||
1248 | : PARSEOP_CREATEQWORDFIELD '(' {$ |
||
1249 | TermArg |
||
1250 | TermArgItem |
||
1251 | NameStringItem |
||
1252 | ')' {$$ = TrLinkChildren ($ |
||
1253 | | PARSEOP_CREATEQWORDFIELD '(' |
||
1254 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1255 | ; |
||
1256 | |||
1257 | |||
1258 | : PARSEOP_CREATEWORDFIELD '(' {$ |
||
1259 | TermArg |
||
1260 | TermArgItem |
||
1261 | NameStringItem |
||
1262 | ')' {$$ = TrLinkChildren ($ |
||
1263 | | PARSEOP_CREATEWORDFIELD '(' |
||
1264 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1265 | ; |
||
1266 | |||
1267 | |||
1268 | : PARSEOP_DATATABLEREGION '(' {$ |
||
1269 | NameString |
||
1270 | TermArgItem |
||
1271 | TermArgItem |
||
1272 | TermArgItem |
||
1273 | ')' {$$ = TrLinkChildren ($ |
||
1274 | | PARSEOP_DATATABLEREGION '(' |
||
1275 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1276 | ; |
||
1277 | |||
1278 | |||
1279 | : PARSEOP_DEVICE '(' {$ |
||
1280 | NameString |
||
1281 | ')' '{' |
||
1282 | ObjectList '}' {$$ = TrLinkChildren ($ |
||
1283 | | PARSEOP_DEVICE '(' |
||
1284 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1285 | ; |
||
1286 | |||
1287 | |||
1288 | : PARSEOP_EVENT '(' {$ |
||
1289 | NameString |
||
1290 | ')' {$$ = TrLinkChildren ($ |
||
1291 | | PARSEOP_EVENT '(' |
||
1292 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1293 | ; |
||
1294 | |||
1295 | |||
1296 | : PARSEOP_FIELD '(' {$ |
||
1297 | NameString |
||
1298 | ',' AccessTypeKeyword |
||
1299 | ',' LockRuleKeyword |
||
1300 | ',' UpdateRuleKeyword |
||
1301 | ')' '{' |
||
1302 | FieldUnitList '}' {$$ = TrLinkChildren ($ |
||
1303 | | PARSEOP_FIELD '(' |
||
1304 | error ')' '{' error '}' {$$ = AslDoError(); yyclearin;} |
||
1305 | ; |
||
1306 | |||
1307 | |||
1308 | : PARSEOP_FUNCTION '(' {$ |
||
1309 | NameString |
||
1310 | OptionalParameterTypePackage |
||
1311 | OptionalParameterTypesPackage |
||
1312 | ')' '{' |
||
1313 | TermList '}' {$$ = TrLinkChildren ($ |
||
1314 | TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0), |
||
1315 | TrCreateLeafNode (PARSEOP_SERIALIZERULE_NOTSERIAL), |
||
1316 | TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0),$5,$6,$9);} |
||
1317 | | PARSEOP_FUNCTION '(' |
||
1318 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1319 | ; |
||
1320 | |||
1321 | |||
1322 | : PARSEOP_INDEXFIELD '(' {$ |
||
1323 | NameString |
||
1324 | NameStringItem |
||
1325 | ',' AccessTypeKeyword |
||
1326 | ',' LockRuleKeyword |
||
1327 | ',' UpdateRuleKeyword |
||
1328 | ')' '{' |
||
1329 | FieldUnitList '}' {$$ = TrLinkChildren ($ |
||
1330 | | PARSEOP_INDEXFIELD '(' |
||
1331 | error ')' '{' error '}' {$$ = AslDoError(); yyclearin;} |
||
1332 | ; |
||
1333 | |||
1334 | |||
1335 | : PARSEOP_METHOD '(' {$ |
||
1336 | NameString |
||
1337 | OptionalByteConstExpr {UtCheckIntegerRange ($5, 0, 7);} |
||
1338 | OptionalSerializeRuleKeyword |
||
1339 | OptionalByteConstExpr |
||
1340 | OptionalParameterTypePackage |
||
1341 | OptionalParameterTypesPackage |
||
1342 | ')' '{' |
||
1343 | TermList '}' {$$ = TrLinkChildren ($ |
||
1344 | | PARSEOP_METHOD '(' |
||
1345 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1346 | ; |
||
1347 | |||
1348 | |||
1349 | : PARSEOP_MUTEX '(' {$ |
||
1350 | NameString |
||
1351 | ',' ByteConstExpr |
||
1352 | ')' {$$ = TrLinkChildren ($ |
||
1353 | | PARSEOP_MUTEX '(' |
||
1354 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1355 | ; |
||
1356 | |||
1357 | |||
1358 | : PARSEOP_OPERATIONREGION '(' {$ |
||
1359 | NameString |
||
1360 | ',' OpRegionSpaceIdTerm |
||
1361 | TermArgItem |
||
1362 | TermArgItem |
||
1363 | ')' {$$ = TrLinkChildren ($ |
||
1364 | | PARSEOP_OPERATIONREGION '(' |
||
1365 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1366 | ; |
||
1367 | |||
1368 | |||
1369 | : RegionSpaceKeyword {} |
||
1370 | | ByteConst {$$ = UtCheckIntegerRange ($1, 0x80, 0xFF);} |
||
1371 | ; |
||
1372 | |||
1373 | |||
1374 | : PARSEOP_POWERRESOURCE '(' {$ |
||
1375 | NameString |
||
1376 | ',' ByteConstExpr |
||
1377 | ',' WordConstExpr |
||
1378 | ')' '{' |
||
1379 | ObjectList '}' {$$ = TrLinkChildren ($ |
||
1380 | | PARSEOP_POWERRESOURCE '(' |
||
1381 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1382 | ; |
||
1383 | |||
1384 | |||
1385 | : PARSEOP_PROCESSOR '(' {$ |
||
1386 | NameString |
||
1387 | ',' ByteConstExpr |
||
1388 | OptionalDWordConstExpr |
||
1389 | OptionalByteConstExpr |
||
1390 | ')' '{' |
||
1391 | ObjectList '}' {$$ = TrLinkChildren ($ |
||
1392 | | PARSEOP_PROCESSOR '(' |
||
1393 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1394 | ; |
||
1395 | |||
1396 | |||
1397 | : PARSEOP_THERMALZONE '(' {$ |
||
1398 | NameString |
||
1399 | ')' '{' |
||
1400 | ObjectList '}' {$$ = TrLinkChildren ($ |
||
1401 | | PARSEOP_THERMALZONE '(' |
||
1402 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1403 | ; |
||
1404 | |||
1405 | |||
1406 | |||
1407 | |||
1408 | |||
1409 | |||
1410 | : PARSEOP_ALIAS '(' {$ |
||
1411 | NameString |
||
1412 | NameStringItem |
||
1413 | ')' {$$ = TrLinkChildren ($ |
||
1414 | | PARSEOP_ALIAS '(' |
||
1415 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1416 | ; |
||
1417 | |||
1418 | |||
1419 | : PARSEOP_NAME '(' {$ |
||
1420 | NameString |
||
1421 | ',' DataObject |
||
1422 | ')' {$$ = TrLinkChildren ($ |
||
1423 | | PARSEOP_NAME '(' |
||
1424 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1425 | ; |
||
1426 | |||
1427 | |||
1428 | : PARSEOP_SCOPE '(' {$ |
||
1429 | NameString |
||
1430 | ')' '{' |
||
1431 | ObjectList '}' {$$ = TrLinkChildren ($ |
||
1432 | | PARSEOP_SCOPE '(' |
||
1433 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1434 | ; |
||
1435 | |||
1436 | |||
1437 | |||
1438 | |||
1439 | |||
1440 | |||
1441 | : PARSEOP_BREAK {$$ = TrCreateNode (PARSEOP_BREAK, 0);} |
||
1442 | ; |
||
1443 | |||
1444 | |||
1445 | : PARSEOP_BREAKPOINT {$$ = TrCreateNode (PARSEOP_BREAKPOINT, 0);} |
||
1446 | ; |
||
1447 | |||
1448 | |||
1449 | : PARSEOP_CONTINUE {$$ = TrCreateNode (PARSEOP_CONTINUE, 0);} |
||
1450 | ; |
||
1451 | |||
1452 | |||
1453 | : PARSEOP_FATAL '(' {$ |
||
1454 | ByteConstExpr |
||
1455 | ',' DWordConstExpr |
||
1456 | TermArgItem |
||
1457 | ')' {$$ = TrLinkChildren ($ |
||
1458 | | PARSEOP_FATAL '(' |
||
1459 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1460 | ; |
||
1461 | |||
1462 | |||
1463 | : IfTerm ElseTerm {$$ = TrLinkPeerNode ($1,$2);} |
||
1464 | ; |
||
1465 | |||
1466 | |||
1467 | : PARSEOP_IF '(' {$ |
||
1468 | TermArg |
||
1469 | ')' '{' |
||
1470 | TermList '}' {$$ = TrLinkChildren ($ |
||
1471 | |||
1472 | |||
1473 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1474 | ; |
||
1475 | |||
1476 | |||
1477 | : {$$ = NULL;} |
||
1478 | | PARSEOP_ELSE '{' {$ |
||
1479 | TermList '}' {$$ = TrLinkChildren ($ |
||
1480 | |||
1481 | |||
1482 | error '}' {$$ = AslDoError(); yyclearin;} |
||
1483 | |||
1484 | |||
1485 | error {$$ = AslDoError(); yyclearin;} |
||
1486 | |||
1487 | |||
1488 | TermArg {$ |
||
1489 | ')' '{' |
||
1490 | TermList '}' {TrLinkChildren ($ |
||
1491 | ElseTerm {TrLinkPeerNode ($ |
||
1492 | {$$ = TrLinkChildren ($ |
||
1493 | |||
1494 | |||
1495 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1496 | |||
1497 | |||
1498 | error {$$ = AslDoError(); yyclearin;} |
||
1499 | ; |
||
1500 | |||
1501 | |||
1502 | : PARSEOP_LOAD '(' {$ |
||
1503 | NameString |
||
1504 | RequiredTarget |
||
1505 | ')' {$$ = TrLinkChildren ($ |
||
1506 | | PARSEOP_LOAD '(' |
||
1507 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1508 | ; |
||
1509 | |||
1510 | |||
1511 | : PARSEOP_NOOP {$$ = TrCreateNode (PARSEOP_NOOP, 0);} |
||
1512 | ; |
||
1513 | |||
1514 | |||
1515 | : PARSEOP_NOTIFY '(' {$ |
||
1516 | SuperName |
||
1517 | TermArgItem |
||
1518 | ')' {$$ = TrLinkChildren ($ |
||
1519 | | PARSEOP_NOTIFY '(' |
||
1520 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1521 | ; |
||
1522 | |||
1523 | |||
1524 | : PARSEOP_RELEASE '(' {$ |
||
1525 | SuperName |
||
1526 | ')' {$$ = TrLinkChildren ($ |
||
1527 | | PARSEOP_RELEASE '(' |
||
1528 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1529 | ; |
||
1530 | |||
1531 | |||
1532 | : PARSEOP_RESET '(' {$ |
||
1533 | SuperName |
||
1534 | ')' {$$ = TrLinkChildren ($ |
||
1535 | | PARSEOP_RESET '(' |
||
1536 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1537 | ; |
||
1538 | |||
1539 | |||
1540 | : PARSEOP_RETURN '(' {$ |
||
1541 | OptionalReturnArg |
||
1542 | ')' {$$ = TrLinkChildren ($ |
||
1543 | | PARSEOP_RETURN {$$ = TrLinkChildren (TrCreateLeafNode (PARSEOP_RETURN),1,TrSetNodeFlags (TrCreateLeafNode (PARSEOP_ZERO), NODE_IS_NULL_RETURN));} |
||
2216 | Serge | 1544 | | PARSEOP_RETURN '(' |
1498 | serge | 1545 | error ')' {$$ = AslDoError(); yyclearin;} |
1546 | ; |
||
1547 | |||
1548 | |||
1549 | : PARSEOP_SIGNAL '(' {$ |
||
1550 | SuperName |
||
1551 | ')' {$$ = TrLinkChildren ($ |
||
1552 | | PARSEOP_SIGNAL '(' |
||
1553 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1554 | ; |
||
1555 | |||
1556 | |||
1557 | : PARSEOP_SLEEP '(' {$ |
||
1558 | TermArg |
||
1559 | ')' {$$ = TrLinkChildren ($ |
||
1560 | | PARSEOP_SLEEP '(' |
||
1561 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1562 | ; |
||
1563 | |||
1564 | |||
1565 | : PARSEOP_STALL '(' {$ |
||
1566 | TermArg |
||
1567 | ')' {$$ = TrLinkChildren ($ |
||
1568 | | PARSEOP_STALL '(' |
||
1569 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1570 | ; |
||
1571 | |||
1572 | |||
1573 | : PARSEOP_SWITCH '(' {$ |
||
1574 | TermArg |
||
1575 | ')' '{' |
||
1576 | CaseDefaultTermList '}' |
||
1577 | {$$ = TrLinkChildren ($ |
||
1578 | | PARSEOP_SWITCH '(' |
||
1579 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1580 | ; |
||
1581 | |||
1582 | |||
1583 | * Case-Default list; allow only one Default term and unlimited Case terms |
||
1584 | */ |
||
1585 | |||
1586 | |||
1587 | : {$$ = NULL;} |
||
1588 | | CaseTerm {} |
||
1589 | | DefaultTerm {} |
||
1590 | | CaseDefaultTermList |
||
1591 | CaseTerm {$$ = TrLinkPeerNode ($1,$2);} |
||
1592 | | CaseDefaultTermList |
||
1593 | DefaultTerm {$$ = TrLinkPeerNode ($1,$2);} |
||
1594 | |||
1595 | |||
1596 | |||
1597 | |||
1598 | CaseDefaultTermList |
||
1599 | : {$$ = NULL;} |
||
1600 | | CaseTermList |
||
1601 | DefaultTerm |
||
1602 | CaseTermList {$$ = TrLinkPeerNode ($1,TrLinkPeerNode ($2, $3));} |
||
1603 | | CaseTermList |
||
1604 | CaseTerm {$$ = TrLinkPeerNode ($1,$2);} |
||
1605 | ; |
||
1606 | |||
1607 | |||
1608 | : {$$ = NULL;} |
||
1609 | | CaseTerm {} |
||
1610 | | CaseTermList |
||
1611 | CaseTerm {$$ = TrLinkPeerNode ($1,$2);} |
||
1612 | ; |
||
1613 | */ |
||
1614 | |||
1615 | |||
1616 | : PARSEOP_CASE '(' {$ |
||
1617 | DataObject |
||
1618 | ')' '{' |
||
1619 | TermList '}' {$$ = TrLinkChildren ($ |
||
1620 | | PARSEOP_CASE '(' |
||
1621 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1622 | ; |
||
1623 | |||
1624 | |||
1625 | : PARSEOP_DEFAULT '{' {$ |
||
1626 | TermList '}' {$$ = TrLinkChildren ($ |
||
1627 | | PARSEOP_DEFAULT '{' |
||
1628 | error '}' {$$ = AslDoError(); yyclearin;} |
||
1629 | ; |
||
1630 | |||
1631 | |||
1632 | : PARSEOP_UNLOAD '(' {$ |
||
1633 | SuperName |
||
1634 | ')' {$$ = TrLinkChildren ($ |
||
1635 | | PARSEOP_UNLOAD '(' |
||
1636 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1637 | ; |
||
1638 | |||
1639 | |||
1640 | : PARSEOP_WHILE '(' {$ |
||
1641 | TermArg |
||
1642 | ')' '{' TermList '}' |
||
1643 | {$$ = TrLinkChildren ($ |
||
1644 | | PARSEOP_WHILE '(' |
||
1645 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1646 | ; |
||
1647 | |||
1648 | |||
1649 | |||
1650 | |||
1651 | |||
1652 | : PARSEOP_ACQUIRE '(' {$ |
||
1653 | SuperName |
||
1654 | ',' WordConstExpr |
||
1655 | ')' {$$ = TrLinkChildren ($ |
||
1656 | | PARSEOP_ACQUIRE '(' |
||
1657 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1658 | ; |
||
1659 | |||
1660 | |||
1661 | : PARSEOP_ADD '(' {$ |
||
1662 | TermArg |
||
1663 | TermArgItem |
||
1664 | Target |
||
1665 | ')' {$$ = TrLinkChildren ($ |
||
1666 | | PARSEOP_ADD '(' |
||
1667 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1668 | ; |
||
1669 | |||
1670 | |||
1671 | : PARSEOP_AND '(' {$ |
||
1672 | TermArg |
||
1673 | TermArgItem |
||
1674 | Target |
||
1675 | ')' {$$ = TrLinkChildren ($ |
||
1676 | | PARSEOP_AND '(' |
||
1677 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1678 | ; |
||
1679 | |||
1680 | |||
1681 | : PARSEOP_CONCATENATE '(' {$ |
||
1682 | TermArg |
||
1683 | TermArgItem |
||
1684 | Target |
||
1685 | ')' {$$ = TrLinkChildren ($ |
||
1686 | | PARSEOP_CONCATENATE '(' |
||
1687 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1688 | ; |
||
1689 | |||
1690 | |||
1691 | : PARSEOP_CONCATENATERESTEMPLATE '(' {$ |
||
1692 | TermArg |
||
1693 | TermArgItem |
||
1694 | Target |
||
1695 | ')' {$$ = TrLinkChildren ($ |
||
1696 | | PARSEOP_CONCATENATERESTEMPLATE '(' |
||
1697 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1698 | ; |
||
1699 | |||
1700 | |||
1701 | : PARSEOP_CONDREFOF '(' {$ |
||
1702 | SuperName |
||
1703 | Target |
||
1704 | ')' {$$ = TrLinkChildren ($ |
||
1705 | | PARSEOP_CONDREFOF '(' |
||
1706 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1707 | ; |
||
1708 | |||
1709 | |||
1710 | : PARSEOP_COPYOBJECT '(' {$ |
||
1711 | TermArg |
||
1712 | ',' SimpleTarget |
||
1713 | ')' {$$ = TrLinkChildren ($ |
||
1714 | | PARSEOP_COPYOBJECT '(' |
||
1715 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1716 | ; |
||
1717 | |||
1718 | |||
1719 | : PARSEOP_DECREMENT '(' {$ |
||
1720 | SuperName |
||
1721 | ')' {$$ = TrLinkChildren ($ |
||
1722 | | PARSEOP_DECREMENT '(' |
||
1723 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1724 | ; |
||
1725 | |||
1726 | |||
1727 | : PARSEOP_DEREFOF '(' {$ |
||
1728 | TermArg |
||
1729 | ')' {$$ = TrLinkChildren ($ |
||
1730 | | PARSEOP_DEREFOF '(' |
||
1731 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1732 | ; |
||
1733 | |||
1734 | |||
1735 | : PARSEOP_DIVIDE '(' {$ |
||
1736 | TermArg |
||
1737 | TermArgItem |
||
1738 | Target |
||
1739 | Target |
||
1740 | ')' {$$ = TrLinkChildren ($ |
||
1741 | | PARSEOP_DIVIDE '(' |
||
1742 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1743 | ; |
||
1744 | |||
1745 | |||
1746 | : PARSEOP_FINDSETLEFTBIT '(' {$ |
||
1747 | TermArg |
||
1748 | Target |
||
1749 | ')' {$$ = TrLinkChildren ($ |
||
1750 | | PARSEOP_FINDSETLEFTBIT '(' |
||
1751 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1752 | ; |
||
1753 | |||
1754 | |||
1755 | : PARSEOP_FINDSETRIGHTBIT '(' {$ |
||
1756 | TermArg |
||
1757 | Target |
||
1758 | ')' {$$ = TrLinkChildren ($ |
||
1759 | | PARSEOP_FINDSETRIGHTBIT '(' |
||
1760 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1761 | ; |
||
1762 | |||
1763 | |||
1764 | : PARSEOP_FROMBCD '(' {$ |
||
1765 | TermArg |
||
1766 | Target |
||
1767 | ')' {$$ = TrLinkChildren ($ |
||
1768 | | PARSEOP_FROMBCD '(' |
||
1769 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1770 | ; |
||
1771 | |||
1772 | |||
1773 | : PARSEOP_INCREMENT '(' {$ |
||
1774 | SuperName |
||
1775 | ')' {$$ = TrLinkChildren ($ |
||
1776 | | PARSEOP_INCREMENT '(' |
||
1777 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1778 | ; |
||
1779 | |||
1780 | |||
1781 | : PARSEOP_INDEX '(' {$ |
||
1782 | TermArg |
||
1783 | TermArgItem |
||
1784 | Target |
||
1785 | ')' {$$ = TrLinkChildren ($ |
||
1786 | | PARSEOP_INDEX '(' |
||
1787 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1788 | ; |
||
1789 | |||
1790 | |||
1791 | : PARSEOP_LAND '(' {$ |
||
1792 | TermArg |
||
1793 | TermArgItem |
||
1794 | ')' {$$ = TrLinkChildren ($ |
||
1795 | | PARSEOP_LAND '(' |
||
1796 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1797 | ; |
||
1798 | |||
1799 | |||
1800 | : PARSEOP_LEQUAL '(' {$ |
||
1801 | TermArg |
||
1802 | TermArgItem |
||
1803 | ')' {$$ = TrLinkChildren ($ |
||
1804 | | PARSEOP_LEQUAL '(' |
||
1805 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1806 | ; |
||
1807 | |||
1808 | |||
1809 | : PARSEOP_LGREATER '(' {$ |
||
1810 | TermArg |
||
1811 | TermArgItem |
||
1812 | ')' {$$ = TrLinkChildren ($ |
||
1813 | | PARSEOP_LGREATER '(' |
||
1814 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1815 | ; |
||
1816 | |||
1817 | |||
1818 | : PARSEOP_LGREATEREQUAL '(' {$ |
||
1819 | TermArg |
||
1820 | TermArgItem |
||
1821 | ')' {$$ = TrCreateNode (PARSEOP_LNOT, 1, TrLinkChildren ($ |
||
1822 | | PARSEOP_LGREATEREQUAL '(' |
||
1823 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1824 | ; |
||
1825 | |||
1826 | |||
1827 | : PARSEOP_LLESS '(' {$ |
||
1828 | TermArg |
||
1829 | TermArgItem |
||
1830 | ')' {$$ = TrLinkChildren ($ |
||
1831 | | PARSEOP_LLESS '(' |
||
1832 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1833 | ; |
||
1834 | |||
1835 | |||
1836 | : PARSEOP_LLESSEQUAL '(' {$ |
||
1837 | TermArg |
||
1838 | TermArgItem |
||
1839 | ')' {$$ = TrCreateNode (PARSEOP_LNOT, 1, TrLinkChildren ($ |
||
1840 | | PARSEOP_LLESSEQUAL '(' |
||
1841 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1842 | ; |
||
1843 | |||
1844 | |||
1845 | : PARSEOP_LNOT '(' {$ |
||
1846 | TermArg |
||
1847 | ')' {$$ = TrLinkChildren ($ |
||
1848 | | PARSEOP_LNOT '(' |
||
1849 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1850 | ; |
||
1851 | |||
1852 | |||
1853 | : PARSEOP_LNOTEQUAL '(' {$ |
||
1854 | TermArg |
||
1855 | TermArgItem |
||
1856 | ')' {$$ = TrCreateNode (PARSEOP_LNOT, 1, TrLinkChildren ($ |
||
1857 | | PARSEOP_LNOTEQUAL '(' |
||
1858 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1859 | ; |
||
1860 | |||
1861 | |||
1862 | : PARSEOP_LOADTABLE '(' {$ |
||
1863 | TermArg |
||
1864 | TermArgItem |
||
1865 | TermArgItem |
||
1866 | OptionalListString |
||
1867 | OptionalListString |
||
1868 | OptionalReference |
||
1869 | ')' {$$ = TrLinkChildren ($ |
||
1870 | | PARSEOP_LOADTABLE '(' |
||
1871 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1872 | ; |
||
1873 | |||
1874 | |||
1875 | : PARSEOP_LOR '(' {$ |
||
1876 | TermArg |
||
1877 | TermArgItem |
||
1878 | ')' {$$ = TrLinkChildren ($ |
||
1879 | | PARSEOP_LOR '(' |
||
1880 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1881 | ; |
||
1882 | |||
1883 | |||
1884 | : PARSEOP_MATCH '(' {$ |
||
1885 | TermArg |
||
1886 | ',' MatchOpKeyword |
||
1887 | TermArgItem |
||
1888 | ',' MatchOpKeyword |
||
1889 | TermArgItem |
||
1890 | TermArgItem |
||
1891 | ')' {$$ = TrLinkChildren ($ |
||
1892 | | PARSEOP_MATCH '(' |
||
1893 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1894 | ; |
||
1895 | |||
1896 | |||
1897 | : PARSEOP_MID '(' {$ |
||
1898 | TermArg |
||
1899 | TermArgItem |
||
1900 | TermArgItem |
||
1901 | Target |
||
1902 | ')' {$$ = TrLinkChildren ($ |
||
1903 | | PARSEOP_MID '(' |
||
1904 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1905 | ; |
||
1906 | |||
1907 | |||
1908 | : PARSEOP_MOD '(' {$ |
||
1909 | TermArg |
||
1910 | TermArgItem |
||
1911 | Target |
||
1912 | ')' {$$ = TrLinkChildren ($ |
||
1913 | | PARSEOP_MOD '(' |
||
1914 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1915 | ; |
||
1916 | |||
1917 | |||
1918 | : PARSEOP_MULTIPLY '(' {$ |
||
1919 | TermArg |
||
1920 | TermArgItem |
||
1921 | Target |
||
1922 | ')' {$$ = TrLinkChildren ($ |
||
1923 | | PARSEOP_MULTIPLY '(' |
||
1924 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1925 | ; |
||
1926 | |||
1927 | |||
1928 | : PARSEOP_NAND '(' {$ |
||
1929 | TermArg |
||
1930 | TermArgItem |
||
1931 | Target |
||
1932 | ')' {$$ = TrLinkChildren ($ |
||
1933 | | PARSEOP_NAND '(' |
||
1934 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1935 | ; |
||
1936 | |||
1937 | |||
1938 | : PARSEOP_NOR '(' {$ |
||
1939 | TermArg |
||
1940 | TermArgItem |
||
1941 | Target |
||
1942 | ')' {$$ = TrLinkChildren ($ |
||
1943 | | PARSEOP_NOR '(' |
||
1944 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1945 | ; |
||
1946 | |||
1947 | |||
1948 | : PARSEOP_NOT '(' {$ |
||
1949 | TermArg |
||
1950 | Target |
||
1951 | ')' {$$ = TrLinkChildren ($ |
||
1952 | | PARSEOP_NOT '(' |
||
1953 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1954 | ; |
||
1955 | |||
1956 | |||
1957 | : PARSEOP_OBJECTTYPE '(' {$ |
||
1958 | SuperName |
||
1959 | ')' {$$ = TrLinkChildren ($ |
||
1960 | | PARSEOP_OBJECTTYPE '(' |
||
1961 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1962 | ; |
||
1963 | |||
1964 | |||
1965 | : PARSEOP_OR '(' {$ |
||
1966 | TermArg |
||
1967 | TermArgItem |
||
1968 | Target |
||
1969 | ')' {$$ = TrLinkChildren ($ |
||
1970 | | PARSEOP_OR '(' |
||
1971 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1972 | ; |
||
1973 | |||
1974 | |||
1975 | * In RefOf, the node isn't really a target, but we can't keep track of it after |
||
1976 | * we've taken a pointer to it. (hard to tell if a local becomes initialized this way.) |
||
1977 | */ |
||
1978 | RefOfTerm |
||
1979 | : PARSEOP_REFOF '(' {$ |
||
1980 | SuperName |
||
1981 | ')' {$$ = TrLinkChildren ($ |
||
1982 | | PARSEOP_REFOF '(' |
||
1983 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1984 | ; |
||
1985 | |||
1986 | |||
1987 | : PARSEOP_SHIFTLEFT '(' {$ |
||
1988 | TermArg |
||
1989 | TermArgItem |
||
1990 | Target |
||
1991 | ')' {$$ = TrLinkChildren ($ |
||
1992 | | PARSEOP_SHIFTLEFT '(' |
||
1993 | error ')' {$$ = AslDoError(); yyclearin;} |
||
1994 | ; |
||
1995 | |||
1996 | |||
1997 | : PARSEOP_SHIFTRIGHT '(' {$ |
||
1998 | TermArg |
||
1999 | TermArgItem |
||
2000 | Target |
||
2001 | ')' {$$ = TrLinkChildren ($ |
||
2002 | | PARSEOP_SHIFTRIGHT '(' |
||
2003 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2004 | ; |
||
2005 | |||
2006 | |||
2007 | : PARSEOP_SIZEOF '(' {$ |
||
2008 | SuperName |
||
2009 | ')' {$$ = TrLinkChildren ($ |
||
2010 | | PARSEOP_SIZEOF '(' |
||
2011 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2012 | ; |
||
2013 | |||
2014 | |||
2015 | : PARSEOP_STORE '(' {$ |
||
2016 | TermArg |
||
2017 | ',' SuperName |
||
2018 | ')' {$$ = TrLinkChildren ($ |
||
2019 | | PARSEOP_STORE '(' |
||
2020 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2021 | ; |
||
2022 | |||
2023 | |||
2024 | : PARSEOP_SUBTRACT '(' {$ |
||
2025 | TermArg |
||
2026 | TermArgItem |
||
2027 | Target |
||
2028 | ')' {$$ = TrLinkChildren ($ |
||
2029 | | PARSEOP_SUBTRACT '(' |
||
2030 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2031 | ; |
||
2032 | |||
2033 | |||
2034 | : PARSEOP_TIMER '(' {$ |
||
2035 | ')' {$$ = TrLinkChildren ($ |
||
2036 | | PARSEOP_TIMER {$$ = TrLinkChildren (TrCreateLeafNode (PARSEOP_TIMER),0);} |
||
2037 | | PARSEOP_TIMER '(' |
||
2038 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2039 | ; |
||
2040 | |||
2041 | |||
2042 | : PARSEOP_TOBCD '(' {$ |
||
2043 | TermArg |
||
2044 | Target |
||
2045 | ')' {$$ = TrLinkChildren ($ |
||
2046 | | PARSEOP_TOBCD '(' |
||
2047 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2048 | ; |
||
2049 | |||
2050 | |||
2051 | : PARSEOP_TOBUFFER '(' {$ |
||
2052 | TermArg |
||
2053 | Target |
||
2054 | ')' {$$ = TrLinkChildren ($ |
||
2055 | | PARSEOP_TOBUFFER '(' |
||
2056 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2057 | ; |
||
2058 | |||
2059 | |||
2060 | : PARSEOP_TODECIMALSTRING '(' {$ |
||
2061 | TermArg |
||
2062 | Target |
||
2063 | ')' {$$ = TrLinkChildren ($ |
||
2064 | | PARSEOP_TODECIMALSTRING '(' |
||
2065 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2066 | ; |
||
2067 | |||
2068 | |||
2069 | : PARSEOP_TOHEXSTRING '(' {$ |
||
2070 | TermArg |
||
2071 | Target |
||
2072 | ')' {$$ = TrLinkChildren ($ |
||
2073 | | PARSEOP_TOHEXSTRING '(' |
||
2074 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2075 | ; |
||
2076 | |||
2077 | |||
2078 | : PARSEOP_TOINTEGER '(' {$ |
||
2079 | TermArg |
||
2080 | Target |
||
2081 | ')' {$$ = TrLinkChildren ($ |
||
2082 | | PARSEOP_TOINTEGER '(' |
||
2083 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2084 | ; |
||
2085 | |||
2086 | |||
2087 | : PARSEOP_TOSTRING '(' {$ |
||
2088 | TermArg |
||
2089 | OptionalCount |
||
2090 | Target |
||
2091 | ')' {$$ = TrLinkChildren ($ |
||
2092 | | PARSEOP_TOSTRING '(' |
||
2093 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2094 | ; |
||
2095 | |||
2096 | |||
2097 | : PARSEOP_TOUUID '(' |
||
2098 | StringData ')' {$$ = TrUpdateNode (PARSEOP_TOUUID, $3);} |
||
2099 | | PARSEOP_TOUUID '(' |
||
2100 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2101 | ; |
||
2102 | |||
2103 | |||
2104 | : PARSEOP_WAIT '(' {$ |
||
2105 | SuperName |
||
2106 | TermArgItem |
||
2107 | ')' {$$ = TrLinkChildren ($ |
||
2108 | | PARSEOP_WAIT '(' |
||
2109 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2110 | ; |
||
2111 | |||
2112 | |||
2113 | : PARSEOP_XOR '(' {$ |
||
2114 | TermArg |
||
2115 | TermArgItem |
||
2116 | Target |
||
2117 | ')' {$$ = TrLinkChildren ($ |
||
2118 | | PARSEOP_XOR '(' |
||
2119 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2120 | ; |
||
2121 | |||
2122 | |||
2123 | |||
2124 | |||
2125 | |||
2126 | |||
2127 | : PARSEOP_OBJECTTYPE_UNK {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_UNK);} |
||
2128 | | PARSEOP_OBJECTTYPE_INT {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_INT);} |
||
2129 | | PARSEOP_OBJECTTYPE_STR {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_STR);} |
||
2130 | | PARSEOP_OBJECTTYPE_BUF {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_BUF);} |
||
2131 | | PARSEOP_OBJECTTYPE_PKG {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_PKG);} |
||
2132 | | PARSEOP_OBJECTTYPE_FLD {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_FLD);} |
||
2133 | | PARSEOP_OBJECTTYPE_DEV {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_DEV);} |
||
2134 | | PARSEOP_OBJECTTYPE_EVT {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_EVT);} |
||
2135 | | PARSEOP_OBJECTTYPE_MTH {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_MTH);} |
||
2136 | | PARSEOP_OBJECTTYPE_MTX {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_MTX);} |
||
2137 | | PARSEOP_OBJECTTYPE_OPR {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_OPR);} |
||
2138 | | PARSEOP_OBJECTTYPE_POW {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_POW);} |
||
2139 | | PARSEOP_OBJECTTYPE_PRO {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_PRO);} |
||
2140 | | PARSEOP_OBJECTTYPE_THZ {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_THZ);} |
||
2141 | | PARSEOP_OBJECTTYPE_BFF {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_BFF);} |
||
2142 | | PARSEOP_OBJECTTYPE_DDB {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_DDB);} |
||
2143 | ; |
||
2144 | |||
2145 | |||
2146 | : PARSEOP_ACCESSTYPE_ANY {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_ANY);} |
||
2147 | | PARSEOP_ACCESSTYPE_BYTE {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_BYTE);} |
||
2148 | | PARSEOP_ACCESSTYPE_WORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_WORD);} |
||
2149 | | PARSEOP_ACCESSTYPE_DWORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_DWORD);} |
||
2150 | | PARSEOP_ACCESSTYPE_QWORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_QWORD);} |
||
2151 | | PARSEOP_ACCESSTYPE_BUF {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_BUF);} |
||
2152 | ; |
||
2153 | |||
2154 | |||
2155 | : PARSEOP_ACCESSATTRIB_QUICK {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_QUICK );} |
||
2156 | | PARSEOP_ACCESSATTRIB_SND_RCV {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_SND_RCV);} |
||
2157 | | PARSEOP_ACCESSATTRIB_BYTE {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_BYTE);} |
||
2158 | | PARSEOP_ACCESSATTRIB_WORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_WORD);} |
||
2159 | | PARSEOP_ACCESSATTRIB_BLOCK {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_BLOCK);} |
||
2160 | | PARSEOP_ACCESSATTRIB_WORD_CALL {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_WORD_CALL);} |
||
2161 | | PARSEOP_ACCESSATTRIB_BLOCK_CALL {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_BLOCK_CALL);} |
||
2162 | ; |
||
2163 | |||
2164 | |||
2165 | : PARSEOP_LOCKRULE_LOCK {$$ = TrCreateLeafNode (PARSEOP_LOCKRULE_LOCK);} |
||
2166 | | PARSEOP_LOCKRULE_NOLOCK {$$ = TrCreateLeafNode (PARSEOP_LOCKRULE_NOLOCK);} |
||
2167 | ; |
||
2168 | |||
2169 | |||
2170 | : PARSEOP_UPDATERULE_PRESERVE {$$ = TrCreateLeafNode (PARSEOP_UPDATERULE_PRESERVE);} |
||
2171 | | PARSEOP_UPDATERULE_ONES {$$ = TrCreateLeafNode (PARSEOP_UPDATERULE_ONES);} |
||
2172 | | PARSEOP_UPDATERULE_ZEROS {$$ = TrCreateLeafNode (PARSEOP_UPDATERULE_ZEROS);} |
||
2173 | ; |
||
2174 | |||
2175 | |||
2176 | |||
2177 | : PARSEOP_REGIONSPACE_IO {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_IO);} |
||
2178 | | PARSEOP_REGIONSPACE_MEM {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_MEM);} |
||
2179 | | PARSEOP_REGIONSPACE_PCI {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_PCI);} |
||
2180 | | PARSEOP_REGIONSPACE_EC {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_EC);} |
||
2181 | | PARSEOP_REGIONSPACE_SMBUS {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_SMBUS);} |
||
2182 | | PARSEOP_REGIONSPACE_CMOS {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_CMOS);} |
||
2183 | | PARSEOP_REGIONSPACE_PCIBAR {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_PCIBAR);} |
||
2184 | | PARSEOP_REGIONSPACE_IPMI {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_IPMI);} |
||
2185 | ; |
||
2186 | |||
2187 | |||
2188 | : ByteConst {$$ = UtCheckIntegerRange ($1, 0x80, 0xFF);} |
||
2189 | | RegionSpaceKeyword {} |
||
2190 | | PARSEOP_ADDRESSSPACE_FFIXEDHW {$$ = TrCreateLeafNode (PARSEOP_ADDRESSSPACE_FFIXEDHW);} |
||
2191 | ; |
||
2192 | |||
2193 | |||
2194 | |||
2195 | : PARSEOP_SERIALIZERULE_SERIAL {$$ = TrCreateLeafNode (PARSEOP_SERIALIZERULE_SERIAL);} |
||
2196 | | PARSEOP_SERIALIZERULE_NOTSERIAL {$$ = TrCreateLeafNode (PARSEOP_SERIALIZERULE_NOTSERIAL);} |
||
2197 | ; |
||
2198 | |||
2199 | |||
2200 | : PARSEOP_MATCHTYPE_MTR {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MTR);} |
||
2201 | | PARSEOP_MATCHTYPE_MEQ {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MEQ);} |
||
2202 | | PARSEOP_MATCHTYPE_MLE {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MLE);} |
||
2203 | | PARSEOP_MATCHTYPE_MLT {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MLT);} |
||
2204 | | PARSEOP_MATCHTYPE_MGE {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MGE);} |
||
2205 | | PARSEOP_MATCHTYPE_MGT {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MGT);} |
||
2206 | ; |
||
2207 | |||
2208 | |||
2209 | : PARSEOP_DMATYPE_A {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_A);} |
||
2210 | | PARSEOP_DMATYPE_COMPATIBILITY {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_COMPATIBILITY);} |
||
2211 | | PARSEOP_DMATYPE_B {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_B);} |
||
2212 | | PARSEOP_DMATYPE_F {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_F);} |
||
2213 | ; |
||
2214 | |||
2215 | |||
2216 | : PARSEOP_XFERTYPE_8 {$$ = TrCreateLeafNode (PARSEOP_XFERTYPE_8);} |
||
2217 | | PARSEOP_XFERTYPE_8_16 {$$ = TrCreateLeafNode (PARSEOP_XFERTYPE_8_16);} |
||
2218 | | PARSEOP_XFERTYPE_16 {$$ = TrCreateLeafNode (PARSEOP_XFERTYPE_16);} |
||
2219 | ; |
||
2220 | |||
2221 | |||
2222 | : PARSEOP_RESOURCETYPE_CONSUMER {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);} |
||
2223 | | PARSEOP_RESOURCETYPE_PRODUCER {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_PRODUCER);} |
||
2224 | ; |
||
2225 | |||
2226 | |||
2227 | : PARSEOP_MINTYPE_FIXED {$$ = TrCreateLeafNode (PARSEOP_MINTYPE_FIXED);} |
||
2228 | | PARSEOP_MINTYPE_NOTFIXED {$$ = TrCreateLeafNode (PARSEOP_MINTYPE_NOTFIXED);} |
||
2229 | ; |
||
2230 | |||
2231 | |||
2232 | : PARSEOP_MAXTYPE_FIXED {$$ = TrCreateLeafNode (PARSEOP_MAXTYPE_FIXED);} |
||
2233 | | PARSEOP_MAXTYPE_NOTFIXED {$$ = TrCreateLeafNode (PARSEOP_MAXTYPE_NOTFIXED);} |
||
2234 | ; |
||
2235 | |||
2236 | |||
2237 | : PARSEOP_DECODETYPE_POS {$$ = TrCreateLeafNode (PARSEOP_DECODETYPE_POS);} |
||
2238 | | PARSEOP_DECODETYPE_SUB {$$ = TrCreateLeafNode (PARSEOP_DECODETYPE_SUB);} |
||
2239 | ; |
||
2240 | |||
2241 | |||
2242 | : PARSEOP_RANGETYPE_ISAONLY {$$ = TrCreateLeafNode (PARSEOP_RANGETYPE_ISAONLY);} |
||
2243 | | PARSEOP_RANGETYPE_NONISAONLY {$$ = TrCreateLeafNode (PARSEOP_RANGETYPE_NONISAONLY);} |
||
2244 | | PARSEOP_RANGETYPE_ENTIRE {$$ = TrCreateLeafNode (PARSEOP_RANGETYPE_ENTIRE);} |
||
2245 | ; |
||
2246 | |||
2247 | |||
2248 | : PARSEOP_MEMTYPE_CACHEABLE {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_CACHEABLE);} |
||
2249 | | PARSEOP_MEMTYPE_WRITECOMBINING {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_WRITECOMBINING);} |
||
2250 | | PARSEOP_MEMTYPE_PREFETCHABLE {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_PREFETCHABLE);} |
||
2251 | | PARSEOP_MEMTYPE_NONCACHEABLE {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_NONCACHEABLE);} |
||
2252 | ; |
||
2253 | |||
2254 | |||
2255 | : {$$ = TrCreateLeafNode (PARSEOP_READWRITETYPE_BOTH);} |
||
2256 | | PARSEOP_READWRITETYPE_BOTH {$$ = TrCreateLeafNode (PARSEOP_READWRITETYPE_BOTH);} |
||
2257 | | PARSEOP_READWRITETYPE_READONLY {$$ = TrCreateLeafNode (PARSEOP_READWRITETYPE_READONLY);} |
||
2258 | ; |
||
2259 | |||
2260 | |||
2261 | : PARSEOP_INTTYPE_EDGE {$$ = TrCreateLeafNode (PARSEOP_INTTYPE_EDGE);} |
||
2262 | | PARSEOP_INTTYPE_LEVEL {$$ = TrCreateLeafNode (PARSEOP_INTTYPE_LEVEL);} |
||
2263 | ; |
||
2264 | |||
2265 | |||
2266 | : PARSEOP_INTLEVEL_ACTIVEHIGH {$$ = TrCreateLeafNode (PARSEOP_INTLEVEL_ACTIVEHIGH);} |
||
2267 | | PARSEOP_INTLEVEL_ACTIVELOW {$$ = TrCreateLeafNode (PARSEOP_INTLEVEL_ACTIVELOW);} |
||
2268 | ; |
||
2269 | |||
2270 | |||
2271 | : PARSEOP_SHARETYPE_SHARED {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_SHARED);} |
||
2272 | | PARSEOP_SHARETYPE_EXCLUSIVE {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_EXCLUSIVE);} |
||
2273 | ; |
||
2274 | |||
2275 | |||
2276 | : PARSEOP_IODECODETYPE_16 {$$ = TrCreateLeafNode (PARSEOP_IODECODETYPE_16);} |
||
2277 | | PARSEOP_IODECODETYPE_10 {$$ = TrCreateLeafNode (PARSEOP_IODECODETYPE_10);} |
||
2278 | ; |
||
2279 | |||
2280 | |||
2281 | : PARSEOP_TYPE_TRANSLATION {$$ = TrCreateLeafNode (PARSEOP_TYPE_TRANSLATION);} |
||
2282 | | PARSEOP_TYPE_STATIC {$$ = TrCreateLeafNode (PARSEOP_TYPE_STATIC);} |
||
2283 | ; |
||
2284 | |||
2285 | |||
2286 | : PARSEOP_TRANSLATIONTYPE_SPARSE {$$ = TrCreateLeafNode (PARSEOP_TRANSLATIONTYPE_SPARSE);} |
||
2287 | | PARSEOP_TRANSLATIONTYPE_DENSE {$$ = TrCreateLeafNode (PARSEOP_TRANSLATIONTYPE_DENSE);} |
||
2288 | ; |
||
2289 | |||
2290 | |||
2291 | : PARSEOP_ADDRESSTYPE_MEMORY {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_MEMORY);} |
||
2292 | | PARSEOP_ADDRESSTYPE_RESERVED {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_RESERVED);} |
||
2293 | | PARSEOP_ADDRESSTYPE_NVS {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_NVS);} |
||
2294 | | PARSEOP_ADDRESSTYPE_ACPI {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_ACPI);} |
||
2295 | ; |
||
2296 | |||
2297 | |||
2298 | |||
2299 | |||
2300 | |||
2301 | |||
2302 | : NameString {} |
||
2303 | | ArgTerm {} |
||
2304 | | LocalTerm {} |
||
2305 | | DebugTerm {} |
||
2306 | | Type6Opcode {} |
||
2307 | /* | UserTerm {} */ /* Caused reduce/reduce with Type6Opcode->UserTerm */ |
||
2308 | ; |
||
2309 | |||
2310 | |||
2311 | : PARSEOP_ARG0 {$$ = TrCreateLeafNode (PARSEOP_ARG0);} |
||
2312 | | PARSEOP_ARG1 {$$ = TrCreateLeafNode (PARSEOP_ARG1);} |
||
2313 | | PARSEOP_ARG2 {$$ = TrCreateLeafNode (PARSEOP_ARG2);} |
||
2314 | | PARSEOP_ARG3 {$$ = TrCreateLeafNode (PARSEOP_ARG3);} |
||
2315 | | PARSEOP_ARG4 {$$ = TrCreateLeafNode (PARSEOP_ARG4);} |
||
2316 | | PARSEOP_ARG5 {$$ = TrCreateLeafNode (PARSEOP_ARG5);} |
||
2317 | | PARSEOP_ARG6 {$$ = TrCreateLeafNode (PARSEOP_ARG6);} |
||
2318 | ; |
||
2319 | |||
2320 | |||
2321 | : PARSEOP_LOCAL0 {$$ = TrCreateLeafNode (PARSEOP_LOCAL0);} |
||
2322 | | PARSEOP_LOCAL1 {$$ = TrCreateLeafNode (PARSEOP_LOCAL1);} |
||
2323 | | PARSEOP_LOCAL2 {$$ = TrCreateLeafNode (PARSEOP_LOCAL2);} |
||
2324 | | PARSEOP_LOCAL3 {$$ = TrCreateLeafNode (PARSEOP_LOCAL3);} |
||
2325 | | PARSEOP_LOCAL4 {$$ = TrCreateLeafNode (PARSEOP_LOCAL4);} |
||
2326 | | PARSEOP_LOCAL5 {$$ = TrCreateLeafNode (PARSEOP_LOCAL5);} |
||
2327 | | PARSEOP_LOCAL6 {$$ = TrCreateLeafNode (PARSEOP_LOCAL6);} |
||
2328 | | PARSEOP_LOCAL7 {$$ = TrCreateLeafNode (PARSEOP_LOCAL7);} |
||
2329 | ; |
||
2330 | |||
2331 | |||
2332 | : PARSEOP_DEBUG {$$ = TrCreateLeafNode (PARSEOP_DEBUG);} |
||
2333 | ; |
||
2334 | |||
2335 | |||
2336 | |||
2337 | : Integer {$$ = TrUpdateNode (PARSEOP_BYTECONST, $1);} |
||
2338 | ; |
||
2339 | |||
2340 | |||
2341 | : Integer {$$ = TrUpdateNode (PARSEOP_WORDCONST, $1);} |
||
2342 | ; |
||
2343 | |||
2344 | |||
2345 | : Integer {$$ = TrUpdateNode (PARSEOP_DWORDCONST, $1);} |
||
2346 | ; |
||
2347 | |||
2348 | |||
2349 | : Integer {$$ = TrUpdateNode (PARSEOP_QWORDCONST, $1);} |
||
2350 | ; |
||
2351 | |||
2352 | |||
2353 | : PARSEOP_INTEGER {$$ = TrCreateValuedLeafNode (PARSEOP_INTEGER, AslCompilerlval.i);} |
||
2354 | ; |
||
2355 | |||
2356 | |||
2357 | : PARSEOP_STRING_LITERAL {$$ = TrCreateValuedLeafNode (PARSEOP_STRING_LITERAL, (ACPI_NATIVE_INT) AslCompilerlval.s);} |
||
2358 | ; |
||
2359 | |||
2360 | |||
2361 | : ConstExprTerm {} |
||
2362 | | PARSEOP_REVISION {$$ = TrCreateLeafNode (PARSEOP_REVISION);} |
||
2363 | ; |
||
2364 | |||
2365 | |||
2366 | : Type3Opcode {$$ = TrUpdateNode (PARSEOP_BYTECONST, $1);} |
||
2367 | | Type2IntegerOpcode {$$ = TrUpdateNode (PARSEOP_BYTECONST, $1);} |
||
2368 | | ConstExprTerm {$$ = TrUpdateNode (PARSEOP_BYTECONST, $1);} |
||
2369 | | ByteConst {} |
||
2370 | ; |
||
2371 | |||
2372 | |||
2373 | : Type3Opcode {$$ = TrUpdateNode (PARSEOP_WORDCONST, $1);} |
||
2374 | | Type2IntegerOpcode {$$ = TrUpdateNode (PARSEOP_WORDCONST, $1);} |
||
2375 | | ConstExprTerm {$$ = TrUpdateNode (PARSEOP_WORDCONST, $1);} |
||
2376 | | WordConst {} |
||
2377 | ; |
||
2378 | |||
2379 | |||
2380 | : Type3Opcode {$$ = TrUpdateNode (PARSEOP_DWORDCONST, $1);} |
||
2381 | | Type2IntegerOpcode {$$ = TrUpdateNode (PARSEOP_DWORDCONST, $1);} |
||
2382 | | ConstExprTerm {$$ = TrUpdateNode (PARSEOP_DWORDCONST, $1);} |
||
2383 | | DWordConst {} |
||
2384 | ; |
||
2385 | |||
2386 | |||
2387 | : Type3Opcode {$$ = TrUpdateNode (PARSEOP_QWORDCONST, $1);} |
||
2388 | | Type2IntegerOpcode {$$ = TrUpdateNode (PARSEOP_QWORDCONST, $1);} |
||
2389 | | ConstExprTerm {$$ = TrUpdateNode (PARSEOP_QWORDCONST, $1);} |
||
2390 | | QWordConst {} |
||
2391 | ; |
||
2392 | |||
2393 | |||
2394 | : PARSEOP_ZERO {$$ = TrCreateValuedLeafNode (PARSEOP_ZERO, 0);} |
||
2395 | | PARSEOP_ONE {$$ = TrCreateValuedLeafNode (PARSEOP_ONE, 1);} |
||
2396 | | PARSEOP_ONES {$$ = TrCreateValuedLeafNode (PARSEOP_ONES, ACPI_UINT64_MAX);} |
||
2397 | | PARSEOP___DATE__ {$$ = TrCreateConstantLeafNode (PARSEOP___DATE__);} |
||
2216 | Serge | 2398 | | PARSEOP___FILE__ {$$ = TrCreateConstantLeafNode (PARSEOP___FILE__);} |
2399 | | PARSEOP___LINE__ {$$ = TrCreateConstantLeafNode (PARSEOP___LINE__);} |
||
2400 | ; |
||
1498 | serge | 2401 | |
2402 | |||
2403 | |||
2404 | |||
2405 | : {$$ = TrCreateLeafNode (PARSEOP_ONES);} /* Placeholder is a OnesOp object */ |
||
2406 | | ',' {$$ = TrCreateLeafNode (PARSEOP_ONES);} /* Placeholder is a OnesOp object */ |
||
2407 | | ',' TermArg {$$ = $2;} |
||
2408 | ; |
||
2409 | |||
2410 | |||
2411 | |||
2412 | : PARSEOP_BUFFER '(' {$ |
||
2413 | OptionalTermArg |
||
2414 | ')' '{' |
||
2415 | BufferTermData '}' {$$ = TrLinkChildren ($ |
||
2416 | | PARSEOP_BUFFER '(' |
||
2417 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2418 | ; |
||
2419 | |||
2420 | |||
2421 | : ByteList {} |
||
2422 | | StringData {} |
||
2423 | ; |
||
2424 | |||
2425 | |||
2426 | : {$$ = NULL;} |
||
2427 | | ByteConstExpr |
||
2428 | | ByteList ',' /* Allows a trailing comma at list end */ |
||
2429 | | ByteList ',' |
||
2430 | ByteConstExpr {$$ = TrLinkPeerNode ($1,$3);} |
||
2431 | ; |
||
2432 | |||
2433 | |||
2434 | : {$$ = NULL;} |
||
2435 | | DWordConstExpr |
||
2436 | | DWordList ',' /* Allows a trailing comma at list end */ |
||
2437 | | DWordList ',' |
||
2438 | DWordConstExpr {$$ = TrLinkPeerNode ($1,$3);} |
||
2439 | ; |
||
2440 | |||
2441 | |||
2442 | : PARSEOP_PACKAGE '(' {$ |
||
2443 | VarPackageLengthTerm |
||
2444 | ')' '{' |
||
2445 | PackageList '}' {$$ = TrLinkChildren ($ |
||
2446 | | PARSEOP_PACKAGE '(' |
||
2447 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2448 | ; |
||
2449 | |||
2450 | |||
2451 | : {$$ = TrCreateLeafNode (PARSEOP_DEFAULT_ARG);} |
||
2452 | | TermArg {$$ = $1;} |
||
2453 | ; |
||
2454 | |||
2455 | |||
2456 | : {$$ = NULL;} |
||
2457 | | PackageElement |
||
2458 | | PackageList ',' /* Allows a trailing comma at list end */ |
||
2459 | | PackageList ',' |
||
2460 | PackageElement {$$ = TrLinkPeerNode ($1,$3);} |
||
2461 | ; |
||
2462 | |||
2463 | |||
2464 | : DataObject {} |
||
2465 | | NameString {} |
||
2466 | ; |
||
2467 | |||
2468 | |||
2469 | : PARSEOP_EISAID '(' |
||
2470 | StringData ')' {$$ = TrUpdateNode (PARSEOP_EISAID, $3);} |
||
2471 | | PARSEOP_EISAID '(' |
||
2472 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2473 | ; |
||
2474 | |||
2475 | |||
2476 | |||
2477 | |||
2478 | |||
2479 | |||
2480 | * Note: Create two default nodes to allow conversion to a Buffer AML opcode |
||
2481 | * Also, insert the EndTag at the end of the template. |
||
2482 | */ |
||
2483 | ResourceTemplateTerm |
||
2484 | : PARSEOP_RESOURCETEMPLATE '(' ')' |
||
2485 | '{' |
||
2486 | ResourceMacroList '}' {$$ = TrCreateNode (PARSEOP_RESOURCETEMPLATE,4, |
||
2487 | TrCreateLeafNode (PARSEOP_DEFAULT_ARG), |
||
2488 | TrCreateLeafNode (PARSEOP_DEFAULT_ARG), |
||
2489 | $5, |
||
2490 | TrCreateLeafNode (PARSEOP_ENDTAG));} |
||
2491 | ; |
||
2492 | |||
2493 | |||
2494 | : PARSEOP_UNICODE '(' {$ |
||
2495 | StringData |
||
2496 | ')' {$$ = TrLinkChildren ($ |
||
2497 | | PARSEOP_UNICODE '(' |
||
2498 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2499 | ; |
||
2500 | |||
2501 | |||
2502 | : {$$ = NULL;} |
||
2503 | | ResourceMacroList |
||
2504 | ResourceMacroTerm {$$ = TrLinkPeerNode ($1,$2);} |
||
2505 | ; |
||
2506 | |||
2507 | |||
2508 | : DMATerm {} |
||
2509 | | DWordIOTerm {} |
||
2510 | | DWordMemoryTerm {} |
||
2511 | | DWordSpaceTerm {} |
||
2512 | | EndDependentFnTerm {} |
||
2513 | | ExtendedIOTerm {} |
||
2514 | | ExtendedMemoryTerm {} |
||
2515 | | ExtendedSpaceTerm {} |
||
2516 | | FixedIOTerm {} |
||
2517 | | InterruptTerm {} |
||
2518 | | IOTerm {} |
||
2519 | | IRQNoFlagsTerm {} |
||
2520 | | IRQTerm {} |
||
2521 | | Memory24Term {} |
||
2522 | | Memory32FixedTerm {} |
||
2523 | | Memory32Term {} |
||
2524 | | QWordIOTerm {} |
||
2525 | | QWordMemoryTerm {} |
||
2526 | | QWordSpaceTerm {} |
||
2527 | | RegisterTerm {} |
||
2528 | | StartDependentFnTerm {} |
||
2529 | | StartDependentFnNoPriTerm {} |
||
2530 | | VendorLongTerm {} |
||
2531 | | VendorShortTerm {} |
||
2532 | | WordBusNumberTerm {} |
||
2533 | | WordIOTerm {} |
||
2534 | | WordSpaceTerm {} |
||
2535 | ; |
||
2536 | |||
2537 | |||
2538 | : PARSEOP_DMA '(' {$ |
||
2539 | DMATypeKeyword |
||
2540 | OptionalBusMasterKeyword |
||
2541 | ',' XferTypeKeyword |
||
2542 | OptionalNameString_Last |
||
2543 | ')' '{' |
||
2544 | ByteList '}' {$$ = TrLinkChildren ($ |
||
2545 | | PARSEOP_DMA '(' |
||
2546 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2547 | ; |
||
2548 | |||
2549 | |||
2550 | : PARSEOP_DWORDIO '(' {$ |
||
2551 | OptionalResourceType_First |
||
2552 | OptionalMinType |
||
2553 | OptionalMaxType |
||
2554 | OptionalDecodeType |
||
2555 | OptionalRangeType |
||
2556 | ',' DWordConstExpr |
||
2557 | ',' DWordConstExpr |
||
2558 | ',' DWordConstExpr |
||
2559 | ',' DWordConstExpr |
||
2560 | ',' DWordConstExpr |
||
2561 | OptionalByteConstExpr |
||
2562 | OptionalStringData |
||
2563 | OptionalNameString |
||
2564 | OptionalType |
||
2565 | OptionalTranslationType_Last |
||
2566 | ')' {$$ = TrLinkChildren ($ |
||
2567 | | PARSEOP_DWORDIO '(' |
||
2568 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2569 | ; |
||
2570 | |||
2571 | |||
2572 | : PARSEOP_DWORDMEMORY '(' {$ |
||
2573 | OptionalResourceType_First |
||
2574 | OptionalDecodeType |
||
2575 | OptionalMinType |
||
2576 | OptionalMaxType |
||
2577 | OptionalMemType |
||
2578 | ',' OptionalReadWriteKeyword |
||
2579 | ',' DWordConstExpr |
||
2580 | ',' DWordConstExpr |
||
2581 | ',' DWordConstExpr |
||
2582 | ',' DWordConstExpr |
||
2583 | ',' DWordConstExpr |
||
2584 | OptionalByteConstExpr |
||
2585 | OptionalStringData |
||
2586 | OptionalNameString |
||
2587 | OptionalAddressRange |
||
2588 | OptionalType_Last |
||
2589 | ')' {$$ = TrLinkChildren ($ |
||
2590 | | PARSEOP_DWORDMEMORY '(' |
||
2591 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2592 | ; |
||
2593 | |||
2594 | |||
2595 | : PARSEOP_DWORDSPACE '(' {$ |
||
2596 | ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);} |
||
2597 | OptionalResourceType |
||
2598 | OptionalDecodeType |
||
2599 | OptionalMinType |
||
2600 | OptionalMaxType |
||
2601 | ',' ByteConstExpr |
||
2602 | ',' DWordConstExpr |
||
2603 | ',' DWordConstExpr |
||
2604 | ',' DWordConstExpr |
||
2605 | ',' DWordConstExpr |
||
2606 | ',' DWordConstExpr |
||
2607 | OptionalByteConstExpr |
||
2608 | OptionalStringData |
||
2609 | OptionalNameString_Last |
||
2610 | ')' {$$ = TrLinkChildren ($ |
||
2611 | | PARSEOP_DWORDSPACE '(' |
||
2612 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2613 | ; |
||
2614 | |||
2615 | |||
2616 | |||
2617 | : PARSEOP_ENDDEPENDENTFN '(' |
||
2618 | ')' {$$ = TrCreateLeafNode (PARSEOP_ENDDEPENDENTFN);} |
||
2619 | | PARSEOP_ENDDEPENDENTFN '(' |
||
2620 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2621 | ; |
||
2622 | |||
2623 | |||
2624 | : PARSEOP_EXTENDEDIO '(' {$ |
||
2625 | OptionalResourceType_First |
||
2626 | OptionalMinType |
||
2627 | OptionalMaxType |
||
2628 | OptionalDecodeType |
||
2629 | OptionalRangeType |
||
2630 | ',' QWordConstExpr |
||
2631 | ',' QWordConstExpr |
||
2632 | ',' QWordConstExpr |
||
2633 | ',' QWordConstExpr |
||
2634 | ',' QWordConstExpr |
||
2635 | OptionalQWordConstExpr |
||
2636 | OptionalNameString |
||
2637 | OptionalType |
||
2638 | OptionalTranslationType_Last |
||
2639 | ')' {$$ = TrLinkChildren ($ |
||
2640 | | PARSEOP_EXTENDEDIO '(' |
||
2641 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2642 | ; |
||
2643 | |||
2644 | |||
2645 | : PARSEOP_EXTENDEDMEMORY '(' {$ |
||
2646 | OptionalResourceType_First |
||
2647 | OptionalDecodeType |
||
2648 | OptionalMinType |
||
2649 | OptionalMaxType |
||
2650 | OptionalMemType |
||
2651 | ',' OptionalReadWriteKeyword |
||
2652 | ',' QWordConstExpr |
||
2653 | ',' QWordConstExpr |
||
2654 | ',' QWordConstExpr |
||
2655 | ',' QWordConstExpr |
||
2656 | ',' QWordConstExpr |
||
2657 | OptionalQWordConstExpr |
||
2658 | OptionalNameString |
||
2659 | OptionalAddressRange |
||
2660 | OptionalType_Last |
||
2661 | ')' {$$ = TrLinkChildren ($ |
||
2662 | | PARSEOP_EXTENDEDMEMORY '(' |
||
2663 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2664 | ; |
||
2665 | |||
2666 | |||
2667 | : PARSEOP_EXTENDEDSPACE '(' {$ |
||
2668 | ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);} |
||
2669 | OptionalResourceType |
||
2670 | OptionalDecodeType |
||
2671 | OptionalMinType |
||
2672 | OptionalMaxType |
||
2673 | ',' ByteConstExpr |
||
2674 | ',' QWordConstExpr |
||
2675 | ',' QWordConstExpr |
||
2676 | ',' QWordConstExpr |
||
2677 | ',' QWordConstExpr |
||
2678 | ',' QWordConstExpr |
||
2679 | OptionalQWordConstExpr |
||
2680 | OptionalNameString_Last |
||
2681 | ')' {$$ = TrLinkChildren ($ |
||
2682 | | PARSEOP_EXTENDEDSPACE '(' |
||
2683 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2684 | ; |
||
2685 | |||
2686 | |||
2687 | : PARSEOP_FIXEDIO '(' {$ |
||
2688 | WordConstExpr |
||
2689 | ',' ByteConstExpr |
||
2690 | OptionalNameString_Last |
||
2691 | ')' {$$ = TrLinkChildren ($ |
||
2692 | | PARSEOP_FIXEDIO '(' |
||
2693 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2694 | ; |
||
2695 | |||
2696 | |||
2697 | : PARSEOP_INTERRUPT '(' {$ |
||
2698 | OptionalResourceType_First |
||
2699 | ',' InterruptTypeKeyword |
||
2700 | ',' InterruptLevel |
||
2701 | OptionalShareType |
||
2702 | OptionalByteConstExpr |
||
2703 | OptionalStringData |
||
2704 | OptionalNameString_Last |
||
2705 | ')' '{' |
||
2706 | DWordList '}' {$$ = TrLinkChildren ($ |
||
2707 | | PARSEOP_INTERRUPT '(' |
||
2708 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2709 | ; |
||
2710 | |||
2711 | |||
2712 | : PARSEOP_IO '(' {$ |
||
2713 | IODecodeKeyword |
||
2714 | ',' WordConstExpr |
||
2715 | ',' WordConstExpr |
||
2716 | ',' ByteConstExpr |
||
2717 | ',' ByteConstExpr |
||
2718 | OptionalNameString_Last |
||
2719 | ')' {$$ = TrLinkChildren ($ |
||
2720 | | PARSEOP_IO '(' |
||
2721 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2722 | ; |
||
2723 | |||
2724 | |||
2725 | : PARSEOP_IRQNOFLAGS '(' {$ |
||
2726 | OptionalNameString_First |
||
2727 | ')' '{' |
||
2728 | ByteList '}' {$$ = TrLinkChildren ($ |
||
2729 | | PARSEOP_IRQNOFLAGS '(' |
||
2730 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2731 | ; |
||
2732 | |||
2733 | |||
2734 | : PARSEOP_IRQ '(' {$ |
||
2735 | InterruptTypeKeyword |
||
2736 | ',' InterruptLevel |
||
2737 | OptionalShareType |
||
2738 | OptionalNameString_Last |
||
2739 | ')' '{' |
||
2740 | ByteList '}' {$$ = TrLinkChildren ($ |
||
2741 | | PARSEOP_IRQ '(' |
||
2742 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2743 | ; |
||
2744 | |||
2745 | |||
2746 | : PARSEOP_MEMORY24 '(' {$ |
||
2747 | OptionalReadWriteKeyword |
||
2748 | ',' WordConstExpr |
||
2749 | ',' WordConstExpr |
||
2750 | ',' WordConstExpr |
||
2751 | ',' WordConstExpr |
||
2752 | OptionalNameString_Last |
||
2753 | ')' {$$ = TrLinkChildren ($ |
||
2754 | | PARSEOP_MEMORY24 '(' |
||
2755 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2756 | ; |
||
2757 | |||
2758 | |||
2759 | : PARSEOP_MEMORY32FIXED '(' {$ |
||
2760 | OptionalReadWriteKeyword |
||
2761 | ',' DWordConstExpr |
||
2762 | ',' DWordConstExpr |
||
2763 | OptionalNameString_Last |
||
2764 | ')' {$$ = TrLinkChildren ($ |
||
2765 | | PARSEOP_MEMORY32FIXED '(' |
||
2766 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2767 | ; |
||
2768 | |||
2769 | |||
2770 | : PARSEOP_MEMORY32 '(' {$ |
||
2771 | OptionalReadWriteKeyword |
||
2772 | ',' DWordConstExpr |
||
2773 | ',' DWordConstExpr |
||
2774 | ',' DWordConstExpr |
||
2775 | ',' DWordConstExpr |
||
2776 | OptionalNameString_Last |
||
2777 | ')' {$$ = TrLinkChildren ($ |
||
2778 | | PARSEOP_MEMORY32 '(' |
||
2779 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2780 | ; |
||
2781 | |||
2782 | |||
2783 | : PARSEOP_QWORDIO '(' {$ |
||
2784 | OptionalResourceType_First |
||
2785 | OptionalMinType |
||
2786 | OptionalMaxType |
||
2787 | OptionalDecodeType |
||
2788 | OptionalRangeType |
||
2789 | ',' QWordConstExpr |
||
2790 | ',' QWordConstExpr |
||
2791 | ',' QWordConstExpr |
||
2792 | ',' QWordConstExpr |
||
2793 | ',' QWordConstExpr |
||
2794 | OptionalByteConstExpr |
||
2795 | OptionalStringData |
||
2796 | OptionalNameString |
||
2797 | OptionalType |
||
2798 | OptionalTranslationType_Last |
||
2799 | ')' {$$ = TrLinkChildren ($ |
||
2800 | | PARSEOP_QWORDIO '(' |
||
2801 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2802 | ; |
||
2803 | |||
2804 | |||
2805 | : PARSEOP_QWORDMEMORY '(' {$ |
||
2806 | OptionalResourceType_First |
||
2807 | OptionalDecodeType |
||
2808 | OptionalMinType |
||
2809 | OptionalMaxType |
||
2810 | OptionalMemType |
||
2811 | ',' OptionalReadWriteKeyword |
||
2812 | ',' QWordConstExpr |
||
2813 | ',' QWordConstExpr |
||
2814 | ',' QWordConstExpr |
||
2815 | ',' QWordConstExpr |
||
2816 | ',' QWordConstExpr |
||
2817 | OptionalByteConstExpr |
||
2818 | OptionalStringData |
||
2819 | OptionalNameString |
||
2820 | OptionalAddressRange |
||
2821 | OptionalType_Last |
||
2822 | ')' {$$ = TrLinkChildren ($ |
||
2823 | | PARSEOP_QWORDMEMORY '(' |
||
2824 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2825 | ; |
||
2826 | |||
2827 | |||
2828 | : PARSEOP_QWORDSPACE '(' {$ |
||
2829 | ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);} |
||
2830 | OptionalResourceType |
||
2831 | OptionalDecodeType |
||
2832 | OptionalMinType |
||
2833 | OptionalMaxType |
||
2834 | ',' ByteConstExpr |
||
2835 | ',' QWordConstExpr |
||
2836 | ',' QWordConstExpr |
||
2837 | ',' QWordConstExpr |
||
2838 | ',' QWordConstExpr |
||
2839 | ',' QWordConstExpr |
||
2840 | OptionalByteConstExpr |
||
2841 | OptionalStringData |
||
2842 | OptionalNameString_Last |
||
2843 | ')' {$$ = TrLinkChildren ($ |
||
2844 | | PARSEOP_QWORDSPACE '(' |
||
2845 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2846 | ; |
||
2847 | |||
2848 | |||
2849 | : PARSEOP_REGISTER '(' {$ |
||
2850 | AddressSpaceKeyword |
||
2851 | ',' ByteConstExpr |
||
2852 | ',' ByteConstExpr |
||
2853 | ',' QWordConstExpr |
||
2854 | OptionalAccessSize |
||
2855 | OptionalNameString_Last |
||
2856 | ')' {$$ = TrLinkChildren ($ |
||
2857 | | PARSEOP_REGISTER '(' |
||
2858 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2859 | ; |
||
2860 | |||
2861 | |||
2862 | : PARSEOP_STARTDEPENDENTFN '(' {$ |
||
2863 | ByteConstExpr |
||
2864 | ',' ByteConstExpr |
||
2865 | ')' '{' |
||
2866 | ResourceMacroList '}' {$$ = TrLinkChildren ($ |
||
2867 | | PARSEOP_STARTDEPENDENTFN '(' |
||
2868 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2869 | ; |
||
2870 | |||
2871 | |||
2872 | : PARSEOP_STARTDEPENDENTFN_NOPRI '(' {$ |
||
2873 | ')' '{' |
||
2874 | ResourceMacroList '}' {$$ = TrLinkChildren ($ |
||
2875 | | PARSEOP_STARTDEPENDENTFN_NOPRI '(' |
||
2876 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2877 | ; |
||
2878 | |||
2879 | |||
2880 | : PARSEOP_VENDORLONG '(' {$ |
||
2881 | OptionalNameString_First |
||
2882 | ')' '{' |
||
2883 | ByteList '}' {$$ = TrLinkChildren ($ |
||
2884 | | PARSEOP_VENDORLONG '(' |
||
2885 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2886 | ; |
||
2887 | |||
2888 | |||
2889 | : PARSEOP_VENDORSHORT '(' {$ |
||
2890 | OptionalNameString_First |
||
2891 | ')' '{' |
||
2892 | ByteList '}' {$$ = TrLinkChildren ($ |
||
2893 | | PARSEOP_VENDORSHORT '(' |
||
2894 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2895 | ; |
||
2896 | |||
2897 | |||
2898 | : PARSEOP_WORDBUSNUMBER '(' {$ |
||
2899 | OptionalResourceType_First |
||
2900 | OptionalMinType |
||
2901 | OptionalMaxType |
||
2902 | OptionalDecodeType |
||
2903 | ',' WordConstExpr |
||
2904 | ',' WordConstExpr |
||
2905 | ',' WordConstExpr |
||
2906 | ',' WordConstExpr |
||
2907 | ',' WordConstExpr |
||
2908 | OptionalByteConstExpr |
||
2909 | OptionalStringData |
||
2910 | OptionalNameString_Last |
||
2911 | ')' {$$ = TrLinkChildren ($ |
||
2912 | | PARSEOP_WORDBUSNUMBER '(' |
||
2913 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2914 | ; |
||
2915 | |||
2916 | |||
2917 | : PARSEOP_WORDIO '(' {$ |
||
2918 | OptionalResourceType_First |
||
2919 | OptionalMinType |
||
2920 | OptionalMaxType |
||
2921 | OptionalDecodeType |
||
2922 | OptionalRangeType |
||
2923 | ',' WordConstExpr |
||
2924 | ',' WordConstExpr |
||
2925 | ',' WordConstExpr |
||
2926 | ',' WordConstExpr |
||
2927 | ',' WordConstExpr |
||
2928 | OptionalByteConstExpr |
||
2929 | OptionalStringData |
||
2930 | OptionalNameString |
||
2931 | OptionalType |
||
2932 | OptionalTranslationType_Last |
||
2933 | ')' {$$ = TrLinkChildren ($ |
||
2934 | | PARSEOP_WORDIO '(' |
||
2935 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2936 | ; |
||
2937 | |||
2938 | |||
2939 | : PARSEOP_WORDSPACE '(' {$ |
||
2940 | ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);} |
||
2941 | OptionalResourceType |
||
2942 | OptionalDecodeType |
||
2943 | OptionalMinType |
||
2944 | OptionalMaxType |
||
2945 | ',' ByteConstExpr |
||
2946 | ',' WordConstExpr |
||
2947 | ',' WordConstExpr |
||
2948 | ',' WordConstExpr |
||
2949 | ',' WordConstExpr |
||
2950 | ',' WordConstExpr |
||
2951 | OptionalByteConstExpr |
||
2952 | OptionalStringData |
||
2953 | OptionalNameString_Last |
||
2954 | ')' {$$ = TrLinkChildren ($ |
||
2955 | | PARSEOP_WORDSPACE '(' |
||
2956 | error ')' {$$ = AslDoError(); yyclearin;} |
||
2957 | ; |
||
2958 | |||
2959 | |||
2960 | |||
2961 | |||
2962 | |||
2963 | |||
2964 | |||
2965 | : NameSeg {} |
||
2966 | | PARSEOP_NAMESTRING {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) AslCompilerlval.s);} |
||
2967 | | PARSEOP_IO {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "IO");} |
||
2968 | | PARSEOP_DMA {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "DMA");} |
||
2969 | | PARSEOP_IRQ {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "IRQ");} |
||
2970 | ; |
||
2971 | |||
2972 | |||
2973 | : PARSEOP_NAMESEG {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESEG, (ACPI_NATIVE_INT) AslCompilerlval.s);} |
||
2974 | ; |
||
2975 | |||
2976 | |||
2977 | |||
2978 | |||
2979 | |||
2980 | |||
2981 | : Integer {$$ = TrUpdateNode (PARSEOP_PACKAGE_LENGTH,(ACPI_PARSE_OBJECT *) $1);} |
||
2982 | ; |
||
2983 | |||
2984 | |||
2985 | : ',' {$$ = TrCreateLeafNode (PARSEOP_BUSMASTERTYPE_MASTER);} |
||
2986 | | ',' PARSEOP_BUSMASTERTYPE_MASTER {$$ = TrCreateLeafNode (PARSEOP_BUSMASTERTYPE_MASTER);} |
||
2987 | | ',' PARSEOP_BUSMASTERTYPE_NOTMASTER {$$ = TrCreateLeafNode (PARSEOP_BUSMASTERTYPE_NOTMASTER);} |
||
2988 | ; |
||
2989 | |||
2990 | |||
2991 | : {$$ = NULL;} |
||
2992 | | ',' {$$ = NULL;} |
||
2993 | | ',' ByteConstExpr {$$ = $2;} |
||
2994 | | ',' AccessAttribKeyword {$$ = $2;} |
||
2995 | ; |
||
2996 | |||
2997 | |||
2998 | : {$$ = TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0);} |
||
2999 | | ',' {$$ = TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0);} |
||
3000 | | ',' ByteConstExpr {$$ = $2;} |
||
3001 | ; |
||
3002 | |||
3003 | |||
3004 | : {$$ = NULL;} |
||
3005 | | ',' {$$ = NULL;} |
||
3006 | | ',' AddressKeyword {$$ = $2;} |
||
3007 | ; |
||
3008 | |||
3009 | |||
3010 | : {$$ = NULL;} |
||
3011 | | ',' {$$ = NULL;} |
||
3012 | | ',' ByteConstExpr {$$ = $2;} |
||
3013 | ; |
||
3014 | |||
3015 | |||
3016 | : ',' {$$ = NULL;} |
||
3017 | | ',' DecodeKeyword {$$ = $2;} |
||
3018 | ; |
||
3019 | |||
3020 | |||
3021 | : {$$ = NULL;} |
||
3022 | | ',' {$$ = NULL;} |
||
3023 | | ',' DWordConstExpr {$$ = $2;} |
||
3024 | ; |
||
3025 | |||
3026 | |||
3027 | : {$$ = TrCreateValuedLeafNode (PARSEOP_STRING_LITERAL, ACPI_TO_INTEGER (""));} /* Placeholder is a NULL string */ |
||
3028 | | ',' {$$ = TrCreateValuedLeafNode (PARSEOP_STRING_LITERAL, ACPI_TO_INTEGER (""));} /* Placeholder is a NULL string */ |
||
3029 | | ',' TermArg {$$ = $2;} |
||
3030 | ; |
||
3031 | |||
3032 | |||
3033 | : ',' {$$ = NULL;} |
||
3034 | | ',' MaxKeyword {$$ = $2;} |
||
3035 | ; |
||
3036 | |||
3037 | |||
3038 | : ',' {$$ = NULL;} |
||
3039 | | ',' MemTypeKeyword {$$ = $2;} |
||
3040 | ; |
||
3041 | |||
3042 | |||
3043 | : ',' {$$ = NULL;} |
||
3044 | | ',' MinKeyword {$$ = $2;} |
||
3045 | ; |
||
3046 | |||
3047 | |||
3048 | : {$$ = NULL;} |
||
3049 | | ',' {$$ = NULL;} |
||
3050 | | ',' NameString {$$ = $2;} |
||
3051 | ; |
||
3052 | |||
3053 | |||
3054 | : {$$ = NULL;} |
||
3055 | | ',' {$$ = NULL;} |
||
3056 | | ',' NameString {$$ = $2;} |
||
3057 | ; |
||
3058 | |||
3059 | |||
3060 | : {$$ = TrCreateLeafNode (PARSEOP_ZERO);} |
||
3061 | | NameString {$$ = $1;} |
||
3062 | ; |
||
3063 | |||
3064 | |||
3065 | : {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_UNK);} |
||
3066 | | ',' ObjectTypeKeyword {$$ = $2;} |
||
3067 | ; |
||
3068 | |||
3069 | |||
3070 | : {$$ = NULL;} |
||
3071 | | ',' {$$ = NULL;} |
||
3072 | | ',' QWordConstExpr {$$ = $2;} |
||
3073 | ; |
||
3074 | |||
3075 | |||
3076 | : ',' {$$ = NULL;} |
||
3077 | | ',' RangeTypeKeyword {$$ = $2;} |
||
3078 | ; |
||
3079 | |||
3080 | |||
3081 | : {$$ = TrCreateLeafNode (PARSEOP_ZERO);} /* Placeholder is a ZeroOp object */ |
||
3082 | | ',' {$$ = TrCreateLeafNode (PARSEOP_ZERO);} /* Placeholder is a ZeroOp object */ |
||
3083 | | ',' TermArg {$$ = $2;} |
||
3084 | ; |
||
3085 | |||
3086 | |||
3087 | : {$$ = NULL;} |
||
3088 | | ResourceTypeKeyword {$$ = $1;} |
||
3089 | ; |
||
3090 | |||
3091 | |||
3092 | : ',' {$$ = NULL;} |
||
3093 | | ',' ResourceTypeKeyword {$$ = $2;} |
||
3094 | ; |
||
3095 | |||
3096 | |||
3097 | : {$$ = NULL;} |
||
3098 | | ',' {$$ = NULL;} |
||
3099 | | ',' SerializeRuleKeyword {$$ = $2;} |
||
3100 | ; |
||
3101 | |||
3102 | |||
3103 | : {$$ = NULL;} |
||
3104 | | ',' {$$ = NULL;} |
||
3105 | | ',' ShareTypeKeyword {$$ = $2;} |
||
3106 | ; |
||
3107 | |||
3108 | |||
3109 | : {$$ = NULL;} |
||
3110 | | ',' {$$ = NULL;} |
||
3111 | | ',' StringData {$$ = $2;} |
||
3112 | ; |
||
3113 | |||
3114 | |||
3115 | : {$$ = NULL;} |
||
3116 | | TermArg {$$ = $1;} |
||
3117 | ; |
||
3118 | |||
3119 | |||
3120 | : {$$ = TrSetNodeFlags (TrCreateLeafNode (PARSEOP_ZERO), NODE_IS_NULL_RETURN);} /* Placeholder is a ZeroOp object */ |
||
2216 | Serge | 3121 | | TermArg {$$ = $1;} |
1498 | serge | 3122 | ; |
3123 | |||
3124 | |||
3125 | : {$$ = NULL;} |
||
3126 | | ',' {$$ = NULL;} |
||
3127 | | ',' TypeKeyword {$$ = $2;} |
||
3128 | ; |
||
3129 | |||
3130 | |||
3131 | : {$$ = NULL;} |
||
3132 | | ',' {$$ = NULL;} |
||
3133 | | ',' TypeKeyword {$$ = $2;} |
||
3134 | ; |
||
3135 | |||
3136 | |||
3137 | : {$$ = NULL;} |
||
3138 | | ',' {$$ = NULL;} |
||
3139 | | ',' TranslationKeyword {$$ = $2;} |
||
3140 | ; |
||
3141 | |||
3142 | |||
3143 | |||
3144 | : ',' TermArg {$$ = $2;} |
||
3145 | | ',' error {$$ = AslDoError (); yyclearin;} |
||
3146 | ; |
||
3147 | |||
3148 | |||
3149 | : ',' NameString {$$ = $2;} |
||
3150 | | ',' error {$$ = AslDoError (); yyclearin;} |
||
3151 | ; |
||
3152 | |||
3153 | |||
3154 | |||
3155 | |||
3156 | |||
3157 | * Local support functions |
||
3158 | */ |
||
3159 | |||
3160 | |||
3161 | AslCompilerwrap(void) |
||
3162 | { |
||
3163 | return 1; |
||
3164 | } |
||
3165 | |||
3166 | |||
3167 | |||
3168 | |||
3169 | AslLocalAllocate (unsigned int Size) |
||
3170 | { |
||
3171 | void *Mem; |
||
3172 | |||
3173 | |||
3174 | |||
3175 | |||
3176 | |||
3177 | if (!Mem) |
||
3178 | { |
||
3179 | AslCommonError (ASL_ERROR, ASL_MSG_MEMORY_ALLOCATION, |
||
3180 | Gbl_CurrentLineNumber, Gbl_LogicalLineNumber, |
||
3181 | Gbl_InputByteCount, Gbl_CurrentColumn, |
||
3182 | Gbl_Files[ASL_FILE_INPUT].Filename, NULL); |
||
3183 | exit (1); |
||
3184 | } |
||
3185 | |||
3186 | |||
3187 | } |
||
3188 | |||
3189 | |||
3190 | AslDoError (void) |
||
3191 | { |
||
3192 | |||
3193 | |||
3194 | |||
3195 | |||
3196 | |||
3197 | |||
2216 | Serge | 3198 | |
3199 | |||
3200 | * |
||
3201 | * FUNCTION: UtGetOpName |
||
3202 | * |
||
3203 | * PARAMETERS: ParseOpcode - Parser keyword ID |
||
3204 | * |
||
3205 | * RETURN: Pointer to the opcode name |
||
3206 | * |
||
3207 | * DESCRIPTION: Get the ascii name of the parse opcode |
||
3208 | * |
||
3209 | ******************************************************************************/ |
||
3210 | |||
3211 | |||
3212 | UtGetOpName ( |
||
3213 | UINT32 ParseOpcode) |
||
3214 | { |
||
3215 | #ifdef ASL_YYTNAME_START |
||
3216 | /* |
||
3217 | * First entries (ASL_YYTNAME_START) in yytname are special reserved names. |
||
3218 | * Ignore first 8 characters of the name |
||
3219 | */ |
||
3220 | return ((char *) yytname |
||
3221 | [(ParseOpcode - ASL_FIRST_PARSE_OPCODE) + ASL_YYTNAME_START] + 8); |
||
3222 | #else |
||
3223 | return ("[Unknown parser generator]"); |
||
3224 | #endif |
||
3225 | } |
||
3226 |