1 1.1 christos NoEcho(' 2 1.1 christos /****************************************************************************** 3 1.1 christos * 4 1.1 christos * Module Name: aslprimaries.y - Rules for primary ASL operators 5 1.1.1.3 christos * - Keep this file synched with the 6 1.1.1.3 christos * CvParseOpBlockType function in cvcompiler.c 7 1.1 christos * 8 1.1 christos *****************************************************************************/ 9 1.1 christos 10 1.1.1.13 christos /****************************************************************************** 11 1.1.1.13 christos * 12 1.1.1.13 christos * 1. Copyright Notice 13 1.1.1.13 christos * 14 1.1.1.14 christos * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp. 15 1.1 christos * All rights reserved. 16 1.1 christos * 17 1.1.1.13 christos * 2. License 18 1.1.1.13 christos * 19 1.1.1.13 christos * 2.1. This is your license from Intel Corp. under its intellectual property 20 1.1.1.13 christos * rights. You may have additional license terms from the party that provided 21 1.1.1.13 christos * you this software, covering your right to use that party's intellectual 22 1.1.1.13 christos * property rights. 23 1.1.1.13 christos * 24 1.1.1.13 christos * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 25 1.1.1.13 christos * copy of the source code appearing in this file ("Covered Code") an 26 1.1.1.13 christos * irrevocable, perpetual, worldwide license under Intel's copyrights in the 27 1.1.1.13 christos * base code distributed originally by Intel ("Original Intel Code") to copy, 28 1.1.1.13 christos * make derivatives, distribute, use and display any portion of the Covered 29 1.1.1.13 christos * Code in any form, with the right to sublicense such rights; and 30 1.1.1.13 christos * 31 1.1.1.13 christos * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 32 1.1.1.13 christos * license (with the right to sublicense), under only those claims of Intel 33 1.1.1.13 christos * patents that are infringed by the Original Intel Code, to make, use, sell, 34 1.1.1.13 christos * offer to sell, and import the Covered Code and derivative works thereof 35 1.1.1.13 christos * solely to the minimum extent necessary to exercise the above copyright 36 1.1.1.13 christos * license, and in no event shall the patent license extend to any additions 37 1.1.1.13 christos * to or modifications of the Original Intel Code. No other license or right 38 1.1.1.13 christos * is granted directly or by implication, estoppel or otherwise; 39 1.1.1.13 christos * 40 1.1.1.13 christos * The above copyright and patent license is granted only if the following 41 1.1.1.13 christos * conditions are met: 42 1.1.1.13 christos * 43 1.1.1.13 christos * 3. Conditions 44 1.1.1.13 christos * 45 1.1.1.13 christos * 3.1. Redistribution of Source with Rights to Further Distribute Source. 46 1.1.1.13 christos * Redistribution of source code of any substantial portion of the Covered 47 1.1.1.13 christos * Code or modification with rights to further distribute source must include 48 1.1.1.13 christos * the above Copyright Notice, the above License, this list of Conditions, 49 1.1.1.13 christos * and the following Disclaimer and Export Compliance provision. In addition, 50 1.1.1.13 christos * Licensee must cause all Covered Code to which Licensee contributes to 51 1.1.1.13 christos * contain a file documenting the changes Licensee made to create that Covered 52 1.1.1.13 christos * Code and the date of any change. Licensee must include in that file the 53 1.1.1.13 christos * documentation of any changes made by any predecessor Licensee. Licensee 54 1.1.1.13 christos * must include a prominent statement that the modification is derived, 55 1.1.1.13 christos * directly or indirectly, from Original Intel Code. 56 1.1.1.13 christos * 57 1.1.1.13 christos * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 58 1.1.1.13 christos * Redistribution of source code of any substantial portion of the Covered 59 1.1.1.13 christos * Code or modification without rights to further distribute source must 60 1.1.1.13 christos * include the following Disclaimer and Export Compliance provision in the 61 1.1.1.13 christos * documentation and/or other materials provided with distribution. In 62 1.1.1.13 christos * addition, Licensee may not authorize further sublicense of source of any 63 1.1.1.13 christos * portion of the Covered Code, and must include terms to the effect that the 64 1.1.1.13 christos * license from Licensee to its licensee is limited to the intellectual 65 1.1.1.13 christos * property embodied in the software Licensee provides to its licensee, and 66 1.1.1.13 christos * not to intellectual property embodied in modifications its licensee may 67 1.1.1.13 christos * make. 68 1.1.1.13 christos * 69 1.1.1.13 christos * 3.3. Redistribution of Executable. Redistribution in executable form of any 70 1.1.1.13 christos * substantial portion of the Covered Code or modification must reproduce the 71 1.1.1.13 christos * above Copyright Notice, and the following Disclaimer and Export Compliance 72 1.1.1.13 christos * provision in the documentation and/or other materials provided with the 73 1.1.1.13 christos * distribution. 74 1.1.1.13 christos * 75 1.1.1.13 christos * 3.4. Intel retains all right, title, and interest in and to the Original 76 1.1.1.13 christos * Intel Code. 77 1.1.1.13 christos * 78 1.1.1.13 christos * 3.5. Neither the name Intel nor any other trademark owned or controlled by 79 1.1.1.13 christos * Intel shall be used in advertising or otherwise to promote the sale, use or 80 1.1.1.13 christos * other dealings in products derived from or relating to the Covered Code 81 1.1.1.13 christos * without prior written authorization from Intel. 82 1.1.1.13 christos * 83 1.1.1.13 christos * 4. Disclaimer and Export Compliance 84 1.1.1.13 christos * 85 1.1.1.13 christos * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 86 1.1.1.13 christos * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 87 1.1.1.13 christos * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 88 1.1.1.13 christos * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 89 1.1.1.13 christos * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 90 1.1.1.13 christos * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 91 1.1.1.13 christos * PARTICULAR PURPOSE. 92 1.1.1.13 christos * 93 1.1.1.13 christos * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 94 1.1.1.13 christos * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 95 1.1.1.13 christos * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 96 1.1.1.13 christos * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 97 1.1.1.13 christos * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 98 1.1.1.13 christos * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 99 1.1.1.13 christos * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 100 1.1.1.13 christos * LIMITED REMEDY. 101 1.1.1.13 christos * 102 1.1.1.13 christos * 4.3. Licensee shall not export, either directly or indirectly, any of this 103 1.1.1.13 christos * software or system incorporating such software without first obtaining any 104 1.1.1.13 christos * required license or other approval from the U. S. Department of Commerce or 105 1.1.1.13 christos * any other agency or department of the United States Government. In the 106 1.1.1.13 christos * event Licensee exports any such software from the United States or 107 1.1.1.13 christos * re-exports any such software from a foreign destination, Licensee shall 108 1.1.1.13 christos * ensure that the distribution and export/re-export of the software is in 109 1.1.1.13 christos * compliance with all laws, regulations, orders, or other restrictions of the 110 1.1.1.13 christos * U.S. Export Administration Regulations. Licensee agrees that neither it nor 111 1.1.1.13 christos * any of its subsidiaries will export/re-export any technical data, process, 112 1.1.1.13 christos * software, or service, directly or indirectly, to any country for which the 113 1.1.1.13 christos * United States government or any agency thereof requires an export license, 114 1.1.1.13 christos * other governmental approval, or letter of assurance, without first obtaining 115 1.1.1.13 christos * such license, approval or letter. 116 1.1.1.13 christos * 117 1.1.1.13 christos ***************************************************************************** 118 1.1.1.13 christos * 119 1.1.1.13 christos * Alternatively, you may choose to be licensed under the terms of the 120 1.1.1.13 christos * following license: 121 1.1.1.13 christos * 122 1.1 christos * Redistribution and use in source and binary forms, with or without 123 1.1 christos * modification, are permitted provided that the following conditions 124 1.1 christos * are met: 125 1.1 christos * 1. Redistributions of source code must retain the above copyright 126 1.1 christos * notice, this list of conditions, and the following disclaimer, 127 1.1 christos * without modification. 128 1.1 christos * 2. Redistributions in binary form must reproduce at minimum a disclaimer 129 1.1 christos * substantially similar to the "NO WARRANTY" disclaimer below 130 1.1 christos * ("Disclaimer") and any redistribution must be conditioned upon 131 1.1 christos * including a substantially similar Disclaimer requirement for further 132 1.1 christos * binary redistribution. 133 1.1 christos * 3. Neither the names of the above-listed copyright holders nor the names 134 1.1 christos * of any contributors may be used to endorse or promote products derived 135 1.1 christos * from this software without specific prior written permission. 136 1.1 christos * 137 1.1 christos * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 138 1.1 christos * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 139 1.1.1.10 christos * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 140 1.1 christos * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 141 1.1.1.13 christos * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 142 1.1.1.13 christos * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 143 1.1.1.13 christos * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 144 1.1.1.13 christos * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 145 1.1.1.13 christos * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 146 1.1.1.13 christos * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 147 1.1.1.13 christos * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 148 1.1.1.13 christos * 149 1.1.1.13 christos * Alternatively, you may choose to be licensed under the terms of the 150 1.1.1.13 christos * GNU General Public License ("GPL") version 2 as published by the Free 151 1.1.1.13 christos * Software Foundation. 152 1.1.1.13 christos * 153 1.1.1.13 christos *****************************************************************************/ 154 1.1 christos 155 1.1 christos ') 156 1.1 christos 157 1.1 christos 158 1.1 christos /******************************************************************************* 159 1.1 christos * 160 1.1 christos * ASL Primary Terms 161 1.1 christos * 162 1.1 christos ******************************************************************************/ 163 1.1 christos 164 1.1 christos AccessAsTerm 165 1.1.1.2 christos : PARSEOP_ACCESSAS 166 1.1.1.2 christos PARSEOP_OPEN_PAREN 167 1.1 christos AccessTypeKeyword 168 1.1 christos OptionalAccessAttribTerm 169 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_ACCESSAS,2,$3,$4);} 170 1.1.1.2 christos | PARSEOP_ACCESSAS 171 1.1.1.2 christos PARSEOP_OPEN_PAREN 172 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 173 1.1 christos ; 174 1.1 christos 175 1.1 christos AcquireTerm 176 1.1.1.2 christos : PARSEOP_ACQUIRE 177 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp(PARSEOP_ACQUIRE);} 178 1.1 christos SuperName 179 1.1 christos ',' WordConstExpr 180 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$6);} 181 1.1.1.2 christos | PARSEOP_ACQUIRE 182 1.1.1.2 christos PARSEOP_OPEN_PAREN 183 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 184 1.1 christos ; 185 1.1 christos 186 1.1 christos AddTerm 187 1.1.1.2 christos : PARSEOP_ADD 188 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_ADD);} 189 1.1 christos TermArg 190 1.1 christos TermArgItem 191 1.1 christos Target 192 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 193 1.1.1.2 christos | PARSEOP_ADD 194 1.1.1.2 christos PARSEOP_OPEN_PAREN 195 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 196 1.1 christos ; 197 1.1 christos 198 1.1 christos AliasTerm 199 1.1.1.2 christos : PARSEOP_ALIAS 200 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_ALIAS);} 201 1.1 christos NameString 202 1.1 christos NameStringItem 203 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4, 204 1.1.1.4 christos TrSetOpFlags ($5, OP_IS_NAME_DECLARATION));} 205 1.1.1.2 christos | PARSEOP_ALIAS 206 1.1.1.2 christos PARSEOP_OPEN_PAREN 207 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 208 1.1 christos ; 209 1.1 christos 210 1.1 christos AndTerm 211 1.1.1.2 christos : PARSEOP_AND 212 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_AND);} 213 1.1 christos TermArg 214 1.1 christos TermArgItem 215 1.1 christos Target 216 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 217 1.1.1.2 christos | PARSEOP_AND 218 1.1.1.2 christos PARSEOP_OPEN_PAREN 219 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 220 1.1 christos ; 221 1.1 christos 222 1.1 christos ArgTerm 223 1.1.1.4 christos : PARSEOP_ARG0 {$$ = TrCreateLeafOp (PARSEOP_ARG0);} 224 1.1.1.4 christos | PARSEOP_ARG1 {$$ = TrCreateLeafOp (PARSEOP_ARG1);} 225 1.1.1.4 christos | PARSEOP_ARG2 {$$ = TrCreateLeafOp (PARSEOP_ARG2);} 226 1.1.1.4 christos | PARSEOP_ARG3 {$$ = TrCreateLeafOp (PARSEOP_ARG3);} 227 1.1.1.4 christos | PARSEOP_ARG4 {$$ = TrCreateLeafOp (PARSEOP_ARG4);} 228 1.1.1.4 christos | PARSEOP_ARG5 {$$ = TrCreateLeafOp (PARSEOP_ARG5);} 229 1.1.1.4 christos | PARSEOP_ARG6 {$$ = TrCreateLeafOp (PARSEOP_ARG6);} 230 1.1 christos ; 231 1.1 christos 232 1.1 christos BankFieldTerm 233 1.1.1.2 christos : PARSEOP_BANKFIELD 234 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_BANKFIELD);} 235 1.1 christos NameString 236 1.1 christos NameStringItem 237 1.1 christos TermArgItem 238 1.1.1.6 christos OptionalAccessTypeKeyword 239 1.1.1.6 christos OptionalLockRuleKeyword 240 1.1.1.6 christos OptionalUpdateRuleKeyword 241 1.1.1.2 christos PARSEOP_CLOSE_PAREN '{' 242 1.1.1.4 christos FieldUnitList '}' {$$ = TrLinkOpChildren ($<n>3,7, 243 1.1.1.6 christos $4,$5,$6,$7,$8,$9,$12);} 244 1.1.1.2 christos | PARSEOP_BANKFIELD 245 1.1.1.2 christos PARSEOP_OPEN_PAREN 246 1.1.1.2 christos error PARSEOP_CLOSE_PAREN 247 1.1.1.2 christos '{' error '}' {$$ = AslDoError(); yyclearin;} 248 1.1 christos ; 249 1.1 christos 250 1.1 christos BreakTerm 251 1.1.1.4 christos : PARSEOP_BREAK {$$ = TrCreateOp (PARSEOP_BREAK, 0);} 252 1.1 christos ; 253 1.1 christos 254 1.1 christos BreakPointTerm 255 1.1.1.4 christos : PARSEOP_BREAKPOINT {$$ = TrCreateOp (PARSEOP_BREAKPOINT, 0);} 256 1.1 christos ; 257 1.1 christos 258 1.1 christos BufferTerm 259 1.1.1.4 christos : PARSEOP_BUFFER {$<n>$ = TrCreateLeafOp (PARSEOP_BUFFER); COMMENT_CAPTURE_OFF; } 260 1.1 christos OptionalDataCount 261 1.1.1.4 christos '{' BufferTermData '}' {$$ = TrLinkOpChildren ($<n>2,2,$3,$5); COMMENT_CAPTURE_ON;} 262 1.1 christos ; 263 1.1 christos 264 1.1 christos BufferTermData 265 1.1 christos : ByteList {} 266 1.1 christos | StringData {} 267 1.1 christos ; 268 1.1 christos 269 1.1 christos CaseTerm 270 1.1.1.2 christos : PARSEOP_CASE 271 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CASE);} 272 1.1 christos DataObject 273 1.1.1.2 christos PARSEOP_CLOSE_PAREN '{' 274 1.1.1.4 christos TermList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);} 275 1.1.1.2 christos | PARSEOP_CASE 276 1.1.1.2 christos PARSEOP_OPEN_PAREN 277 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 278 1.1 christos ; 279 1.1 christos 280 1.1 christos ConcatTerm 281 1.1.1.2 christos : PARSEOP_CONCATENATE 282 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CONCATENATE);} 283 1.1 christos TermArg 284 1.1 christos TermArgItem 285 1.1 christos Target 286 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 287 1.1.1.2 christos | PARSEOP_CONCATENATE 288 1.1.1.2 christos PARSEOP_OPEN_PAREN 289 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 290 1.1 christos ; 291 1.1 christos 292 1.1 christos ConcatResTerm 293 1.1.1.2 christos : PARSEOP_CONCATENATERESTEMPLATE 294 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp ( 295 1.1.1.2 christos PARSEOP_CONCATENATERESTEMPLATE);} 296 1.1 christos TermArg 297 1.1 christos TermArgItem 298 1.1 christos Target 299 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 300 1.1.1.2 christos | PARSEOP_CONCATENATERESTEMPLATE 301 1.1.1.2 christos PARSEOP_OPEN_PAREN 302 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 303 1.1.1.2 christos ; 304 1.1.1.2 christos 305 1.1.1.2 christos CondRefOfTerm 306 1.1.1.2 christos : PARSEOP_CONDREFOF 307 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CONDREFOF);} 308 1.1.1.2 christos CondRefOfSource 309 1.1.1.2 christos Target 310 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 311 1.1.1.2 christos | PARSEOP_CONDREFOF 312 1.1.1.2 christos PARSEOP_OPEN_PAREN 313 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 314 1.1 christos ; 315 1.1 christos 316 1.1 christos ConnectionTerm 317 1.1.1.2 christos : PARSEOP_CONNECTION 318 1.1.1.2 christos PARSEOP_OPEN_PAREN 319 1.1 christos NameString 320 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_CONNECTION,1,$3);} 321 1.1.1.2 christos | PARSEOP_CONNECTION 322 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CONNECTION);} 323 1.1 christos ResourceMacroTerm 324 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3, 1, 325 1.1.1.4 christos TrLinkOpChildren ( 326 1.1.1.4 christos TrCreateLeafOp (PARSEOP_RESOURCETEMPLATE), 3, 327 1.1.1.4 christos TrCreateLeafOp (PARSEOP_DEFAULT_ARG), 328 1.1.1.4 christos TrCreateLeafOp (PARSEOP_DEFAULT_ARG), 329 1.1 christos $4));} 330 1.1.1.2 christos | PARSEOP_CONNECTION 331 1.1.1.2 christos PARSEOP_OPEN_PAREN 332 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 333 1.1 christos ; 334 1.1 christos 335 1.1 christos ContinueTerm 336 1.1.1.4 christos : PARSEOP_CONTINUE {$$ = TrCreateOp (PARSEOP_CONTINUE, 0);} 337 1.1 christos ; 338 1.1 christos 339 1.1 christos CopyObjectTerm 340 1.1.1.2 christos : PARSEOP_COPYOBJECT 341 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_COPYOBJECT);} 342 1.1 christos TermArg 343 1.1.1.2 christos ',' SimpleName 344 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4, 345 1.1.1.4 christos TrSetOpFlags ($6, OP_IS_TARGET));} 346 1.1.1.2 christos | PARSEOP_COPYOBJECT 347 1.1.1.2 christos PARSEOP_OPEN_PAREN 348 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 349 1.1 christos ; 350 1.1 christos 351 1.1 christos CreateBitFieldTerm 352 1.1.1.2 christos : PARSEOP_CREATEBITFIELD 353 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEBITFIELD);} 354 1.1 christos TermArg 355 1.1 christos TermArgItem 356 1.1 christos NameStringItem 357 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5, 358 1.1.1.4 christos TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));} 359 1.1.1.2 christos | PARSEOP_CREATEBITFIELD 360 1.1.1.2 christos PARSEOP_OPEN_PAREN 361 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 362 1.1 christos ; 363 1.1 christos 364 1.1 christos CreateByteFieldTerm 365 1.1.1.2 christos : PARSEOP_CREATEBYTEFIELD 366 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEBYTEFIELD);} 367 1.1 christos TermArg 368 1.1 christos TermArgItem 369 1.1 christos NameStringItem 370 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5, 371 1.1.1.4 christos TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));} 372 1.1.1.2 christos | PARSEOP_CREATEBYTEFIELD 373 1.1.1.2 christos PARSEOP_OPEN_PAREN 374 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 375 1.1 christos ; 376 1.1 christos 377 1.1 christos CreateDWordFieldTerm 378 1.1.1.2 christos : PARSEOP_CREATEDWORDFIELD 379 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEDWORDFIELD);} 380 1.1 christos TermArg 381 1.1 christos TermArgItem 382 1.1 christos NameStringItem 383 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5, 384 1.1.1.4 christos TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));} 385 1.1.1.2 christos | PARSEOP_CREATEDWORDFIELD 386 1.1.1.2 christos PARSEOP_OPEN_PAREN 387 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 388 1.1 christos ; 389 1.1 christos 390 1.1 christos CreateFieldTerm 391 1.1.1.2 christos : PARSEOP_CREATEFIELD 392 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEFIELD);} 393 1.1 christos TermArg 394 1.1 christos TermArgItem 395 1.1 christos TermArgItem 396 1.1 christos NameStringItem 397 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,$4,$5,$6, 398 1.1.1.4 christos TrSetOpFlags ($7, OP_IS_NAME_DECLARATION));} 399 1.1.1.2 christos | PARSEOP_CREATEFIELD 400 1.1.1.2 christos PARSEOP_OPEN_PAREN 401 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 402 1.1 christos ; 403 1.1 christos 404 1.1 christos CreateQWordFieldTerm 405 1.1.1.2 christos : PARSEOP_CREATEQWORDFIELD 406 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEQWORDFIELD);} 407 1.1 christos TermArg 408 1.1 christos TermArgItem 409 1.1 christos NameStringItem 410 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5, 411 1.1.1.4 christos TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));} 412 1.1.1.2 christos | PARSEOP_CREATEQWORDFIELD 413 1.1.1.2 christos PARSEOP_OPEN_PAREN 414 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 415 1.1 christos ; 416 1.1 christos 417 1.1 christos CreateWordFieldTerm 418 1.1.1.2 christos : PARSEOP_CREATEWORDFIELD 419 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEWORDFIELD);} 420 1.1 christos TermArg 421 1.1 christos TermArgItem 422 1.1 christos NameStringItem 423 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5, 424 1.1.1.4 christos TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));} 425 1.1.1.2 christos | PARSEOP_CREATEWORDFIELD 426 1.1.1.2 christos PARSEOP_OPEN_PAREN 427 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 428 1.1 christos ; 429 1.1 christos 430 1.1 christos DataRegionTerm 431 1.1.1.2 christos : PARSEOP_DATATABLEREGION 432 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DATATABLEREGION);} 433 1.1 christos NameString 434 1.1 christos TermArgItem 435 1.1 christos TermArgItem 436 1.1 christos TermArgItem 437 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4, 438 1.1.1.4 christos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$5,$6,$7);} 439 1.1.1.2 christos | PARSEOP_DATATABLEREGION 440 1.1.1.2 christos PARSEOP_OPEN_PAREN 441 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 442 1.1 christos ; 443 1.1 christos 444 1.1 christos DebugTerm 445 1.1.1.4 christos : PARSEOP_DEBUG {$$ = TrCreateLeafOp (PARSEOP_DEBUG);} 446 1.1 christos ; 447 1.1 christos 448 1.1 christos DecTerm 449 1.1.1.2 christos : PARSEOP_DECREMENT 450 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DECREMENT);} 451 1.1 christos SuperName 452 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 453 1.1.1.2 christos | PARSEOP_DECREMENT 454 1.1.1.2 christos PARSEOP_OPEN_PAREN 455 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 456 1.1 christos ; 457 1.1 christos 458 1.1 christos DefaultTerm 459 1.1.1.4 christos : PARSEOP_DEFAULT '{' {$<n>$ = TrCreateLeafOp (PARSEOP_DEFAULT);} 460 1.1.1.4 christos TermList '}' {$$ = TrLinkOpChildren ($<n>3,1,$4);} 461 1.1 christos | PARSEOP_DEFAULT '{' 462 1.1 christos error '}' {$$ = AslDoError(); yyclearin;} 463 1.1 christos ; 464 1.1 christos 465 1.1 christos DerefOfTerm 466 1.1.1.2 christos : PARSEOP_DEREFOF 467 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DEREFOF);} 468 1.1.1.2 christos DerefOfSource 469 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 470 1.1.1.2 christos | PARSEOP_DEREFOF 471 1.1.1.2 christos PARSEOP_OPEN_PAREN 472 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 473 1.1 christos ; 474 1.1 christos 475 1.1 christos DeviceTerm 476 1.1.1.2 christos : PARSEOP_DEVICE 477 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DEVICE);} 478 1.1 christos NameString 479 1.1.1.2 christos PARSEOP_CLOSE_PAREN '{' 480 1.1.1.4 christos TermList '}' {$$ = TrLinkOpChildren ($<n>3,2, 481 1.1.1.4 christos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$7);} 482 1.1.1.2 christos | PARSEOP_DEVICE 483 1.1.1.2 christos PARSEOP_OPEN_PAREN 484 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 485 1.1 christos ; 486 1.1 christos 487 1.1 christos DivideTerm 488 1.1.1.2 christos : PARSEOP_DIVIDE 489 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DIVIDE);} 490 1.1 christos TermArg 491 1.1 christos TermArgItem 492 1.1 christos Target 493 1.1 christos Target 494 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,$4,$5,$6,$7);} 495 1.1.1.2 christos | PARSEOP_DIVIDE 496 1.1.1.2 christos PARSEOP_OPEN_PAREN 497 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 498 1.1 christos ; 499 1.1 christos 500 1.1 christos EISAIDTerm 501 1.1.1.2 christos : PARSEOP_EISAID 502 1.1.1.2 christos PARSEOP_OPEN_PAREN 503 1.1.1.9 christos StringLiteral 504 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrSetOpIntegerValue (PARSEOP_EISAID, $3);} 505 1.1.1.2 christos | PARSEOP_EISAID 506 1.1.1.2 christos PARSEOP_OPEN_PAREN 507 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 508 1.1 christos ; 509 1.1 christos 510 1.1 christos ElseIfTerm 511 1.1.1.4 christos : IfTerm ElseTerm {$$ = TrLinkPeerOp ($1,$2);} 512 1.1 christos ; 513 1.1 christos 514 1.1 christos ElseTerm 515 1.1 christos : {$$ = NULL;} 516 1.1.1.3 christos | PARSEOP_ELSE '{' 517 1.1.1.4 christos TermList {$<n>$ = TrCreateLeafOp (PARSEOP_ELSE);} 518 1.1.1.4 christos '}' {$$ = TrLinkOpChildren ($<n>4,1,$3);} 519 1.1 christos 520 1.1 christos | PARSEOP_ELSE '{' 521 1.1 christos error '}' {$$ = AslDoError(); yyclearin;} 522 1.1 christos 523 1.1 christos | PARSEOP_ELSE 524 1.1 christos error {$$ = AslDoError(); yyclearin;} 525 1.1 christos 526 1.1.1.2 christos | PARSEOP_ELSEIF 527 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_ELSE);} 528 1.1.1.4 christos TermArg {$<n>$ = TrCreateLeafOp (PARSEOP_IF);} 529 1.1.1.2 christos PARSEOP_CLOSE_PAREN '{' 530 1.1.1.4 christos TermList '}' {TrLinkOpChildren ($<n>5,2,$4,$8);} 531 1.1.1.4 christos ElseTerm {TrLinkPeerOp ($<n>5,$11);} 532 1.1.1.4 christos {$$ = TrLinkOpChildren ($<n>3,1,$<n>5);} 533 1.1 christos 534 1.1.1.2 christos | PARSEOP_ELSEIF 535 1.1.1.2 christos PARSEOP_OPEN_PAREN 536 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 537 1.1 christos 538 1.1 christos | PARSEOP_ELSEIF 539 1.1 christos error {$$ = AslDoError(); yyclearin;} 540 1.1 christos ; 541 1.1 christos 542 1.1 christos EventTerm 543 1.1.1.2 christos : PARSEOP_EVENT 544 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_EVENT);} 545 1.1 christos NameString 546 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1, 547 1.1.1.4 christos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION));} 548 1.1.1.2 christos | PARSEOP_EVENT 549 1.1.1.2 christos PARSEOP_OPEN_PAREN 550 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 551 1.1 christos ; 552 1.1 christos 553 1.1 christos ExternalTerm 554 1.1.1.2 christos : PARSEOP_EXTERNAL 555 1.1.1.2 christos PARSEOP_OPEN_PAREN 556 1.1 christos NameString 557 1.1 christos OptionalObjectTypeKeyword 558 1.1 christos OptionalParameterTypePackage 559 1.1 christos OptionalParameterTypesPackage 560 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_EXTERNAL,4,$3,$4,$5,$6);} 561 1.1.1.2 christos | PARSEOP_EXTERNAL 562 1.1.1.2 christos PARSEOP_OPEN_PAREN 563 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 564 1.1 christos ; 565 1.1 christos 566 1.1 christos FatalTerm 567 1.1.1.2 christos : PARSEOP_FATAL 568 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FATAL);} 569 1.1 christos ByteConstExpr 570 1.1 christos ',' DWordConstExpr 571 1.1 christos TermArgItem 572 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$7);} 573 1.1.1.2 christos | PARSEOP_FATAL 574 1.1.1.2 christos PARSEOP_OPEN_PAREN 575 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 576 1.1 christos ; 577 1.1 christos 578 1.1 christos FieldTerm 579 1.1.1.2 christos : PARSEOP_FIELD 580 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FIELD);} 581 1.1 christos NameString 582 1.1.1.6 christos OptionalAccessTypeKeyword 583 1.1.1.6 christos OptionalLockRuleKeyword 584 1.1.1.6 christos OptionalUpdateRuleKeyword 585 1.1.1.2 christos PARSEOP_CLOSE_PAREN '{' 586 1.1.1.6 christos FieldUnitList '}' {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$6,$7,$10);} 587 1.1.1.2 christos | PARSEOP_FIELD 588 1.1.1.2 christos PARSEOP_OPEN_PAREN 589 1.1.1.2 christos error PARSEOP_CLOSE_PAREN 590 1.1.1.2 christos '{' error '}' {$$ = AslDoError(); yyclearin;} 591 1.1 christos ; 592 1.1 christos 593 1.1 christos FindSetLeftBitTerm 594 1.1.1.2 christos : PARSEOP_FINDSETLEFTBIT 595 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FINDSETLEFTBIT);} 596 1.1 christos TermArg 597 1.1 christos Target 598 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 599 1.1.1.2 christos | PARSEOP_FINDSETLEFTBIT 600 1.1.1.2 christos PARSEOP_OPEN_PAREN 601 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 602 1.1 christos ; 603 1.1 christos 604 1.1 christos FindSetRightBitTerm 605 1.1.1.2 christos : PARSEOP_FINDSETRIGHTBIT 606 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FINDSETRIGHTBIT);} 607 1.1 christos TermArg 608 1.1 christos Target 609 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 610 1.1.1.2 christos | PARSEOP_FINDSETRIGHTBIT 611 1.1.1.2 christos PARSEOP_OPEN_PAREN 612 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 613 1.1 christos ; 614 1.1 christos 615 1.1 christos /* Convert a For() loop to a While() loop */ 616 1.1 christos ForTerm 617 1.1.1.2 christos : PARSEOP_FOR 618 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WHILE);} 619 1.1 christos OptionalTermArg ',' {} 620 1.1 christos OptionalPredicate ',' 621 1.1.1.4 christos OptionalTermArg {$<n>$ = TrLinkPeerOp ($4,$<n>3); 622 1.1.1.4 christos TrSetOpParent ($9,$<n>3);} /* New parent is WHILE */ 623 1.1.1.2 christos PARSEOP_CLOSE_PAREN 624 1.1.1.4 christos '{' TermList '}' {$<n>$ = TrLinkOpChildren ($<n>3,2,$7,$13);} 625 1.1.1.4 christos {$<n>$ = TrLinkPeerOp ($13,$9); 626 1.1 christos $$ = $<n>10;} 627 1.1 christos ; 628 1.1 christos 629 1.1 christos OptionalPredicate 630 1.1.1.4 christos : {$$ = TrCreateValuedLeafOp (PARSEOP_INTEGER, 1);} 631 1.1 christos | TermArg {$$ = $1;} 632 1.1 christos ; 633 1.1 christos 634 1.1 christos FprintfTerm 635 1.1.1.2 christos : PARSEOP_FPRINTF 636 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FPRINTF);} 637 1.1 christos TermArg ',' 638 1.1.1.9 christos StringLiteral 639 1.1 christos PrintfArgList 640 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$7);} 641 1.1.1.2 christos | PARSEOP_FPRINTF 642 1.1.1.2 christos PARSEOP_OPEN_PAREN 643 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 644 1.1 christos ; 645 1.1 christos 646 1.1 christos FromBCDTerm 647 1.1.1.2 christos : PARSEOP_FROMBCD 648 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FROMBCD);} 649 1.1 christos TermArg 650 1.1 christos Target 651 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 652 1.1.1.2 christos | PARSEOP_FROMBCD 653 1.1.1.2 christos PARSEOP_OPEN_PAREN 654 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 655 1.1 christos ; 656 1.1 christos 657 1.1 christos FunctionTerm 658 1.1.1.2 christos : PARSEOP_FUNCTION 659 1.1.1.4 christos PARSEOP_OPEN_PAREN {COMMENT_CAPTURE_OFF; $<n>$ = TrCreateLeafOp (PARSEOP_METHOD); } 660 1.1 christos NameString 661 1.1 christos OptionalParameterTypePackage 662 1.1 christos OptionalParameterTypesPackage 663 1.1.1.3 christos PARSEOP_CLOSE_PAREN '{' {COMMENT_CAPTURE_ON; } 664 1.1.1.4 christos TermList '}' {$$ = TrLinkOpChildren ($<n>3,7, 665 1.1.1.4 christos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION), 666 1.1.1.8 christos TrCreateLeafOp (PARSEOP_DEFAULT_ARG), 667 1.1.1.4 christos TrCreateLeafOp (PARSEOP_SERIALIZERULE_NOTSERIAL), 668 1.1.1.4 christos TrCreateValuedLeafOp (PARSEOP_BYTECONST, 0),$5,$6,$10);} 669 1.1.1.2 christos | PARSEOP_FUNCTION 670 1.1.1.2 christos PARSEOP_OPEN_PAREN 671 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 672 1.1 christos ; 673 1.1 christos 674 1.1 christos IfTerm 675 1.1.1.2 christos : PARSEOP_IF 676 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_IF);} 677 1.1 christos TermArg 678 1.1.1.2 christos PARSEOP_CLOSE_PAREN '{' 679 1.1.1.4 christos TermList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);} 680 1.1 christos 681 1.1.1.2 christos | PARSEOP_IF 682 1.1.1.2 christos PARSEOP_OPEN_PAREN 683 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 684 1.1 christos ; 685 1.1 christos 686 1.1 christos IncludeTerm 687 1.1.1.2 christos : PARSEOP_INCLUDE 688 1.1.1.2 christos PARSEOP_OPEN_PAREN 689 1.1.1.2 christos String 690 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrSetOpIntegerValue (PARSEOP_INCLUDE, $3); 691 1.1 christos FlOpenIncludeFile ($3);} 692 1.1 christos ; 693 1.1 christos 694 1.1 christos IncludeEndTerm 695 1.1.1.4 christos : PARSEOP_INCLUDE_END {$<n>$ = TrCreateLeafOp (PARSEOP_INCLUDE_END); 696 1.1.1.4 christos TrSetOpCurrentFilename ($$);} 697 1.1 christos ; 698 1.1 christos 699 1.1 christos IncTerm 700 1.1.1.2 christos : PARSEOP_INCREMENT 701 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_INCREMENT);} 702 1.1 christos SuperName 703 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 704 1.1.1.2 christos | PARSEOP_INCREMENT 705 1.1.1.2 christos PARSEOP_OPEN_PAREN 706 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 707 1.1 christos ; 708 1.1 christos 709 1.1 christos IndexFieldTerm 710 1.1.1.2 christos : PARSEOP_INDEXFIELD 711 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_INDEXFIELD);} 712 1.1 christos NameString 713 1.1 christos NameStringItem 714 1.1.1.6 christos OptionalAccessTypeKeyword 715 1.1.1.6 christos OptionalLockRuleKeyword 716 1.1.1.6 christos OptionalUpdateRuleKeyword 717 1.1.1.2 christos PARSEOP_CLOSE_PAREN '{' 718 1.1.1.6 christos FieldUnitList '}' {$$ = TrLinkOpChildren ($<n>3,6,$4,$5,$6,$7,$8,$11);} 719 1.1.1.2 christos | PARSEOP_INDEXFIELD 720 1.1.1.2 christos PARSEOP_OPEN_PAREN 721 1.1.1.2 christos error PARSEOP_CLOSE_PAREN 722 1.1.1.2 christos '{' error '}' {$$ = AslDoError(); yyclearin;} 723 1.1 christos ; 724 1.1 christos 725 1.1 christos IndexTerm 726 1.1.1.2 christos : PARSEOP_INDEX 727 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_INDEX);} 728 1.1 christos TermArg 729 1.1 christos TermArgItem 730 1.1 christos Target 731 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 732 1.1.1.2 christos | PARSEOP_INDEX 733 1.1.1.2 christos PARSEOP_OPEN_PAREN 734 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 735 1.1 christos ; 736 1.1 christos 737 1.1 christos LAndTerm 738 1.1.1.2 christos : PARSEOP_LAND 739 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LAND);} 740 1.1 christos TermArg 741 1.1 christos TermArgItem 742 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 743 1.1.1.2 christos | PARSEOP_LAND 744 1.1.1.2 christos PARSEOP_OPEN_PAREN 745 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 746 1.1 christos ; 747 1.1 christos 748 1.1 christos LEqualTerm 749 1.1.1.2 christos : PARSEOP_LEQUAL 750 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LEQUAL);} 751 1.1 christos TermArg 752 1.1 christos TermArgItem 753 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 754 1.1.1.2 christos | PARSEOP_LEQUAL 755 1.1.1.2 christos PARSEOP_OPEN_PAREN 756 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 757 1.1 christos ; 758 1.1 christos 759 1.1 christos LGreaterEqualTerm 760 1.1.1.2 christos : PARSEOP_LGREATEREQUAL 761 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LLESS);} 762 1.1 christos TermArg 763 1.1 christos TermArgItem 764 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_LNOT, 1, 765 1.1.1.4 christos TrLinkOpChildren ($<n>3,2,$4,$5));} 766 1.1.1.2 christos | PARSEOP_LGREATEREQUAL 767 1.1.1.2 christos PARSEOP_OPEN_PAREN 768 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 769 1.1 christos ; 770 1.1 christos 771 1.1 christos LGreaterTerm 772 1.1.1.2 christos : PARSEOP_LGREATER 773 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LGREATER);} 774 1.1 christos TermArg 775 1.1 christos TermArgItem 776 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 777 1.1.1.2 christos | PARSEOP_LGREATER 778 1.1.1.2 christos PARSEOP_OPEN_PAREN 779 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 780 1.1 christos ; 781 1.1 christos 782 1.1 christos LLessEqualTerm 783 1.1.1.2 christos : PARSEOP_LLESSEQUAL 784 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LGREATER);} 785 1.1 christos TermArg 786 1.1 christos TermArgItem 787 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_LNOT, 1, 788 1.1.1.4 christos TrLinkOpChildren ($<n>3,2,$4,$5));} 789 1.1.1.2 christos | PARSEOP_LLESSEQUAL 790 1.1.1.2 christos PARSEOP_OPEN_PAREN 791 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 792 1.1 christos ; 793 1.1 christos 794 1.1 christos LLessTerm 795 1.1.1.2 christos : PARSEOP_LLESS 796 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LLESS);} 797 1.1 christos TermArg 798 1.1 christos TermArgItem 799 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 800 1.1.1.2 christos | PARSEOP_LLESS 801 1.1.1.2 christos PARSEOP_OPEN_PAREN 802 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 803 1.1 christos ; 804 1.1 christos 805 1.1 christos LNotEqualTerm 806 1.1.1.2 christos : PARSEOP_LNOTEQUAL 807 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LEQUAL);} 808 1.1 christos TermArg 809 1.1 christos TermArgItem 810 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_LNOT, 1, 811 1.1.1.4 christos TrLinkOpChildren ($<n>3,2,$4,$5));} 812 1.1.1.2 christos | PARSEOP_LNOTEQUAL 813 1.1.1.2 christos PARSEOP_OPEN_PAREN 814 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 815 1.1 christos ; 816 1.1 christos 817 1.1 christos LNotTerm 818 1.1.1.2 christos : PARSEOP_LNOT 819 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LNOT);} 820 1.1 christos TermArg 821 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 822 1.1.1.2 christos | PARSEOP_LNOT 823 1.1.1.2 christos PARSEOP_OPEN_PAREN 824 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 825 1.1 christos ; 826 1.1 christos 827 1.1 christos LoadTableTerm 828 1.1.1.2 christos : PARSEOP_LOADTABLE 829 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LOADTABLE);} 830 1.1 christos TermArg 831 1.1 christos TermArgItem 832 1.1 christos TermArgItem 833 1.1 christos OptionalListString 834 1.1 christos OptionalListString 835 1.1 christos OptionalReference 836 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$5,$6,$7,$8,$9);} 837 1.1.1.2 christos | PARSEOP_LOADTABLE 838 1.1.1.2 christos PARSEOP_OPEN_PAREN 839 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 840 1.1 christos ; 841 1.1 christos 842 1.1 christos LoadTerm 843 1.1.1.2 christos : PARSEOP_LOAD 844 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LOAD);} 845 1.1 christos NameString 846 1.1.1.11 christos Target 847 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 848 1.1.1.2 christos | PARSEOP_LOAD 849 1.1.1.2 christos PARSEOP_OPEN_PAREN 850 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 851 1.1 christos ; 852 1.1 christos 853 1.1 christos LocalTerm 854 1.1.1.4 christos : PARSEOP_LOCAL0 {$$ = TrCreateLeafOp (PARSEOP_LOCAL0);} 855 1.1.1.4 christos | PARSEOP_LOCAL1 {$$ = TrCreateLeafOp (PARSEOP_LOCAL1);} 856 1.1.1.4 christos | PARSEOP_LOCAL2 {$$ = TrCreateLeafOp (PARSEOP_LOCAL2);} 857 1.1.1.4 christos | PARSEOP_LOCAL3 {$$ = TrCreateLeafOp (PARSEOP_LOCAL3);} 858 1.1.1.4 christos | PARSEOP_LOCAL4 {$$ = TrCreateLeafOp (PARSEOP_LOCAL4);} 859 1.1.1.4 christos | PARSEOP_LOCAL5 {$$ = TrCreateLeafOp (PARSEOP_LOCAL5);} 860 1.1.1.4 christos | PARSEOP_LOCAL6 {$$ = TrCreateLeafOp (PARSEOP_LOCAL6);} 861 1.1.1.4 christos | PARSEOP_LOCAL7 {$$ = TrCreateLeafOp (PARSEOP_LOCAL7);} 862 1.1 christos ; 863 1.1 christos 864 1.1 christos LOrTerm 865 1.1.1.2 christos : PARSEOP_LOR 866 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LOR);} 867 1.1 christos TermArg 868 1.1 christos TermArgItem 869 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 870 1.1.1.2 christos | PARSEOP_LOR 871 1.1.1.2 christos PARSEOP_OPEN_PAREN 872 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 873 1.1 christos ; 874 1.1 christos 875 1.1 christos MatchTerm 876 1.1.1.2 christos : PARSEOP_MATCH 877 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MATCH);} 878 1.1 christos TermArg 879 1.1 christos ',' MatchOpKeyword 880 1.1 christos TermArgItem 881 1.1 christos ',' MatchOpKeyword 882 1.1 christos TermArgItem 883 1.1 christos TermArgItem 884 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$7,$9,$10,$11);} 885 1.1.1.2 christos | PARSEOP_MATCH 886 1.1.1.2 christos PARSEOP_OPEN_PAREN 887 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 888 1.1 christos ; 889 1.1 christos 890 1.1 christos MethodTerm 891 1.1.1.2 christos : PARSEOP_METHOD 892 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_METHOD); COMMENT_CAPTURE_OFF;} 893 1.1 christos NameString 894 1.1 christos OptionalByteConstExpr {UtCheckIntegerRange ($5, 0, 7);} 895 1.1 christos OptionalSerializeRuleKeyword 896 1.1 christos OptionalByteConstExpr 897 1.1 christos OptionalParameterTypePackage 898 1.1 christos OptionalParameterTypesPackage 899 1.1.1.3 christos PARSEOP_CLOSE_PAREN '{' {COMMENT_CAPTURE_ON;} 900 1.1.1.4 christos TermList '}' {$$ = TrLinkOpChildren ($<n>3,7, 901 1.1.1.4 christos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION), 902 1.1.1.3 christos $5,$7,$8,$9,$10,$14);} 903 1.1.1.2 christos | PARSEOP_METHOD 904 1.1.1.2 christos PARSEOP_OPEN_PAREN 905 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 906 1.1 christos ; 907 1.1 christos 908 1.1 christos MidTerm 909 1.1.1.2 christos : PARSEOP_MID 910 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MID);} 911 1.1 christos TermArg 912 1.1 christos TermArgItem 913 1.1 christos TermArgItem 914 1.1 christos Target 915 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,$4,$5,$6,$7);} 916 1.1.1.2 christos | PARSEOP_MID 917 1.1.1.2 christos PARSEOP_OPEN_PAREN 918 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 919 1.1 christos ; 920 1.1 christos 921 1.1 christos ModTerm 922 1.1.1.2 christos : PARSEOP_MOD 923 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MOD);} 924 1.1 christos TermArg 925 1.1 christos TermArgItem 926 1.1 christos Target 927 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 928 1.1.1.2 christos | PARSEOP_MOD 929 1.1.1.2 christos PARSEOP_OPEN_PAREN 930 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 931 1.1 christos ; 932 1.1 christos 933 1.1 christos MultiplyTerm 934 1.1.1.2 christos : PARSEOP_MULTIPLY 935 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MULTIPLY);} 936 1.1 christos TermArg 937 1.1 christos TermArgItem 938 1.1 christos Target 939 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 940 1.1.1.2 christos | PARSEOP_MULTIPLY 941 1.1.1.2 christos PARSEOP_OPEN_PAREN 942 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 943 1.1 christos ; 944 1.1 christos 945 1.1 christos MutexTerm 946 1.1.1.2 christos : PARSEOP_MUTEX 947 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MUTEX);} 948 1.1 christos NameString 949 1.1.1.6 christos OptionalSyncLevel 950 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2, 951 1.1.1.6 christos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$5);} 952 1.1.1.2 christos | PARSEOP_MUTEX 953 1.1.1.2 christos PARSEOP_OPEN_PAREN 954 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 955 1.1 christos ; 956 1.1 christos 957 1.1 christos NameTerm 958 1.1.1.2 christos : PARSEOP_NAME 959 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_NAME);} 960 1.1 christos NameString 961 1.1 christos ',' DataObject 962 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2, 963 1.1.1.4 christos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$6);} 964 1.1.1.2 christos | PARSEOP_NAME 965 1.1.1.2 christos PARSEOP_OPEN_PAREN 966 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 967 1.1 christos ; 968 1.1 christos 969 1.1 christos NAndTerm 970 1.1.1.2 christos : PARSEOP_NAND 971 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_NAND);} 972 1.1 christos TermArg 973 1.1 christos TermArgItem 974 1.1 christos Target 975 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 976 1.1.1.2 christos | PARSEOP_NAND 977 1.1.1.2 christos PARSEOP_OPEN_PAREN 978 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 979 1.1 christos ; 980 1.1 christos 981 1.1 christos NoOpTerm 982 1.1.1.4 christos : PARSEOP_NOOP {$$ = TrCreateOp (PARSEOP_NOOP, 0);} 983 1.1 christos ; 984 1.1 christos 985 1.1 christos NOrTerm 986 1.1.1.2 christos : PARSEOP_NOR 987 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_NOR);} 988 1.1 christos TermArg 989 1.1 christos TermArgItem 990 1.1 christos Target 991 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 992 1.1.1.2 christos | PARSEOP_NOR 993 1.1.1.2 christos PARSEOP_OPEN_PAREN 994 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 995 1.1 christos ; 996 1.1 christos 997 1.1 christos NotifyTerm 998 1.1.1.2 christos : PARSEOP_NOTIFY 999 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_NOTIFY);} 1000 1.1 christos SuperName 1001 1.1 christos TermArgItem 1002 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 1003 1.1.1.2 christos | PARSEOP_NOTIFY 1004 1.1.1.2 christos PARSEOP_OPEN_PAREN 1005 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1006 1.1 christos ; 1007 1.1 christos 1008 1.1 christos NotTerm 1009 1.1.1.2 christos : PARSEOP_NOT 1010 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_NOT);} 1011 1.1 christos TermArg 1012 1.1 christos Target 1013 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 1014 1.1.1.2 christos | PARSEOP_NOT 1015 1.1.1.2 christos PARSEOP_OPEN_PAREN 1016 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1017 1.1 christos ; 1018 1.1 christos 1019 1.1 christos ObjectTypeTerm 1020 1.1.1.2 christos : PARSEOP_OBJECTTYPE 1021 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_OBJECTTYPE);} 1022 1.1.1.2 christos ObjectTypeSource 1023 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 1024 1.1.1.2 christos | PARSEOP_OBJECTTYPE 1025 1.1.1.2 christos PARSEOP_OPEN_PAREN 1026 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1027 1.1 christos ; 1028 1.1 christos 1029 1.1 christos OffsetTerm 1030 1.1.1.2 christos : PARSEOP_OFFSET 1031 1.1.1.2 christos PARSEOP_OPEN_PAREN 1032 1.1 christos AmlPackageLengthTerm 1033 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_OFFSET,1,$3);} 1034 1.1.1.2 christos | PARSEOP_OFFSET 1035 1.1.1.2 christos PARSEOP_OPEN_PAREN 1036 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1037 1.1 christos ; 1038 1.1 christos 1039 1.1 christos OpRegionTerm 1040 1.1.1.2 christos : PARSEOP_OPERATIONREGION 1041 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_OPERATIONREGION);} 1042 1.1 christos NameString 1043 1.1 christos ',' OpRegionSpaceIdTerm 1044 1.1 christos TermArgItem 1045 1.1 christos TermArgItem 1046 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4, 1047 1.1.1.4 christos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION), 1048 1.1 christos $6,$7,$8);} 1049 1.1.1.2 christos | PARSEOP_OPERATIONREGION 1050 1.1.1.2 christos PARSEOP_OPEN_PAREN 1051 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1052 1.1 christos ; 1053 1.1 christos 1054 1.1 christos OpRegionSpaceIdTerm 1055 1.1 christos : RegionSpaceKeyword {} 1056 1.1 christos | ByteConst {$$ = UtCheckIntegerRange ($1, 0x80, 0xFF);} 1057 1.1 christos ; 1058 1.1 christos 1059 1.1 christos OrTerm 1060 1.1.1.2 christos : PARSEOP_OR 1061 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_OR);} 1062 1.1 christos TermArg 1063 1.1 christos TermArgItem 1064 1.1 christos Target 1065 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 1066 1.1.1.2 christos | PARSEOP_OR 1067 1.1.1.2 christos PARSEOP_OPEN_PAREN 1068 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1069 1.1 christos ; 1070 1.1 christos 1071 1.1 christos PackageTerm 1072 1.1.1.4 christos : PARSEOP_PACKAGE {$<n>$ = TrCreateLeafOp (PARSEOP_VAR_PACKAGE);} 1073 1.1 christos OptionalDataCount 1074 1.1.1.4 christos '{' PackageList '}' {$$ = TrLinkOpChildren ($<n>2,2,$3,$5);} 1075 1.1 christos 1076 1.1 christos PowerResTerm 1077 1.1.1.2 christos : PARSEOP_POWERRESOURCE 1078 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_POWERRESOURCE);} 1079 1.1 christos NameString 1080 1.1 christos ',' ByteConstExpr 1081 1.1 christos ',' WordConstExpr 1082 1.1.1.2 christos PARSEOP_CLOSE_PAREN '{' 1083 1.1.1.4 christos TermList '}' {$$ = TrLinkOpChildren ($<n>3,4, 1084 1.1.1.4 christos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION), 1085 1.1 christos $6,$8,$11);} 1086 1.1.1.2 christos | PARSEOP_POWERRESOURCE 1087 1.1.1.2 christos PARSEOP_OPEN_PAREN 1088 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1089 1.1 christos ; 1090 1.1 christos 1091 1.1 christos PrintfTerm 1092 1.1.1.2 christos : PARSEOP_PRINTF 1093 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PRINTF);} 1094 1.1.1.9 christos StringLiteral 1095 1.1 christos PrintfArgList 1096 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 1097 1.1.1.2 christos | PARSEOP_PRINTF 1098 1.1.1.2 christos PARSEOP_OPEN_PAREN 1099 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1100 1.1 christos ; 1101 1.1 christos 1102 1.1 christos PrintfArgList 1103 1.1 christos : {$$ = NULL;} 1104 1.1 christos | TermArg {$$ = $1;} 1105 1.1 christos | PrintfArgList ',' 1106 1.1.1.4 christos TermArg {$$ = TrLinkPeerOp ($1, $3);} 1107 1.1 christos ; 1108 1.1 christos 1109 1.1 christos ProcessorTerm 1110 1.1.1.2 christos : PARSEOP_PROCESSOR 1111 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PROCESSOR);} 1112 1.1 christos NameString 1113 1.1 christos ',' ByteConstExpr 1114 1.1 christos OptionalDWordConstExpr 1115 1.1 christos OptionalByteConstExpr 1116 1.1.1.2 christos PARSEOP_CLOSE_PAREN '{' 1117 1.1.1.4 christos TermList '}' {$$ = TrLinkOpChildren ($<n>3,5, 1118 1.1.1.4 christos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION), 1119 1.1 christos $6,$7,$8,$11);} 1120 1.1.1.2 christos | PARSEOP_PROCESSOR 1121 1.1.1.2 christos PARSEOP_OPEN_PAREN 1122 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1123 1.1 christos ; 1124 1.1 christos 1125 1.1 christos RawDataBufferTerm 1126 1.1.1.2 christos : PARSEOP_DATABUFFER 1127 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DATABUFFER);} 1128 1.1 christos OptionalWordConst 1129 1.1.1.2 christos PARSEOP_CLOSE_PAREN '{' 1130 1.1.1.4 christos ByteList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);} 1131 1.1.1.2 christos | PARSEOP_DATABUFFER 1132 1.1.1.2 christos PARSEOP_OPEN_PAREN 1133 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1134 1.1 christos ; 1135 1.1 christos 1136 1.1 christos /* 1137 1.1 christos * In RefOf, the node isn't really a target, but we can't keep track of it after 1138 1.1 christos * we've taken a pointer to it. (hard to tell if a local becomes initialized this way.) 1139 1.1 christos */ 1140 1.1 christos RefOfTerm 1141 1.1.1.2 christos : PARSEOP_REFOF 1142 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_REFOF);} 1143 1.1.1.2 christos RefOfSource 1144 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1, 1145 1.1.1.4 christos TrSetOpFlags ($4, OP_IS_TARGET));} 1146 1.1.1.2 christos | PARSEOP_REFOF 1147 1.1.1.2 christos PARSEOP_OPEN_PAREN 1148 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1149 1.1 christos ; 1150 1.1 christos 1151 1.1 christos ReleaseTerm 1152 1.1.1.2 christos : PARSEOP_RELEASE 1153 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_RELEASE);} 1154 1.1 christos SuperName 1155 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 1156 1.1.1.2 christos | PARSEOP_RELEASE 1157 1.1.1.2 christos PARSEOP_OPEN_PAREN 1158 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1159 1.1 christos ; 1160 1.1 christos 1161 1.1 christos ResetTerm 1162 1.1.1.2 christos : PARSEOP_RESET 1163 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_RESET);} 1164 1.1 christos SuperName 1165 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 1166 1.1.1.2 christos | PARSEOP_RESET 1167 1.1.1.2 christos PARSEOP_OPEN_PAREN 1168 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1169 1.1 christos ; 1170 1.1 christos 1171 1.1 christos ReturnTerm 1172 1.1.1.2 christos : PARSEOP_RETURN 1173 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_RETURN);} 1174 1.1 christos OptionalReturnArg 1175 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 1176 1.1.1.4 christos | PARSEOP_RETURN {$$ = TrLinkOpChildren ( 1177 1.1.1.4 christos TrCreateLeafOp (PARSEOP_RETURN),1, 1178 1.1.1.4 christos TrSetOpFlags (TrCreateLeafOp (PARSEOP_ZERO), 1179 1.1.1.4 christos OP_IS_NULL_RETURN));} 1180 1.1.1.2 christos | PARSEOP_RETURN 1181 1.1.1.2 christos PARSEOP_OPEN_PAREN 1182 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1183 1.1 christos ; 1184 1.1 christos 1185 1.1 christos ScopeTerm 1186 1.1.1.2 christos : PARSEOP_SCOPE 1187 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SCOPE);} 1188 1.1 christos NameString 1189 1.1.1.2 christos PARSEOP_CLOSE_PAREN '{' 1190 1.1.1.4 christos TermList '}' {$$ = TrLinkOpChildren ($<n>3,2, 1191 1.1.1.4 christos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$7);} 1192 1.1.1.2 christos | PARSEOP_SCOPE 1193 1.1.1.2 christos PARSEOP_OPEN_PAREN 1194 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1195 1.1 christos ; 1196 1.1 christos 1197 1.1 christos ShiftLeftTerm 1198 1.1.1.2 christos : PARSEOP_SHIFTLEFT 1199 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SHIFTLEFT);} 1200 1.1 christos TermArg 1201 1.1 christos TermArgItem 1202 1.1 christos Target 1203 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 1204 1.1.1.2 christos | PARSEOP_SHIFTLEFT 1205 1.1.1.2 christos PARSEOP_OPEN_PAREN 1206 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1207 1.1 christos ; 1208 1.1 christos 1209 1.1 christos ShiftRightTerm 1210 1.1.1.2 christos : PARSEOP_SHIFTRIGHT 1211 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SHIFTRIGHT);} 1212 1.1 christos TermArg 1213 1.1 christos TermArgItem 1214 1.1 christos Target 1215 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 1216 1.1.1.2 christos | PARSEOP_SHIFTRIGHT 1217 1.1.1.2 christos PARSEOP_OPEN_PAREN 1218 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1219 1.1 christos ; 1220 1.1 christos 1221 1.1 christos SignalTerm 1222 1.1.1.2 christos : PARSEOP_SIGNAL 1223 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SIGNAL);} 1224 1.1 christos SuperName 1225 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 1226 1.1.1.2 christos | PARSEOP_SIGNAL 1227 1.1.1.2 christos PARSEOP_OPEN_PAREN 1228 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1229 1.1 christos ; 1230 1.1 christos 1231 1.1 christos SizeOfTerm 1232 1.1.1.2 christos : PARSEOP_SIZEOF 1233 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SIZEOF);} 1234 1.1 christos SuperName 1235 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 1236 1.1.1.2 christos | PARSEOP_SIZEOF 1237 1.1.1.2 christos PARSEOP_OPEN_PAREN 1238 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1239 1.1 christos ; 1240 1.1 christos 1241 1.1 christos SleepTerm 1242 1.1.1.2 christos : PARSEOP_SLEEP 1243 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SLEEP);} 1244 1.1 christos TermArg 1245 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 1246 1.1.1.2 christos | PARSEOP_SLEEP 1247 1.1.1.2 christos PARSEOP_OPEN_PAREN 1248 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1249 1.1 christos ; 1250 1.1 christos 1251 1.1 christos StallTerm 1252 1.1.1.2 christos : PARSEOP_STALL 1253 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_STALL);} 1254 1.1 christos TermArg 1255 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 1256 1.1.1.2 christos | PARSEOP_STALL 1257 1.1.1.2 christos PARSEOP_OPEN_PAREN 1258 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1259 1.1 christos ; 1260 1.1 christos 1261 1.1 christos StoreTerm 1262 1.1.1.2 christos : PARSEOP_STORE 1263 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_STORE);} 1264 1.1 christos TermArg 1265 1.1 christos ',' SuperName 1266 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4, 1267 1.1.1.4 christos TrSetOpFlags ($6, OP_IS_TARGET));} 1268 1.1.1.2 christos | PARSEOP_STORE 1269 1.1.1.2 christos PARSEOP_OPEN_PAREN 1270 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1271 1.1 christos ; 1272 1.1 christos 1273 1.1 christos SubtractTerm 1274 1.1.1.2 christos : PARSEOP_SUBTRACT 1275 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SUBTRACT);} 1276 1.1 christos TermArg 1277 1.1 christos TermArgItem 1278 1.1 christos Target 1279 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 1280 1.1.1.2 christos | PARSEOP_SUBTRACT 1281 1.1.1.2 christos PARSEOP_OPEN_PAREN 1282 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1283 1.1 christos ; 1284 1.1 christos 1285 1.1 christos SwitchTerm 1286 1.1.1.2 christos : PARSEOP_SWITCH 1287 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SWITCH);} 1288 1.1 christos TermArg 1289 1.1.1.2 christos PARSEOP_CLOSE_PAREN '{' 1290 1.1.1.4 christos CaseDefaultTermList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);} 1291 1.1.1.2 christos | PARSEOP_SWITCH 1292 1.1.1.2 christos PARSEOP_OPEN_PAREN 1293 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1294 1.1 christos ; 1295 1.1 christos 1296 1.1 christos ThermalZoneTerm 1297 1.1.1.2 christos : PARSEOP_THERMALZONE 1298 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_THERMALZONE);} 1299 1.1 christos NameString 1300 1.1.1.2 christos PARSEOP_CLOSE_PAREN '{' 1301 1.1.1.4 christos TermList '}' {$$ = TrLinkOpChildren ($<n>3,2, 1302 1.1.1.4 christos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$7);} 1303 1.1.1.2 christos | PARSEOP_THERMALZONE 1304 1.1.1.2 christos PARSEOP_OPEN_PAREN 1305 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1306 1.1 christos ; 1307 1.1 christos 1308 1.1 christos TimerTerm 1309 1.1.1.2 christos : PARSEOP_TIMER 1310 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TIMER);} 1311 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,0);} 1312 1.1.1.4 christos | PARSEOP_TIMER {$$ = TrLinkOpChildren ( 1313 1.1.1.4 christos TrCreateLeafOp (PARSEOP_TIMER),0);} 1314 1.1.1.2 christos | PARSEOP_TIMER 1315 1.1.1.2 christos PARSEOP_OPEN_PAREN 1316 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1317 1.1 christos ; 1318 1.1 christos 1319 1.1 christos ToBCDTerm 1320 1.1.1.2 christos : PARSEOP_TOBCD 1321 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOBCD);} 1322 1.1 christos TermArg 1323 1.1 christos Target 1324 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 1325 1.1.1.2 christos | PARSEOP_TOBCD 1326 1.1.1.2 christos PARSEOP_OPEN_PAREN 1327 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1328 1.1 christos ; 1329 1.1 christos 1330 1.1 christos ToBufferTerm 1331 1.1.1.2 christos : PARSEOP_TOBUFFER 1332 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOBUFFER);} 1333 1.1 christos TermArg 1334 1.1 christos Target 1335 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 1336 1.1.1.2 christos | PARSEOP_TOBUFFER 1337 1.1.1.2 christos PARSEOP_OPEN_PAREN 1338 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1339 1.1 christos ; 1340 1.1 christos 1341 1.1 christos ToDecimalStringTerm 1342 1.1.1.2 christos : PARSEOP_TODECIMALSTRING 1343 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TODECIMALSTRING);} 1344 1.1 christos TermArg 1345 1.1 christos Target 1346 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 1347 1.1.1.2 christos | PARSEOP_TODECIMALSTRING 1348 1.1.1.2 christos PARSEOP_OPEN_PAREN 1349 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1350 1.1 christos ; 1351 1.1 christos 1352 1.1 christos ToHexStringTerm 1353 1.1.1.2 christos : PARSEOP_TOHEXSTRING 1354 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOHEXSTRING);} 1355 1.1 christos TermArg 1356 1.1 christos Target 1357 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 1358 1.1.1.2 christos | PARSEOP_TOHEXSTRING 1359 1.1.1.2 christos PARSEOP_OPEN_PAREN 1360 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1361 1.1 christos ; 1362 1.1 christos 1363 1.1 christos ToIntegerTerm 1364 1.1.1.2 christos : PARSEOP_TOINTEGER 1365 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOINTEGER);} 1366 1.1 christos TermArg 1367 1.1 christos Target 1368 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 1369 1.1.1.2 christos | PARSEOP_TOINTEGER 1370 1.1.1.2 christos PARSEOP_OPEN_PAREN 1371 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1372 1.1 christos ; 1373 1.1 christos 1374 1.1 christos ToPLDTerm 1375 1.1.1.2 christos : PARSEOP_TOPLD 1376 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOPLD);} 1377 1.1 christos PldKeywordList 1378 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 1379 1.1.1.2 christos | PARSEOP_TOPLD 1380 1.1.1.2 christos PARSEOP_OPEN_PAREN 1381 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1382 1.1 christos ; 1383 1.1 christos 1384 1.1 christos PldKeywordList 1385 1.1 christos : {$$ = NULL;} 1386 1.1 christos | PldKeyword 1387 1.1.1.4 christos PARSEOP_EXP_EQUALS Integer {$$ = TrLinkOpChildren ($1,1,$3);} 1388 1.1 christos | PldKeyword 1389 1.1.1.4 christos PARSEOP_EXP_EQUALS String {$$ = TrLinkOpChildren ($1,1,$3);} 1390 1.1 christos | PldKeywordList ',' /* Allows a trailing comma at list end */ 1391 1.1 christos | PldKeywordList ',' 1392 1.1 christos PldKeyword 1393 1.1.1.4 christos PARSEOP_EXP_EQUALS Integer {$$ = TrLinkPeerOp ($1,TrLinkOpChildren ($3,1,$5));} 1394 1.1 christos | PldKeywordList ',' 1395 1.1 christos PldKeyword 1396 1.1.1.4 christos PARSEOP_EXP_EQUALS String {$$ = TrLinkPeerOp ($1,TrLinkOpChildren ($3,1,$5));} 1397 1.1 christos ; 1398 1.1 christos 1399 1.1 christos 1400 1.1 christos ToStringTerm 1401 1.1.1.2 christos : PARSEOP_TOSTRING 1402 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOSTRING);} 1403 1.1 christos TermArg 1404 1.1 christos OptionalCount 1405 1.1 christos Target 1406 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 1407 1.1.1.2 christos | PARSEOP_TOSTRING 1408 1.1.1.2 christos PARSEOP_OPEN_PAREN 1409 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1410 1.1 christos ; 1411 1.1 christos 1412 1.1 christos ToUUIDTerm 1413 1.1.1.2 christos : PARSEOP_TOUUID 1414 1.1.1.2 christos PARSEOP_OPEN_PAREN 1415 1.1.1.9 christos StringLiteral 1416 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrSetOpIntegerValue (PARSEOP_TOUUID, $3);} 1417 1.1.1.2 christos | PARSEOP_TOUUID 1418 1.1.1.2 christos PARSEOP_OPEN_PAREN 1419 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1420 1.1 christos ; 1421 1.1 christos 1422 1.1 christos UnicodeTerm 1423 1.1.1.2 christos : PARSEOP_UNICODE 1424 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_UNICODE);} 1425 1.1.1.9 christos StringLiteral 1426 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,0,$4);} 1427 1.1.1.2 christos | PARSEOP_UNICODE 1428 1.1.1.2 christos PARSEOP_OPEN_PAREN 1429 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1430 1.1 christos ; 1431 1.1 christos 1432 1.1 christos UnloadTerm 1433 1.1.1.2 christos : PARSEOP_UNLOAD 1434 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_UNLOAD);} 1435 1.1 christos SuperName 1436 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 1437 1.1.1.2 christos | PARSEOP_UNLOAD 1438 1.1.1.2 christos PARSEOP_OPEN_PAREN 1439 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1440 1.1 christos ; 1441 1.1 christos 1442 1.1 christos WaitTerm 1443 1.1.1.2 christos : PARSEOP_WAIT 1444 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WAIT);} 1445 1.1 christos SuperName 1446 1.1 christos TermArgItem 1447 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 1448 1.1.1.2 christos | PARSEOP_WAIT 1449 1.1.1.2 christos PARSEOP_OPEN_PAREN 1450 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1451 1.1 christos ; 1452 1.1 christos 1453 1.1 christos XOrTerm 1454 1.1.1.2 christos : PARSEOP_XOR 1455 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_XOR);} 1456 1.1 christos TermArg 1457 1.1 christos TermArgItem 1458 1.1 christos Target 1459 1.1.1.4 christos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 1460 1.1.1.2 christos | PARSEOP_XOR 1461 1.1.1.2 christos PARSEOP_OPEN_PAREN 1462 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1463 1.1 christos ; 1464 1.1 christos 1465 1.1 christos WhileTerm 1466 1.1.1.2 christos : PARSEOP_WHILE 1467 1.1.1.4 christos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WHILE);} 1468 1.1 christos TermArg 1469 1.1.1.2 christos PARSEOP_CLOSE_PAREN 1470 1.1.1.4 christos '{' TermList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);} 1471 1.1.1.2 christos | PARSEOP_WHILE 1472 1.1.1.2 christos PARSEOP_OPEN_PAREN 1473 1.1.1.2 christos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1474 1.1 christos ; 1475