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