summaryrefslogtreecommitdiff
path: root/source/compiler/aslrules.y
diff options
context:
space:
mode:
Diffstat (limited to 'source/compiler/aslrules.y')
-rw-r--r--source/compiler/aslrules.y13
1 files changed, 10 insertions, 3 deletions
diff --git a/source/compiler/aslrules.y b/source/compiler/aslrules.y
index cac37c3ddcb0d..79accf4dd2e03 100644
--- a/source/compiler/aslrules.y
+++ b/source/compiler/aslrules.y
@@ -54,11 +54,12 @@ NoEcho('
* Root term. Allow multiple #line directives before the definition block
* to handle output from preprocessors
*/
-ASLCode
- : DefinitionBlockTerm
+AslCode
+ : DefinitionBlockList {$<n>$ = TrLinkChildren (TrCreateLeafNode (PARSEOP_ASL_CODE),1, $1);}
| error {YYABORT; $$ = NULL;}
;
+
/*
* Note concerning support for "module-level code".
*
@@ -75,7 +76,7 @@ ASLCode
* of Type1 and Type2 opcodes at module level.
*/
DefinitionBlockTerm
- : PARSEOP_DEFINITIONBLOCK '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DEFINITIONBLOCK);}
+ : PARSEOP_DEFINITION_BLOCK '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DEFINITION_BLOCK);}
String ','
String ','
ByteConst ','
@@ -86,6 +87,12 @@ DefinitionBlockTerm
'{' TermList '}' {$$ = TrLinkChildren ($<n>3,7,$4,$6,$8,$10,$12,$14,$18);}
;
+DefinitionBlockList
+ : DefinitionBlockTerm
+ | DefinitionBlockTerm
+ DefinitionBlockList {$$ = TrLinkPeerNodes (2, $1,$2);}
+ ;
+
SuperName
: NameString {}
| ArgTerm {}