summaryrefslogtreecommitdiff
path: root/source/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'source/compiler')
-rw-r--r--source/compiler/aslbtypes.c1
-rw-r--r--source/compiler/aslcompiler.l16
-rw-r--r--source/compiler/aslcstyle.y42
-rw-r--r--source/compiler/aslexternal.c15
-rw-r--r--source/compiler/aslkeywords.y15
-rw-r--r--source/compiler/aslopcodes.c10
-rw-r--r--source/compiler/aslprimaries.y1021
-rw-r--r--source/compiler/aslresources.y365
-rw-r--r--source/compiler/aslrestype2.c5
-rw-r--r--source/compiler/aslrules.y161
-rw-r--r--source/compiler/aslstubs.c3
-rw-r--r--source/compiler/asltokens.y3
-rw-r--r--source/compiler/asltypes.y7
-rw-r--r--source/compiler/aslwalks.c13
-rw-r--r--source/compiler/dttable.c70
15 files changed, 1057 insertions, 690 deletions
diff --git a/source/compiler/aslbtypes.c b/source/compiler/aslbtypes.c
index c956516f8ba21..10ec3d49b3429 100644
--- a/source/compiler/aslbtypes.c
+++ b/source/compiler/aslbtypes.c
@@ -151,7 +151,6 @@ AnMapArgTypeToBtype (
return (ACPI_BTYPE_DATA | ACPI_BTYPE_DEBUG_OBJECT |
ACPI_BTYPE_REFERENCE_OBJECT);
- case ARGI_FIXED_TARGET:
case ARGI_SIMPLE_TARGET:
return (ACPI_BTYPE_OBJECTS_AND_REFS);
diff --git a/source/compiler/aslcompiler.l b/source/compiler/aslcompiler.l
index 15c9dae0d1137..228db8b90d641 100644
--- a/source/compiler/aslcompiler.l
+++ b/source/compiler/aslcompiler.l
@@ -156,8 +156,14 @@ NamePathTail [.]{NameSeg}
"^=" { count (3); return (PARSEOP_EXP_XOR_EQ); }
"|=" { count (3); return (PARSEOP_EXP_OR_EQ); }
-"[" { count (3); return(PARSEOP_EXP_INDEX_LEFT); }
-"]" { count (0); return(PARSEOP_EXP_INDEX_RIGHT); }
+"[" { count (3); return (PARSEOP_EXP_INDEX_LEFT); }
+"]" { count (0); return (PARSEOP_EXP_INDEX_RIGHT); }
+"(" { count (0); return (PARSEOP_OPEN_PAREN); }
+")" { count (0); return (PARSEOP_CLOSE_PAREN); }
+
+"{" { count (0); return ('{'); }
+"}" { count (0); return ('}'); }
+"," { count (0); return (','); }
/*
@@ -691,12 +697,6 @@ NamePathTail [.]{NameSeg}
"__PATH__" { count (0); return (PARSEOP___PATH__); }
-"{" { count (0); return('{'); }
-"}" { count (0); return('}'); }
-"," { count (0); return(','); }
-"(" { count (0); return('('); }
-")" { count (0); return(')'); }
-
{NameSeg} { char *s;
count (0);
s=UtStringCacheCalloc (ACPI_NAME_SIZE + 1);
diff --git a/source/compiler/aslcstyle.y b/source/compiler/aslcstyle.y
index fc7d5933df190..d4034a5f2e43c 100644
--- a/source/compiler/aslcstyle.y
+++ b/source/compiler/aslcstyle.y
@@ -149,21 +149,30 @@ Expression
/* Parentheses */
- | '(' TermArg ')' { $$ = $2;}
+ | PARSEOP_OPEN_PAREN
+ Expression
+ PARSEOP_CLOSE_PAREN {$$ = $2;}
/* Index term -- "= BUF1[5]" on right-hand side of an equals (source) */
- | SuperName PARSEOP_EXP_INDEX_LEFT
- TermArg PARSEOP_EXP_INDEX_RIGHT {$$ = TrCreateLeafNode (PARSEOP_INDEX);
- TrLinkChildren ($$,3,$1,$3,TrCreateNullTarget ());}
+ | IndexExpTerm
;
- /* Index term -- "BUF1[5] = " on left-hand side of an equals (target) */
-
+ /*
+ * Index term -- "BUF1[5] = " or " = BUF1[5] on either the left side
+ * of an equals (target) or the right side (source)
+ * Currently used in these terms:
+ * Expression
+ * ObjectTypeSource
+ * DerefOfSource
+ * Type6Opcode
+ */
IndexExpTerm
- : SuperName PARSEOP_EXP_INDEX_LEFT
- TermArg PARSEOP_EXP_INDEX_RIGHT {$$ = TrCreateLeafNode (PARSEOP_INDEX);
+ : SuperName
+ PARSEOP_EXP_INDEX_LEFT
+ TermArg
+ PARSEOP_EXP_INDEX_RIGHT {$$ = TrCreateLeafNode (PARSEOP_INDEX);
TrLinkChildren ($$,3,$1,$3,TrCreateNullTarget ());}
;
@@ -177,11 +186,26 @@ IndexExpTerm
EqualsTerm
+ /* Allow parens anywhere */
+
+ : PARSEOP_OPEN_PAREN
+ EqualsTerm
+ PARSEOP_CLOSE_PAREN {$$ = $2;}
+
/* Simple Store() operation */
- : SuperName PARSEOP_EXP_EQUALS
+ | SuperName
+ PARSEOP_EXP_EQUALS
TermArg {$$ = TrCreateAssignmentNode ($1, $3);}
+ /* Chained equals: (a=RefOf)=b, a=b=c=d etc. */
+
+ | PARSEOP_OPEN_PAREN
+ EqualsTerm
+ PARSEOP_CLOSE_PAREN
+ PARSEOP_EXP_EQUALS
+ TermArg {$$ = TrCreateAssignmentNode ($2, $5);}
+
/* Compound assignments -- Add (operand, operand, target) */
| TermArg PARSEOP_EXP_ADD_EQ {$<n>$ = TrCreateLeafNode (PARSEOP_ADD);}
diff --git a/source/compiler/aslexternal.c b/source/compiler/aslexternal.c
index a814efddd5460..8e76aa7236c71 100644
--- a/source/compiler/aslexternal.c
+++ b/source/compiler/aslexternal.c
@@ -325,6 +325,7 @@ ExMoveExternals (
ACPI_PARSE_OBJECT *NextOp;
ACPI_PARSE_OBJECT *Prev;
ACPI_PARSE_OBJECT *Next;
+ char *ExternalName;
ACPI_OBJECT_TYPE ObjType;
UINT32 i;
@@ -345,6 +346,12 @@ ExMoveExternals (
*/
ExternalOp = NextOp->Asl.Child;
+ /* Get/set the fully qualified name */
+
+ ExternalName = AcpiNsGetNormalizedPathname (ExternalOp->Asl.Node, TRUE);
+ ExternalOp->Asl.ExternalName = ExternalName;
+ ExternalOp->Asl.Namepath = ExternalName;
+
/* Set line numbers (for listings, etc.) */
ExternalOp->Asl.LineNumber = 0;
@@ -354,6 +361,14 @@ ExMoveExternals (
Next->Asl.LineNumber = 0;
Next->Asl.LogicalLineNumber = 0;
+ if (Next->Asl.ParseOpcode == PARSEOP_NAMESEG)
+ {
+ Next->Asl.ParseOpcode = PARSEOP_NAMESTRING;
+ }
+ Next->Asl.ExternalName = ExternalName;
+ UtInternalizeName (ExternalName, &Next->Asl.Value.String);
+ Next->Asl.AmlLength = strlen (Next->Asl.Value.String);
+
Next = Next->Asl.Next;
Next->Asl.LineNumber = 0;
Next->Asl.LogicalLineNumber = 0;
diff --git a/source/compiler/aslkeywords.y b/source/compiler/aslkeywords.y
index 51af1c684a310..c908ae401c523 100644
--- a/source/compiler/aslkeywords.y
+++ b/source/compiler/aslkeywords.y
@@ -58,15 +58,18 @@ AccessAttribKeyword
| PARSEOP_ACCESSATTRIB_SND_RCV {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_SND_RCV);}
| PARSEOP_ACCESSATTRIB_WORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_WORD);}
| PARSEOP_ACCESSATTRIB_WORD_CALL {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_WORD_CALL);}
- | PARSEOP_ACCESSATTRIB_MULTIBYTE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_MULTIBYTE);}
+ | PARSEOP_ACCESSATTRIB_MULTIBYTE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_MULTIBYTE);}
ByteConst
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_ACCESSATTRIB_RAW_BYTES '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_BYTES);}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_ACCESSATTRIB_RAW_BYTES
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_BYTES);}
ByteConst
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_ACCESSATTRIB_RAW_PROCESS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_PROCESS);}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_ACCESSATTRIB_RAW_PROCESS
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_PROCESS);}
ByteConst
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
;
AccessTypeKeyword
diff --git a/source/compiler/aslopcodes.c b/source/compiler/aslopcodes.c
index de9ffe1baf097..c981f07c4d742 100644
--- a/source/compiler/aslopcodes.c
+++ b/source/compiler/aslopcodes.c
@@ -289,7 +289,7 @@ OpcSetOptimalIntegerSize (
Op->Asl.AmlOpcode = AML_DWORD_OP;
return (4);
}
- else
+ else /* 64-bit integer */
{
if (AcpiGbl_IntegerByteWidth == 4)
{
@@ -299,8 +299,12 @@ OpcSetOptimalIntegerSize (
if (!Gbl_IgnoreErrors)
{
/* Truncate the integer to 32-bit */
- Op->Asl.AmlOpcode = AML_DWORD_OP;
- return (4);
+
+ Op->Asl.Value.Integer &= ACPI_UINT32_MAX;
+
+ /* Now set the optimal integer size */
+
+ return (OpcSetOptimalIntegerSize (Op));
}
}
diff --git a/source/compiler/aslprimaries.y b/source/compiler/aslprimaries.y
index 742213ab623b6..b52bbcdc6718a 100644
--- a/source/compiler/aslprimaries.y
+++ b/source/compiler/aslprimaries.y
@@ -52,51 +52,61 @@ NoEcho('
******************************************************************************/
AccessAsTerm
- : PARSEOP_ACCESSAS '('
+ : PARSEOP_ACCESSAS
+ PARSEOP_OPEN_PAREN
AccessTypeKeyword
OptionalAccessAttribTerm
- ')' {$$ = TrCreateNode (PARSEOP_ACCESSAS,2,$3,$4);}
- | PARSEOP_ACCESSAS '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_ACCESSAS,2,$3,$4);}
+ | PARSEOP_ACCESSAS
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
AcquireTerm
- : PARSEOP_ACQUIRE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACQUIRE);}
+ : PARSEOP_ACQUIRE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ACQUIRE);}
SuperName
',' WordConstExpr
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$6);}
- | PARSEOP_ACQUIRE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$6);}
+ | PARSEOP_ACQUIRE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
AddTerm
- : PARSEOP_ADD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ADD);}
+ : PARSEOP_ADD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ADD);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_ADD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_ADD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
AliasTerm
- : PARSEOP_ALIAS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ALIAS);}
+ : PARSEOP_ALIAS
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ALIAS);}
NameString
NameStringItem
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,
TrSetNodeFlags ($5, NODE_IS_NAME_DECLARATION));}
- | PARSEOP_ALIAS '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_ALIAS
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
AndTerm
- : PARSEOP_AND '(' {$<n>$ = TrCreateLeafNode (PARSEOP_AND);}
+ : PARSEOP_AND
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_AND);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_AND '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_AND
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ArgTerm
@@ -110,18 +120,21 @@ ArgTerm
;
BankFieldTerm
- : PARSEOP_BANKFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_BANKFIELD);}
+ : PARSEOP_BANKFIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_BANKFIELD);}
NameString
NameStringItem
TermArgItem
',' AccessTypeKeyword
',' LockRuleKeyword
',' UpdateRuleKeyword
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
FieldUnitList '}' {$$ = TrLinkChildren ($<n>3,7,
$4,$5,$6,$8,$10,$12,$15);}
- | PARSEOP_BANKFIELD '('
- error ')' '{' error '}' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_BANKFIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN
+ '{' error '}' {$$ = AslDoError(); yyclearin;}
;
BreakTerm
@@ -144,58 +157,69 @@ BufferTermData
;
CaseTerm
- : PARSEOP_CASE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CASE);}
+ : PARSEOP_CASE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CASE);}
DataObject
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
TermList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
- | PARSEOP_CASE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CASE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ConcatTerm
- : PARSEOP_CONCATENATE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CONCATENATE);}
+ : PARSEOP_CONCATENATE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CONCATENATE);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_CONCATENATE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_CONCATENATE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ConcatResTerm
- : PARSEOP_CONCATENATERESTEMPLATE '(' {$<n>$ = TrCreateLeafNode (
- PARSEOP_CONCATENATERESTEMPLATE);}
+ : PARSEOP_CONCATENATERESTEMPLATE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (
+ PARSEOP_CONCATENATERESTEMPLATE);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_CONCATENATERESTEMPLATE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_CONCATENATERESTEMPLATE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
+ ;
+
+CondRefOfTerm
+ : PARSEOP_CONDREFOF
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CONDREFOF);}
+ CondRefOfSource
+ Target
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_CONDREFOF
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ConnectionTerm
- : PARSEOP_CONNECTION '('
+ : PARSEOP_CONNECTION
+ PARSEOP_OPEN_PAREN
NameString
- ')' {$$ = TrCreateNode (PARSEOP_CONNECTION,1,$3);}
- | PARSEOP_CONNECTION '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CONNECTION);}
+ PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_CONNECTION,1,$3);}
+ | PARSEOP_CONNECTION
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CONNECTION);}
ResourceMacroTerm
- ')' {$$ = TrLinkChildren ($<n>3, 1,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3, 1,
TrLinkChildren (
TrCreateLeafNode (PARSEOP_RESOURCETEMPLATE), 3,
TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
$4));}
- | PARSEOP_CONNECTION '('
- error ')' {$$ = AslDoError(); yyclearin;}
- ;
-
-CondRefOfTerm
- : PARSEOP_CONDREFOF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CONDREFOF);}
- SuperName
- Target
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_CONDREFOF '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CONNECTION
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ContinueTerm
@@ -203,92 +227,108 @@ ContinueTerm
;
CopyObjectTerm
- : PARSEOP_COPYOBJECT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_COPYOBJECT);}
+ : PARSEOP_COPYOBJECT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_COPYOBJECT);}
TermArg
- ',' SimpleTarget
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,
+ ',' SimpleName
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,
TrSetNodeFlags ($6, NODE_IS_TARGET));}
- | PARSEOP_COPYOBJECT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_COPYOBJECT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
CreateBitFieldTerm
- : PARSEOP_CREATEBITFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBITFIELD);}
+ : PARSEOP_CREATEBITFIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBITFIELD);}
TermArg
TermArgItem
NameStringItem
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,
TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
- | PARSEOP_CREATEBITFIELD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CREATEBITFIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
CreateByteFieldTerm
- : PARSEOP_CREATEBYTEFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBYTEFIELD);}
+ : PARSEOP_CREATEBYTEFIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBYTEFIELD);}
TermArg
TermArgItem
NameStringItem
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,
TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
- | PARSEOP_CREATEBYTEFIELD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CREATEBYTEFIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
CreateDWordFieldTerm
- : PARSEOP_CREATEDWORDFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEDWORDFIELD);}
+ : PARSEOP_CREATEDWORDFIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEDWORDFIELD);}
TermArg
TermArgItem
NameStringItem
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,
TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
- | PARSEOP_CREATEDWORDFIELD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CREATEDWORDFIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
CreateFieldTerm
- : PARSEOP_CREATEFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEFIELD);}
+ : PARSEOP_CREATEFIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEFIELD);}
TermArg
TermArgItem
TermArgItem
NameStringItem
- ')' {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,
TrSetNodeFlags ($7, NODE_IS_NAME_DECLARATION));}
- | PARSEOP_CREATEFIELD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CREATEFIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
CreateQWordFieldTerm
- : PARSEOP_CREATEQWORDFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEQWORDFIELD);}
+ : PARSEOP_CREATEQWORDFIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEQWORDFIELD);}
TermArg
TermArgItem
NameStringItem
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,
TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
- | PARSEOP_CREATEQWORDFIELD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CREATEQWORDFIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
CreateWordFieldTerm
- : PARSEOP_CREATEWORDFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEWORDFIELD);}
+ : PARSEOP_CREATEWORDFIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEWORDFIELD);}
TermArg
TermArgItem
NameStringItem
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,
TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
- | PARSEOP_CREATEWORDFIELD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CREATEWORDFIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
DataRegionTerm
- : PARSEOP_DATATABLEREGION '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DATATABLEREGION);}
+ : PARSEOP_DATATABLEREGION
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DATATABLEREGION);}
NameString
TermArgItem
TermArgItem
TermArgItem
- ')' {$$ = TrLinkChildren ($<n>3,4,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,4,
TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$5,$6,$7);}
- | PARSEOP_DATATABLEREGION '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_DATATABLEREGION
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
DebugTerm
@@ -296,11 +336,13 @@ DebugTerm
;
DecTerm
- : PARSEOP_DECREMENT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DECREMENT);}
+ : PARSEOP_DECREMENT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DECREMENT);}
SuperName
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_DECREMENT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_DECREMENT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
DefaultTerm
@@ -311,39 +353,48 @@ DefaultTerm
;
DerefOfTerm
- : PARSEOP_DEREFOF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DEREFOF);}
- TermArg
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_DEREFOF '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ : PARSEOP_DEREFOF
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DEREFOF);}
+ DerefOfSource
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_DEREFOF
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
DeviceTerm
- : PARSEOP_DEVICE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DEVICE);}
+ : PARSEOP_DEVICE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DEVICE);}
NameString
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
TermList '}' {$$ = TrLinkChildren ($<n>3,2,
TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
- | PARSEOP_DEVICE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_DEVICE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
DivideTerm
- : PARSEOP_DIVIDE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DIVIDE);}
+ : PARSEOP_DIVIDE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DIVIDE);}
TermArg
TermArgItem
Target
Target
- ')' {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,$7);}
- | PARSEOP_DIVIDE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,$7);}
+ | PARSEOP_DIVIDE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
EISAIDTerm
- : PARSEOP_EISAID '('
- StringData ')' {$$ = TrUpdateNode (PARSEOP_EISAID, $3);}
- | PARSEOP_EISAID '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ : PARSEOP_EISAID
+ PARSEOP_OPEN_PAREN
+ StringData
+ PARSEOP_CLOSE_PAREN {$$ = TrUpdateNode (PARSEOP_EISAID, $3);}
+ | PARSEOP_EISAID
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ElseIfTerm
@@ -361,88 +412,105 @@ ElseTerm
| PARSEOP_ELSE
error {$$ = AslDoError(); yyclearin;}
- | PARSEOP_ELSEIF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ELSE);}
+ | PARSEOP_ELSEIF
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ELSE);}
TermArg {$<n>$ = TrCreateLeafNode (PARSEOP_IF);}
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
TermList '}' {TrLinkChildren ($<n>5,2,$4,$8);}
ElseTerm {TrLinkPeerNode ($<n>5,$11);}
{$$ = TrLinkChildren ($<n>3,1,$<n>5);}
- | PARSEOP_ELSEIF '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_ELSEIF
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
| PARSEOP_ELSEIF
error {$$ = AslDoError(); yyclearin;}
;
EventTerm
- : PARSEOP_EVENT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EVENT);}
+ : PARSEOP_EVENT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_EVENT);}
NameString
- ')' {$$ = TrLinkChildren ($<n>3,1,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,
TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION));}
- | PARSEOP_EVENT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_EVENT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ExternalTerm
- : PARSEOP_EXTERNAL '('
+ : PARSEOP_EXTERNAL
+ PARSEOP_OPEN_PAREN
NameString
OptionalObjectTypeKeyword
OptionalParameterTypePackage
OptionalParameterTypesPackage
- ')' {$$ = TrCreateNode (PARSEOP_EXTERNAL,4,$3,$4,$5,$6);}
- | PARSEOP_EXTERNAL '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_EXTERNAL,4,$3,$4,$5,$6);}
+ | PARSEOP_EXTERNAL
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
FatalTerm
- : PARSEOP_FATAL '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FATAL);}
+ : PARSEOP_FATAL
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FATAL);}
ByteConstExpr
',' DWordConstExpr
TermArgItem
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
- | PARSEOP_FATAL '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
+ | PARSEOP_FATAL
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
FieldTerm
- : PARSEOP_FIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FIELD);}
+ : PARSEOP_FIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FIELD);}
NameString
',' AccessTypeKeyword
',' LockRuleKeyword
',' UpdateRuleKeyword
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
FieldUnitList '}' {$$ = TrLinkChildren ($<n>3,5,$4,$6,$8,$10,$13);}
- | PARSEOP_FIELD '('
- error ')' '{' error '}' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_FIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN
+ '{' error '}' {$$ = AslDoError(); yyclearin;}
;
FindSetLeftBitTerm
- : PARSEOP_FINDSETLEFTBIT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FINDSETLEFTBIT);}
+ : PARSEOP_FINDSETLEFTBIT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FINDSETLEFTBIT);}
TermArg
Target
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_FINDSETLEFTBIT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_FINDSETLEFTBIT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
FindSetRightBitTerm
- : PARSEOP_FINDSETRIGHTBIT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FINDSETRIGHTBIT);}
+ : PARSEOP_FINDSETRIGHTBIT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FINDSETRIGHTBIT);}
TermArg
Target
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_FINDSETRIGHTBIT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_FINDSETRIGHTBIT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
/* Convert a For() loop to a While() loop */
ForTerm
- : PARSEOP_FOR '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WHILE);}
+ : PARSEOP_FOR
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_WHILE);}
OptionalTermArg ',' {}
OptionalPredicate ','
OptionalTermArg {$<n>$ = TrLinkPeerNode ($4,$<n>3);
- TrSetParent ($9,$<n>3);} /* New parent is WHILE */
- ')' '{' TermList '}' {$<n>$ = TrLinkChildren ($<n>3,2,$7,$13);}
+ TrSetParent ($9,$<n>3);} /* New parent is WHILE */
+ PARSEOP_CLOSE_PAREN
+ '{' TermList '}' {$<n>$ = TrLinkChildren ($<n>3,2,$7,$13);}
{$<n>$ = TrLinkPeerNode ($13,$9);
$$ = $<n>10;}
;
@@ -453,52 +521,62 @@ OptionalPredicate
;
FprintfTerm
- : PARSEOP_FPRINTF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FPRINTF);}
+ : PARSEOP_FPRINTF
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FPRINTF);}
TermArg ','
StringData
PrintfArgList
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
- | PARSEOP_FPRINTF '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
+ | PARSEOP_FPRINTF
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
FromBCDTerm
- : PARSEOP_FROMBCD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FROMBCD);}
+ : PARSEOP_FROMBCD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FROMBCD);}
TermArg
Target
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_FROMBCD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_FROMBCD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
FunctionTerm
- : PARSEOP_FUNCTION '(' {$<n>$ = TrCreateLeafNode (PARSEOP_METHOD);}
+ : PARSEOP_FUNCTION
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_METHOD);}
NameString
OptionalParameterTypePackage
OptionalParameterTypesPackage
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
TermList '}' {$$ = TrLinkChildren ($<n>3,7,
TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0),
TrCreateLeafNode (PARSEOP_SERIALIZERULE_NOTSERIAL),
TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0),$5,$6,$9);}
- | PARSEOP_FUNCTION '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_FUNCTION
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
IfTerm
- : PARSEOP_IF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IF);}
+ : PARSEOP_IF
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_IF);}
TermArg
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
TermList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
- | PARSEOP_IF '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_IF
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
IncludeTerm
- : PARSEOP_INCLUDE '('
- String ')' {$$ = TrUpdateNode (PARSEOP_INCLUDE, $3);
+ : PARSEOP_INCLUDE
+ PARSEOP_OPEN_PAREN
+ String
+ PARSEOP_CLOSE_PAREN {$$ = TrUpdateNode (PARSEOP_INCLUDE, $3);
FlOpenIncludeFile ($3);}
;
@@ -508,130 +586,157 @@ IncludeEndTerm
;
IncTerm
- : PARSEOP_INCREMENT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_INCREMENT);}
+ : PARSEOP_INCREMENT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_INCREMENT);}
SuperName
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_INCREMENT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_INCREMENT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
IndexFieldTerm
- : PARSEOP_INDEXFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_INDEXFIELD);}
+ : PARSEOP_INDEXFIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_INDEXFIELD);}
NameString
NameStringItem
',' AccessTypeKeyword
',' LockRuleKeyword
',' UpdateRuleKeyword
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
FieldUnitList '}' {$$ = TrLinkChildren ($<n>3,6,$4,$5,$7,$9,$11,$14);}
- | PARSEOP_INDEXFIELD '('
- error ')' '{' error '}' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_INDEXFIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN
+ '{' error '}' {$$ = AslDoError(); yyclearin;}
;
IndexTerm
- : PARSEOP_INDEX '(' {$<n>$ = TrCreateLeafNode (PARSEOP_INDEX);}
+ : PARSEOP_INDEX
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_INDEX);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_INDEX '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_INDEX
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
LAndTerm
- : PARSEOP_LAND '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LAND);}
+ : PARSEOP_LAND
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LAND);}
TermArg
TermArgItem
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_LAND '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_LAND
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
LEqualTerm
- : PARSEOP_LEQUAL '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
+ : PARSEOP_LEQUAL
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
TermArg
TermArgItem
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_LEQUAL '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_LEQUAL
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
LGreaterEqualTerm
- : PARSEOP_LGREATEREQUAL '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LLESS);}
+ : PARSEOP_LGREATEREQUAL
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LLESS);}
TermArg
TermArgItem
- ')' {$$ = TrCreateNode (PARSEOP_LNOT, 1,
+ PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_LNOT, 1,
TrLinkChildren ($<n>3,2,$4,$5));}
- | PARSEOP_LGREATEREQUAL '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_LGREATEREQUAL
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
LGreaterTerm
- : PARSEOP_LGREATER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LGREATER);}
+ : PARSEOP_LGREATER
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LGREATER);}
TermArg
TermArgItem
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_LGREATER '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_LGREATER
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
LLessEqualTerm
- : PARSEOP_LLESSEQUAL '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LGREATER);}
+ : PARSEOP_LLESSEQUAL
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LGREATER);}
TermArg
TermArgItem
- ')' {$$ = TrCreateNode (PARSEOP_LNOT, 1,
+ PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_LNOT, 1,
TrLinkChildren ($<n>3,2,$4,$5));}
- | PARSEOP_LLESSEQUAL '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_LLESSEQUAL
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
LLessTerm
- : PARSEOP_LLESS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LLESS);}
+ : PARSEOP_LLESS
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LLESS);}
TermArg
TermArgItem
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_LLESS '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_LLESS
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
LNotEqualTerm
- : PARSEOP_LNOTEQUAL '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
+ : PARSEOP_LNOTEQUAL
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
TermArg
TermArgItem
- ')' {$$ = TrCreateNode (PARSEOP_LNOT, 1,
+ PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_LNOT, 1,
TrLinkChildren ($<n>3,2,$4,$5));}
- | PARSEOP_LNOTEQUAL '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_LNOTEQUAL
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
LNotTerm
- : PARSEOP_LNOT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LNOT);}
+ : PARSEOP_LNOT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LNOT);}
TermArg
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_LNOT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_LNOT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
LoadTableTerm
- : PARSEOP_LOADTABLE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LOADTABLE);}
+ : PARSEOP_LOADTABLE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LOADTABLE);}
TermArg
TermArgItem
TermArgItem
OptionalListString
OptionalListString
OptionalReference
- ')' {$$ = TrLinkChildren ($<n>3,6,$4,$5,$6,$7,$8,$9);}
- | PARSEOP_LOADTABLE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,6,$4,$5,$6,$7,$8,$9);}
+ | PARSEOP_LOADTABLE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
LoadTerm
- : PARSEOP_LOAD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LOAD);}
+ : PARSEOP_LOAD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LOAD);}
NameString
RequiredTarget
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_LOAD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_LOAD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
LocalTerm
@@ -646,102 +751,120 @@ LocalTerm
;
LOrTerm
- : PARSEOP_LOR '(' {$<n>$ = TrCreateLeafNode (PARSEOP_LOR);}
+ : PARSEOP_LOR
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_LOR);}
TermArg
TermArgItem
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_LOR '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_LOR
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
MatchTerm
- : PARSEOP_MATCH '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MATCH);}
+ : PARSEOP_MATCH
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MATCH);}
TermArg
',' MatchOpKeyword
TermArgItem
',' MatchOpKeyword
TermArgItem
TermArgItem
- ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$7,$9,$10,$11);}
- | PARSEOP_MATCH '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,6,$4,$6,$7,$9,$10,$11);}
+ | PARSEOP_MATCH
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
MethodTerm
- : PARSEOP_METHOD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_METHOD);}
+ : PARSEOP_METHOD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_METHOD);}
NameString
OptionalByteConstExpr {UtCheckIntegerRange ($5, 0, 7);}
OptionalSerializeRuleKeyword
OptionalByteConstExpr
OptionalParameterTypePackage
OptionalParameterTypesPackage
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
TermList '}' {$$ = TrLinkChildren ($<n>3,7,
TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
$5,$7,$8,$9,$10,$13);}
- | PARSEOP_METHOD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_METHOD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
MidTerm
- : PARSEOP_MID '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MID);}
+ : PARSEOP_MID
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MID);}
TermArg
TermArgItem
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,$7);}
- | PARSEOP_MID '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,$7);}
+ | PARSEOP_MID
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ModTerm
- : PARSEOP_MOD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MOD);}
+ : PARSEOP_MOD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MOD);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_MOD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_MOD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
MultiplyTerm
- : PARSEOP_MULTIPLY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MULTIPLY);}
+ : PARSEOP_MULTIPLY
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MULTIPLY);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_MULTIPLY '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_MULTIPLY
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
MutexTerm
- : PARSEOP_MUTEX '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MUTEX);}
+ : PARSEOP_MUTEX
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MUTEX);}
NameString
',' ByteConstExpr
- ')' {$$ = TrLinkChildren ($<n>3,2,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,
TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$6);}
- | PARSEOP_MUTEX '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_MUTEX
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
NameTerm
- : PARSEOP_NAME '(' {$<n>$ = TrCreateLeafNode (PARSEOP_NAME);}
+ : PARSEOP_NAME
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_NAME);}
NameString
',' DataObject
- ')' {$$ = TrLinkChildren ($<n>3,2,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,
TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$6);}
- | PARSEOP_NAME '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_NAME
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
NAndTerm
- : PARSEOP_NAND '(' {$<n>$ = TrCreateLeafNode (PARSEOP_NAND);}
+ : PARSEOP_NAND
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_NAND);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_NAND '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_NAND
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
NoOpTerm
@@ -749,60 +872,72 @@ NoOpTerm
;
NOrTerm
- : PARSEOP_NOR '(' {$<n>$ = TrCreateLeafNode (PARSEOP_NOR);}
+ : PARSEOP_NOR
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_NOR);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_NOR '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_NOR
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
NotifyTerm
- : PARSEOP_NOTIFY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_NOTIFY);}
+ : PARSEOP_NOTIFY
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_NOTIFY);}
SuperName
TermArgItem
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_NOTIFY '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_NOTIFY
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
NotTerm
- : PARSEOP_NOT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_NOT);}
+ : PARSEOP_NOT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_NOT);}
TermArg
Target
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_NOT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_NOT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ObjectTypeTerm
- : PARSEOP_OBJECTTYPE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE);}
- ObjectTypeName
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_OBJECTTYPE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ : PARSEOP_OBJECTTYPE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE);}
+ ObjectTypeSource
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_OBJECTTYPE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
OffsetTerm
- : PARSEOP_OFFSET '('
+ : PARSEOP_OFFSET
+ PARSEOP_OPEN_PAREN
AmlPackageLengthTerm
- ')' {$$ = TrCreateNode (PARSEOP_OFFSET,1,$3);}
- | PARSEOP_OFFSET '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_OFFSET,1,$3);}
+ | PARSEOP_OFFSET
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
OpRegionTerm
- : PARSEOP_OPERATIONREGION '(' {$<n>$ = TrCreateLeafNode (PARSEOP_OPERATIONREGION);}
+ : PARSEOP_OPERATIONREGION
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_OPERATIONREGION);}
NameString
',' OpRegionSpaceIdTerm
TermArgItem
TermArgItem
- ')' {$$ = TrLinkChildren ($<n>3,4,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,4,
TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
$6,$7,$8);}
- | PARSEOP_OPERATIONREGION '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_OPERATIONREGION
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
OpRegionSpaceIdTerm
@@ -811,13 +946,15 @@ OpRegionSpaceIdTerm
;
OrTerm
- : PARSEOP_OR '(' {$<n>$ = TrCreateLeafNode (PARSEOP_OR);}
+ : PARSEOP_OR
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_OR);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_OR '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_OR
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
PackageTerm
@@ -826,25 +963,29 @@ PackageTerm
'{' PackageList '}' {$$ = TrLinkChildren ($<n>2,2,$3,$5);}
PowerResTerm
- : PARSEOP_POWERRESOURCE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_POWERRESOURCE);}
+ : PARSEOP_POWERRESOURCE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_POWERRESOURCE);}
NameString
',' ByteConstExpr
',' WordConstExpr
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
TermList '}' {$$ = TrLinkChildren ($<n>3,4,
TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
$6,$8,$11);}
- | PARSEOP_POWERRESOURCE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_POWERRESOURCE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
PrintfTerm
- : PARSEOP_PRINTF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_PRINTF);}
+ : PARSEOP_PRINTF
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_PRINTF);}
StringData
PrintfArgList
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_PRINTF '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_PRINTF
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
PrintfArgList
@@ -855,26 +996,30 @@ PrintfArgList
;
ProcessorTerm
- : PARSEOP_PROCESSOR '(' {$<n>$ = TrCreateLeafNode (PARSEOP_PROCESSOR);}
+ : PARSEOP_PROCESSOR
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_PROCESSOR);}
NameString
',' ByteConstExpr
OptionalDWordConstExpr
OptionalByteConstExpr
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
TermList '}' {$$ = TrLinkChildren ($<n>3,5,
TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
$6,$7,$8,$11);}
- | PARSEOP_PROCESSOR '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_PROCESSOR
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
RawDataBufferTerm
- : PARSEOP_DATABUFFER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DATABUFFER);}
+ : PARSEOP_DATABUFFER
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DATABUFFER);}
OptionalWordConst
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
- | PARSEOP_DATABUFFER '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_DATABUFFER
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
/*
@@ -882,204 +1027,247 @@ RawDataBufferTerm
* we've taken a pointer to it. (hard to tell if a local becomes initialized this way.)
*/
RefOfTerm
- : PARSEOP_REFOF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_REFOF);}
- SuperName
- ')' {$$ = TrLinkChildren ($<n>3,1,
+ : PARSEOP_REFOF
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_REFOF);}
+ RefOfSource
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,
TrSetNodeFlags ($4, NODE_IS_TARGET));}
- | PARSEOP_REFOF '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_REFOF
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ReleaseTerm
- : PARSEOP_RELEASE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_RELEASE);}
+ : PARSEOP_RELEASE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_RELEASE);}
SuperName
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_RELEASE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_RELEASE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ResetTerm
- : PARSEOP_RESET '(' {$<n>$ = TrCreateLeafNode (PARSEOP_RESET);}
+ : PARSEOP_RESET
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_RESET);}
SuperName
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_RESET '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_RESET
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ReturnTerm
- : PARSEOP_RETURN '(' {$<n>$ = TrCreateLeafNode (PARSEOP_RETURN);}
+ : PARSEOP_RETURN
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_RETURN);}
OptionalReturnArg
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
| PARSEOP_RETURN {$$ = TrLinkChildren (
TrCreateLeafNode (PARSEOP_RETURN),1,
TrSetNodeFlags (TrCreateLeafNode (PARSEOP_ZERO),
NODE_IS_NULL_RETURN));}
- | PARSEOP_RETURN '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_RETURN
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ScopeTerm
- : PARSEOP_SCOPE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SCOPE);}
+ : PARSEOP_SCOPE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SCOPE);}
NameString
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
TermList '}' {$$ = TrLinkChildren ($<n>3,2,
TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
- | PARSEOP_SCOPE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_SCOPE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ShiftLeftTerm
- : PARSEOP_SHIFTLEFT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTLEFT);}
+ : PARSEOP_SHIFTLEFT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTLEFT);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_SHIFTLEFT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_SHIFTLEFT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ShiftRightTerm
- : PARSEOP_SHIFTRIGHT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTRIGHT);}
+ : PARSEOP_SHIFTRIGHT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTRIGHT);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_SHIFTRIGHT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_SHIFTRIGHT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
SignalTerm
- : PARSEOP_SIGNAL '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SIGNAL);}
+ : PARSEOP_SIGNAL
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SIGNAL);}
SuperName
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_SIGNAL '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_SIGNAL
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
SizeOfTerm
- : PARSEOP_SIZEOF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SIZEOF);}
+ : PARSEOP_SIZEOF
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SIZEOF);}
SuperName
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_SIZEOF '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_SIZEOF
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
SleepTerm
- : PARSEOP_SLEEP '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SLEEP);}
+ : PARSEOP_SLEEP
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SLEEP);}
TermArg
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_SLEEP '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_SLEEP
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
StallTerm
- : PARSEOP_STALL '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STALL);}
+ : PARSEOP_STALL
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_STALL);}
TermArg
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_STALL '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_STALL
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
StoreTerm
- : PARSEOP_STORE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STORE);}
+ : PARSEOP_STORE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_STORE);}
TermArg
',' SuperName
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,
- TrSetNodeFlags ($6, NODE_IS_TARGET));}
- | PARSEOP_STORE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,
+ TrSetNodeFlags ($6, NODE_IS_TARGET));}
+ | PARSEOP_STORE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
SubtractTerm
- : PARSEOP_SUBTRACT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SUBTRACT);}
+ : PARSEOP_SUBTRACT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SUBTRACT);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_SUBTRACT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_SUBTRACT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
SwitchTerm
- : PARSEOP_SWITCH '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SWITCH);}
+ : PARSEOP_SWITCH
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SWITCH);}
TermArg
- ')' '{'
- CaseDefaultTermList '}'
- {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
- | PARSEOP_SWITCH '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN '{'
+ CaseDefaultTermList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
+ | PARSEOP_SWITCH
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ThermalZoneTerm
- : PARSEOP_THERMALZONE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_THERMALZONE);}
+ : PARSEOP_THERMALZONE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_THERMALZONE);}
NameString
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
TermList '}' {$$ = TrLinkChildren ($<n>3,2,
TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
- | PARSEOP_THERMALZONE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_THERMALZONE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
TimerTerm
- : PARSEOP_TIMER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TIMER);}
- ')' {$$ = TrLinkChildren ($<n>3,0);}
+ : PARSEOP_TIMER
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TIMER);}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,0);}
| PARSEOP_TIMER {$$ = TrLinkChildren (
TrCreateLeafNode (PARSEOP_TIMER),0);}
- | PARSEOP_TIMER '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_TIMER
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ToBCDTerm
- : PARSEOP_TOBCD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TOBCD);}
+ : PARSEOP_TOBCD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TOBCD);}
TermArg
Target
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_TOBCD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_TOBCD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ToBufferTerm
- : PARSEOP_TOBUFFER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TOBUFFER);}
+ : PARSEOP_TOBUFFER
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TOBUFFER);}
TermArg
Target
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_TOBUFFER '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_TOBUFFER
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ToDecimalStringTerm
- : PARSEOP_TODECIMALSTRING '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TODECIMALSTRING);}
+ : PARSEOP_TODECIMALSTRING
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TODECIMALSTRING);}
TermArg
Target
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_TODECIMALSTRING '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_TODECIMALSTRING
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ToHexStringTerm
- : PARSEOP_TOHEXSTRING '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TOHEXSTRING);}
+ : PARSEOP_TOHEXSTRING
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TOHEXSTRING);}
TermArg
Target
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_TOHEXSTRING '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_TOHEXSTRING
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ToIntegerTerm
- : PARSEOP_TOINTEGER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TOINTEGER);}
+ : PARSEOP_TOINTEGER
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TOINTEGER);}
TermArg
Target
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_TOINTEGER '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_TOINTEGER
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ToPLDTerm
- : PARSEOP_TOPLD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TOPLD);}
+ : PARSEOP_TOPLD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TOPLD);}
PldKeywordList
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_TOPLD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_TOPLD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
PldKeywordList
@@ -1099,62 +1287,77 @@ PldKeywordList
ToStringTerm
- : PARSEOP_TOSTRING '(' {$<n>$ = TrCreateLeafNode (PARSEOP_TOSTRING);}
+ : PARSEOP_TOSTRING
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_TOSTRING);}
TermArg
OptionalCount
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_TOSTRING '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_TOSTRING
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ToUUIDTerm
- : PARSEOP_TOUUID '('
- StringData ')' {$$ = TrUpdateNode (PARSEOP_TOUUID, $3);}
- | PARSEOP_TOUUID '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ : PARSEOP_TOUUID
+ PARSEOP_OPEN_PAREN
+ StringData
+ PARSEOP_CLOSE_PAREN {$$ = TrUpdateNode (PARSEOP_TOUUID, $3);}
+ | PARSEOP_TOUUID
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
UnicodeTerm
- : PARSEOP_UNICODE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UNICODE);}
+ : PARSEOP_UNICODE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_UNICODE);}
StringData
- ')' {$$ = TrLinkChildren ($<n>3,2,0,$4);}
- | PARSEOP_UNICODE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,0,$4);}
+ | PARSEOP_UNICODE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
UnloadTerm
- : PARSEOP_UNLOAD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UNLOAD);}
+ : PARSEOP_UNLOAD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_UNLOAD);}
SuperName
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_UNLOAD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_UNLOAD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
WaitTerm
- : PARSEOP_WAIT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WAIT);}
+ : PARSEOP_WAIT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_WAIT);}
SuperName
TermArgItem
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_WAIT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_WAIT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
XOrTerm
- : PARSEOP_XOR '(' {$<n>$ = TrCreateLeafNode (PARSEOP_XOR);}
+ : PARSEOP_XOR
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_XOR);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_XOR '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_XOR
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
WhileTerm
- : PARSEOP_WHILE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WHILE);}
+ : PARSEOP_WHILE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_WHILE);}
TermArg
- ')' '{' TermList '}'
- {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
- | PARSEOP_WHILE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN
+ '{' TermList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
+ | PARSEOP_WHILE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
diff --git a/source/compiler/aslresources.y b/source/compiler/aslresources.y
index 92d58a9257d72..34ce47574bc82 100644
--- a/source/compiler/aslresources.y
+++ b/source/compiler/aslresources.y
@@ -56,7 +56,8 @@ NoEcho('
* Also, insert the EndTag at the end of the template.
*/
ResourceTemplateTerm
- : PARSEOP_RESOURCETEMPLATE OptionalParentheses
+ : PARSEOP_RESOURCETEMPLATE
+ OptionalParentheses
'{'
ResourceMacroList '}' {$$ = TrCreateNode (PARSEOP_RESOURCETEMPLATE,4,
TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
@@ -67,7 +68,8 @@ ResourceTemplateTerm
OptionalParentheses
: {$$ = NULL;}
- | '(' ')' {$$ = NULL;}
+ | PARSEOP_OPEN_PAREN
+ PARSEOP_CLOSE_PAREN {$$ = NULL;}
;
ResourceMacroList
@@ -116,19 +118,22 @@ ResourceMacroTerm
;
DMATerm
- : PARSEOP_DMA '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DMA);}
+ : PARSEOP_DMA
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DMA);}
DMATypeKeyword
OptionalBusMasterKeyword
',' XferTypeKeyword
OptionalNameString_Last
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
ByteList '}' {$$ = TrLinkChildren ($<n>3,5,$4,$5,$7,$8,$11);}
- | PARSEOP_DMA '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_DMA
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
DWordIOTerm
- : PARSEOP_DWORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDIO);}
+ : PARSEOP_DWORDIO
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDIO);}
OptionalResourceType_First
OptionalMinType
OptionalMaxType
@@ -144,14 +149,16 @@ DWordIOTerm
OptionalNameString
OptionalType
OptionalTranslationType_Last
- ')' {$$ = TrLinkChildren ($<n>3,15,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,15,
$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
- | PARSEOP_DWORDIO '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_DWORDIO
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
DWordMemoryTerm
- : PARSEOP_DWORDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDMEMORY);}
+ : PARSEOP_DWORDMEMORY
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDMEMORY);}
OptionalResourceType_First
OptionalDecodeType
OptionalMinType
@@ -168,14 +175,16 @@ DWordMemoryTerm
OptionalNameString
OptionalAddressRange
OptionalType_Last
- ')' {$$ = TrLinkChildren ($<n>3,16,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,16,
$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
- | PARSEOP_DWORDMEMORY '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_DWORDMEMORY
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
DWordSpaceTerm
- : PARSEOP_DWORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDSPACE);}
+ : PARSEOP_DWORDSPACE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDSPACE);}
ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
OptionalResourceType
OptionalDecodeType
@@ -190,21 +199,25 @@ DWordSpaceTerm
OptionalByteConstExpr
OptionalStringData
OptionalNameString_Last
- ')' {$$ = TrLinkChildren ($<n>3,14,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,14,
$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
- | PARSEOP_DWORDSPACE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_DWORDSPACE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
EndDependentFnTerm
- : PARSEOP_ENDDEPENDENTFN '('
- ')' {$$ = TrCreateLeafNode (PARSEOP_ENDDEPENDENTFN);}
- | PARSEOP_ENDDEPENDENTFN '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ : PARSEOP_ENDDEPENDENTFN
+ PARSEOP_OPEN_PAREN
+ PARSEOP_CLOSE_PAREN {$$ = TrCreateLeafNode (PARSEOP_ENDDEPENDENTFN);}
+ | PARSEOP_ENDDEPENDENTFN
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ExtendedIOTerm
- : PARSEOP_EXTENDEDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDIO);}
+ : PARSEOP_EXTENDEDIO
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDIO);}
OptionalResourceType_First
OptionalMinType
OptionalMaxType
@@ -219,14 +232,16 @@ ExtendedIOTerm
OptionalNameString
OptionalType
OptionalTranslationType_Last
- ')' {$$ = TrLinkChildren ($<n>3,14,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,14,
$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);}
- | PARSEOP_EXTENDEDIO '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_EXTENDEDIO
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ExtendedMemoryTerm
- : PARSEOP_EXTENDEDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDMEMORY);}
+ : PARSEOP_EXTENDEDMEMORY
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDMEMORY);}
OptionalResourceType_First
OptionalDecodeType
OptionalMinType
@@ -242,14 +257,15 @@ ExtendedMemoryTerm
OptionalNameString
OptionalAddressRange
OptionalType_Last
- ')' {$$ = TrLinkChildren ($<n>3,15,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,15,
$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);}
- | PARSEOP_EXTENDEDMEMORY '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_EXTENDEDMEMORY
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ExtendedSpaceTerm
- : PARSEOP_EXTENDEDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDSPACE);}
+ : PARSEOP_EXTENDEDSPACE PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDSPACE);}
ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
OptionalResourceType
OptionalDecodeType
@@ -263,35 +279,41 @@ ExtendedSpaceTerm
',' QWordConstExpr
OptionalQWordConstExpr
OptionalNameString_Last
- ')' {$$ = TrLinkChildren ($<n>3,13,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,13,
$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);}
- | PARSEOP_EXTENDEDSPACE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_EXTENDEDSPACE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
FixedDmaTerm
- : PARSEOP_FIXEDDMA '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDDMA);}
+ : PARSEOP_FIXEDDMA
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDDMA);}
WordConstExpr /* 04: DMA RequestLines */
',' WordConstExpr /* 06: DMA Channels */
OptionalXferSize /* 07: DMA TransferSize */
OptionalNameString /* 08: DescriptorName */
- ')' {$$ = TrLinkChildren ($<n>3,4,$4,$6,$7,$8);}
- | PARSEOP_FIXEDDMA '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,4,$4,$6,$7,$8);}
+ | PARSEOP_FIXEDDMA
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
FixedIOTerm
- : PARSEOP_FIXEDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDIO);}
+ : PARSEOP_FIXEDIO
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDIO);}
WordConstExpr
',' ByteConstExpr
OptionalNameString_Last
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
- | PARSEOP_FIXEDIO '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
+ | PARSEOP_FIXEDIO
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
GpioIntTerm
- : PARSEOP_GPIO_INT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_INT);}
+ : PARSEOP_GPIO_INT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_INT);}
InterruptTypeKeyword /* 04: InterruptType */
',' InterruptLevel /* 06: InterruptLevel */
OptionalShareType /* 07: SharedType */
@@ -302,15 +324,17 @@ GpioIntTerm
OptionalResourceType /* 14: ResourceType */
OptionalNameString /* 15: DescriptorName */
OptionalBuffer_Last /* 16: VendorData */
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
DWordConstExpr '}' {$$ = TrLinkChildren ($<n>3,11,
$4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);}
- | PARSEOP_GPIO_INT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_GPIO_INT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
GpioIoTerm
- : PARSEOP_GPIO_IO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_IO);}
+ : PARSEOP_GPIO_IO
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_IO);}
OptionalShareType_First /* 04: SharedType */
',' PinConfigByte /* 06: PinConfig */
OptionalWordConstExpr /* 07: DebounceTimeout */
@@ -321,15 +345,17 @@ GpioIoTerm
OptionalResourceType /* 13: ResourceType */
OptionalNameString /* 14: DescriptorName */
OptionalBuffer_Last /* 15: VendorData */
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
DWordList '}' {$$ = TrLinkChildren ($<n>3,11,
$4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);}
- | PARSEOP_GPIO_IO '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_GPIO_IO
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
I2cSerialBusTerm
- : PARSEOP_I2C_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS);}
+ : PARSEOP_I2C_SERIALBUS
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS);}
WordConstExpr /* 04: SlaveAddress */
OptionalSlaveMode /* 05: SlaveMode */
',' DWordConstExpr /* 07: ConnectionSpeed */
@@ -339,15 +365,17 @@ I2cSerialBusTerm
OptionalResourceType /* 12: ResourceType */
OptionalNameString /* 13: DescriptorName */
OptionalBuffer_Last /* 14: VendorData */
- ')' {$$ = TrLinkChildren ($<n>3,10,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,10,
$4,$5,$7,$8,$10,$11,$12,$13,
TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$14);}
- | PARSEOP_I2C_SERIALBUS '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_I2C_SERIALBUS
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
I2cSerialBusTermV2
- : PARSEOP_I2C_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS_V2);}
+ : PARSEOP_I2C_SERIALBUS_V2
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS_V2);}
WordConstExpr /* 04: SlaveAddress */
OptionalSlaveMode /* 05: SlaveMode */
',' DWordConstExpr /* 07: ConnectionSpeed */
@@ -358,14 +386,16 @@ I2cSerialBusTermV2
OptionalNameString /* 13: DescriptorName */
OptionalShareType /* 14: Share */
OptionalBuffer_Last /* 15: VendorData */
- ')' {$$ = TrLinkChildren ($<n>3,10,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,10,
$4,$5,$7,$8,$10,$11,$12,$13,$14,$15);}
- | PARSEOP_I2C_SERIALBUS_V2 '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_I2C_SERIALBUS_V2
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
InterruptTerm
- : PARSEOP_INTERRUPT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_INTERRUPT);}
+ : PARSEOP_INTERRUPT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_INTERRUPT);}
OptionalResourceType_First
',' InterruptTypeKeyword
',' InterruptLevel
@@ -373,86 +403,100 @@ InterruptTerm
OptionalByteConstExpr
OptionalStringData
OptionalNameString_Last
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
DWordList '}' {$$ = TrLinkChildren ($<n>3,8,
$4,$6,$8,$9,$10,$11,$12,$15);}
- | PARSEOP_INTERRUPT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_INTERRUPT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
IOTerm
- : PARSEOP_IO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IO);}
+ : PARSEOP_IO
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_IO);}
IODecodeKeyword
',' WordConstExpr
',' WordConstExpr
',' ByteConstExpr
',' ByteConstExpr
OptionalNameString_Last
- ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
- | PARSEOP_IO '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
+ | PARSEOP_IO
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
IRQNoFlagsTerm
- : PARSEOP_IRQNOFLAGS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IRQNOFLAGS);}
+ : PARSEOP_IRQNOFLAGS
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_IRQNOFLAGS);}
OptionalNameString_First
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
- | PARSEOP_IRQNOFLAGS '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_IRQNOFLAGS
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
IRQTerm
- : PARSEOP_IRQ '(' {$<n>$ = TrCreateLeafNode (PARSEOP_IRQ);}
+ : PARSEOP_IRQ
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_IRQ);}
InterruptTypeKeyword
',' InterruptLevel
OptionalShareType
OptionalNameString_Last
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
ByteList '}' {$$ = TrLinkChildren ($<n>3,5,$4,$6,$7,$8,$11);}
- | PARSEOP_IRQ '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_IRQ
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
Memory24Term
- : PARSEOP_MEMORY24 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY24);}
+ : PARSEOP_MEMORY24
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY24);}
OptionalReadWriteKeyword
',' WordConstExpr
',' WordConstExpr
',' WordConstExpr
',' WordConstExpr
OptionalNameString_Last
- ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
- | PARSEOP_MEMORY24 '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
+ | PARSEOP_MEMORY24
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
Memory32FixedTerm
- : PARSEOP_MEMORY32FIXED '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32FIXED);}
+ : PARSEOP_MEMORY32FIXED
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32FIXED);}
OptionalReadWriteKeyword
',' DWordConstExpr
',' DWordConstExpr
OptionalNameString_Last
- ')' {$$ = TrLinkChildren ($<n>3,4,$4,$6,$8,$9);}
- | PARSEOP_MEMORY32FIXED '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,4,$4,$6,$8,$9);}
+ | PARSEOP_MEMORY32FIXED
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
Memory32Term
- : PARSEOP_MEMORY32 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32);}
+ : PARSEOP_MEMORY32
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32);}
OptionalReadWriteKeyword
',' DWordConstExpr
',' DWordConstExpr
',' DWordConstExpr
',' DWordConstExpr
OptionalNameString_Last
- ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
- | PARSEOP_MEMORY32 '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
+ | PARSEOP_MEMORY32
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
QWordIOTerm
- : PARSEOP_QWORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDIO);}
+ : PARSEOP_QWORDIO
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDIO);}
OptionalResourceType_First
OptionalMinType
OptionalMaxType
@@ -468,14 +512,16 @@ QWordIOTerm
OptionalNameString
OptionalType
OptionalTranslationType_Last
- ')' {$$ = TrLinkChildren ($<n>3,15,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,15,
$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
- | PARSEOP_QWORDIO '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_QWORDIO
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
QWordMemoryTerm
- : PARSEOP_QWORDMEMORY '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDMEMORY);}
+ : PARSEOP_QWORDMEMORY
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDMEMORY);}
OptionalResourceType_First
OptionalDecodeType
OptionalMinType
@@ -492,14 +538,16 @@ QWordMemoryTerm
OptionalNameString
OptionalAddressRange
OptionalType_Last
- ')' {$$ = TrLinkChildren ($<n>3,16,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,16,
$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
- | PARSEOP_QWORDMEMORY '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_QWORDMEMORY
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
QWordSpaceTerm
- : PARSEOP_QWORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDSPACE);}
+ : PARSEOP_QWORDSPACE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDSPACE);}
ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
OptionalResourceType
OptionalDecodeType
@@ -514,27 +562,31 @@ QWordSpaceTerm
OptionalByteConstExpr
OptionalStringData
OptionalNameString_Last
- ')' {$$ = TrLinkChildren ($<n>3,14,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,14,
$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
- | PARSEOP_QWORDSPACE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_QWORDSPACE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
RegisterTerm
- : PARSEOP_REGISTER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_REGISTER);}
+ : PARSEOP_REGISTER
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_REGISTER);}
AddressSpaceKeyword
',' ByteConstExpr
',' ByteConstExpr
',' QWordConstExpr
OptionalAccessSize
OptionalNameString_Last
- ')' {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
- | PARSEOP_REGISTER '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
+ | PARSEOP_REGISTER
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
SpiSerialBusTerm
- : PARSEOP_SPI_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS);}
+ : PARSEOP_SPI_SERIALBUS
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS);}
WordConstExpr /* 04: DeviceSelection */
OptionalDevicePolarity /* 05: DevicePolarity */
OptionalWireMode /* 06: WireMode */
@@ -548,15 +600,17 @@ SpiSerialBusTerm
OptionalResourceType /* 19: ResourceType */
OptionalNameString /* 20: DescriptorName */
OptionalBuffer_Last /* 21: VendorData */
- ')' {$$ = TrLinkChildren ($<n>3,14,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,14,
$4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
- | PARSEOP_SPI_SERIALBUS '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_SPI_SERIALBUS
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
SpiSerialBusTermV2
- : PARSEOP_SPI_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS_V2);}
+ : PARSEOP_SPI_SERIALBUS_V2
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS_V2);}
WordConstExpr /* 04: DeviceSelection */
OptionalDevicePolarity /* 05: DevicePolarity */
OptionalWireMode /* 06: WireMode */
@@ -571,32 +625,38 @@ SpiSerialBusTermV2
OptionalNameString /* 20: DescriptorName */
OptionalShareType /* 21: Share */
OptionalBuffer_Last /* 22: VendorData */
- ')' {$$ = TrLinkChildren ($<n>3,14,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,14,
$4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
- | PARSEOP_SPI_SERIALBUS_V2 '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_SPI_SERIALBUS_V2
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
StartDependentFnNoPriTerm
- : PARSEOP_STARTDEPENDENTFN_NOPRI '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN_NOPRI);}
- ')' '{'
+ : PARSEOP_STARTDEPENDENTFN_NOPRI
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN_NOPRI);}
+ PARSEOP_CLOSE_PAREN '{'
ResourceMacroList '}' {$$ = TrLinkChildren ($<n>3,1,$6);}
- | PARSEOP_STARTDEPENDENTFN_NOPRI '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_STARTDEPENDENTFN_NOPRI
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
StartDependentFnTerm
- : PARSEOP_STARTDEPENDENTFN '(' {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN);}
+ : PARSEOP_STARTDEPENDENTFN
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN);}
ByteConstExpr
',' ByteConstExpr
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
ResourceMacroList '}' {$$ = TrLinkChildren ($<n>3,3,$4,$6,$9);}
- | PARSEOP_STARTDEPENDENTFN '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_STARTDEPENDENTFN
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
UartSerialBusTerm
- : PARSEOP_UART_SERIALBUS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS);}
+ : PARSEOP_UART_SERIALBUS
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS);}
DWordConstExpr /* 04: ConnectionSpeed */
OptionalBitsPerByte /* 05: BitsPerByte */
OptionalStopBits /* 06: StopBits */
@@ -611,15 +671,17 @@ UartSerialBusTerm
OptionalResourceType /* 19: ResourceType */
OptionalNameString /* 20: DescriptorName */
OptionalBuffer_Last /* 21: VendorData */
- ')' {$$ = TrLinkChildren ($<n>3,15,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,15,
$4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
- | PARSEOP_UART_SERIALBUS '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_UART_SERIALBUS
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
UartSerialBusTermV2
- : PARSEOP_UART_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS_V2);}
+ : PARSEOP_UART_SERIALBUS_V2
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS_V2);}
DWordConstExpr /* 04: ConnectionSpeed */
OptionalBitsPerByte /* 05: BitsPerByte */
OptionalStopBits /* 06: StopBits */
@@ -635,32 +697,38 @@ UartSerialBusTermV2
OptionalNameString /* 20: DescriptorName */
OptionalShareType /* 21: Share */
OptionalBuffer_Last /* 22: VendorData */
- ')' {$$ = TrLinkChildren ($<n>3,15,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,15,
$4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
- | PARSEOP_UART_SERIALBUS_V2 '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_UART_SERIALBUS_V2
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
VendorLongTerm
- : PARSEOP_VENDORLONG '(' {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORLONG);}
+ : PARSEOP_VENDORLONG
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORLONG);}
OptionalNameString_First
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
- | PARSEOP_VENDORLONG '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_VENDORLONG
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
VendorShortTerm
- : PARSEOP_VENDORSHORT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORSHORT);}
+ : PARSEOP_VENDORSHORT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORSHORT);}
OptionalNameString_First
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
ByteList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
- | PARSEOP_VENDORSHORT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_VENDORSHORT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
WordBusNumberTerm
- : PARSEOP_WORDBUSNUMBER '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDBUSNUMBER);}
+ : PARSEOP_WORDBUSNUMBER
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_WORDBUSNUMBER);}
OptionalResourceType_First
OptionalMinType
OptionalMaxType
@@ -673,14 +741,16 @@ WordBusNumberTerm
OptionalByteConstExpr
OptionalStringData
OptionalNameString_Last
- ')' {$$ = TrLinkChildren ($<n>3,12,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,12,
$4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);}
- | PARSEOP_WORDBUSNUMBER '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_WORDBUSNUMBER
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
WordIOTerm
- : PARSEOP_WORDIO '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDIO);}
+ : PARSEOP_WORDIO
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_WORDIO);}
OptionalResourceType_First
OptionalMinType
OptionalMaxType
@@ -696,14 +766,16 @@ WordIOTerm
OptionalNameString
OptionalType
OptionalTranslationType_Last
- ')' {$$ = TrLinkChildren ($<n>3,15,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,15,
$4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
- | PARSEOP_WORDIO '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_WORDIO
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
WordSpaceTerm
- : PARSEOP_WORDSPACE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_WORDSPACE);}
+ : PARSEOP_WORDSPACE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_WORDSPACE);}
ByteConstExpr {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
OptionalResourceType
OptionalDecodeType
@@ -718,8 +790,9 @@ WordSpaceTerm
OptionalByteConstExpr
OptionalStringData
OptionalNameString_Last
- ')' {$$ = TrLinkChildren ($<n>3,14,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,14,
$4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
- | PARSEOP_WORDSPACE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_WORDSPACE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
diff --git a/source/compiler/aslrestype2.c b/source/compiler/aslrestype2.c
index b75c1184eb19b..bc130e530be86 100644
--- a/source/compiler/aslrestype2.c
+++ b/source/compiler/aslrestype2.c
@@ -127,6 +127,11 @@ RsDoGeneralRegisterDescriptor (
RsCreateByteField (InitializerOp, ACPI_RESTAG_ACCESSSIZE,
CurrentByteOffset + ASL_RESDESC_OFFSET (GenericReg.AccessSize));
+ if (Descriptor->GenericReg.AddressSpaceId == ACPI_ADR_SPACE_PLATFORM_COMM)
+ {
+ break;
+ }
+
if (Descriptor->GenericReg.AccessSize > AML_FIELD_ACCESS_QWORD)
{
AslError (ASL_ERROR, ASL_MSG_INVALID_ACCESS_SIZE,
diff --git a/source/compiler/aslrules.y b/source/compiler/aslrules.y
index 2cb972f8056db..112f041878b0a 100644
--- a/source/compiler/aslrules.y
+++ b/source/compiler/aslrules.y
@@ -81,14 +81,15 @@ AslCode
* The ObjectList term is obsolete and has been removed.
*/
DefinitionBlockTerm
- : PARSEOP_DEFINITION_BLOCK '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DEFINITION_BLOCK);}
+ : PARSEOP_DEFINITION_BLOCK
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DEFINITION_BLOCK);}
String ','
String ','
ByteConst ','
String ','
String ','
DWordConst
- ')' {TrSetEndLineNumber ($<n>3);}
+ PARSEOP_CLOSE_PAREN {TrSetEndLineNumber ($<n>3);}
'{' TermList '}' {$$ = TrLinkChildren ($<n>3,7,
$4,$6,$8,$10,$12,$14,$18);}
;
@@ -99,6 +100,9 @@ DefinitionBlockList
DefinitionBlockList {$$ = TrLinkPeerNodes (2, $1,$2);}
;
+
+/******* Basic ASCII identifiers **************************************************/
+
/* Allow IO, DMA, IRQ Resource macro and FOR macro names to also be used as identifiers */
NameString
@@ -112,20 +116,31 @@ NameString
/*
NameSeg
: PARSEOP_NAMESEG {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESEG, (ACPI_NATIVE_INT)
- TrNormalizeNameSeg ($1));}
+ TrNormalizeNameSeg ($1));}
;
*/
NameSeg
: PARSEOP_NAMESEG {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESEG,
- (ACPI_NATIVE_INT) AslCompilerlval.s);}
+ (ACPI_NATIVE_INT) AslCompilerlval.s);}
;
+/******* Fundamental argument/statement types ***********************************/
+
+Term
+ : Object {}
+ | Type1Opcode {}
+ | Type2Opcode {}
+ | Type2IntegerOpcode {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);}
+ | Type2StringOpcode {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);}
+ | Type2BufferOpcode {}
+ | Type2BufferOrStringOpcode {}
+ | error {$$ = AslDoError(); yyclearin;}
+ ;
+
SuperName
- : NameString {}
- | ArgTerm {}
- | LocalTerm {}
+ : SimpleName {}
| DebugTerm {}
| Type6Opcode {}
;
@@ -136,14 +151,19 @@ Target
| ',' SuperName {$$ = TrSetNodeFlags ($2, NODE_IS_TARGET);}
;
+RequiredTarget
+ : ',' SuperName {$$ = TrSetNodeFlags ($2, NODE_IS_TARGET);}
+ ;
+
TermArg
- : Type2Opcode {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
+ : SimpleName {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
+ | Type2Opcode {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
| DataObject {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
- | NameString {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
- | ArgTerm {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
- | LocalTerm {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
-
-
+/*
+ | PARSEOP_OPEN_PAREN
+ TermArg
+ PARSEOP_CLOSE_PAREN {}
+*/
;
/*
@@ -156,8 +176,10 @@ TermArg
*/
MethodInvocationTerm
- : NameString '(' {TrUpdateNode (PARSEOP_METHODCALL, $1);}
- ArgList ')' {$$ = TrLinkChildNode ($1,$4);}
+ : NameString
+ PARSEOP_OPEN_PAREN {TrUpdateNode (PARSEOP_METHODCALL, $1);}
+ ArgList
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildNode ($1,$4);}
;
/* OptionalCount must appear before ByteList or an incorrect reduction will result */
@@ -176,23 +198,44 @@ OptionalDataCount
/* Legacy ASL */
: {$$ = NULL;}
- | '(' TermArg ')' {$$ = $2;}
- | '(' ')' {$$ = NULL;}
+ | PARSEOP_OPEN_PAREN
+ TermArg
+ PARSEOP_CLOSE_PAREN {$$ = $2;}
+ | PARSEOP_OPEN_PAREN
+ PARSEOP_CLOSE_PAREN {$$ = NULL;}
/* C-style (ASL+) -- adds equals term */
| PARSEOP_EXP_EQUALS {$$ = NULL;}
- | '(' TermArg ')'
+ | PARSEOP_OPEN_PAREN
+ TermArg
+ PARSEOP_CLOSE_PAREN
PARSEOP_EXP_EQUALS {$$ = $2;}
- | '(' ')' String
+ | PARSEOP_OPEN_PAREN
+ PARSEOP_CLOSE_PAREN
+ String
PARSEOP_EXP_EQUALS {$$ = NULL;}
;
/******* List Terms **************************************************/
+ /* ACPI 3.0 -- allow semicolons between terms */
+
+TermList
+ : {$$ = NULL;}
+ | TermList Term {$$ = TrLinkPeerNode (
+ TrSetNodeFlags ($1, NODE_RESULT_NOT_USED),$2);}
+ | TermList Term ';' {$$ = TrLinkPeerNode (
+ TrSetNodeFlags ($1, NODE_RESULT_NOT_USED),$2);}
+ | TermList ';' Term {$$ = TrLinkPeerNode (
+ TrSetNodeFlags ($1, NODE_RESULT_NOT_USED),$3);}
+ | TermList ';' Term ';' {$$ = TrLinkPeerNode (
+ TrSetNodeFlags ($1, NODE_RESULT_NOT_USED),$3);}
+ ;
+
ArgList
: {$$ = NULL;}
| TermArg
@@ -299,38 +342,13 @@ OptionalParameterTypesPackage
TrCreateLeafNode (PARSEOP_DEFAULT_ARG),1,$2);}
;
- /* ACPI 3.0 -- allow semicolons between terms */
-
-TermList
- : {$$ = NULL;}
- | TermList Term {$$ = TrLinkPeerNode (
- TrSetNodeFlags ($1, NODE_RESULT_NOT_USED),$2);}
- | TermList Term ';' {$$ = TrLinkPeerNode (
- TrSetNodeFlags ($1, NODE_RESULT_NOT_USED),$2);}
- | TermList ';' Term {$$ = TrLinkPeerNode (
- TrSetNodeFlags ($1, NODE_RESULT_NOT_USED),$3);}
- | TermList ';' Term ';' {$$ = TrLinkPeerNode (
- TrSetNodeFlags ($1, NODE_RESULT_NOT_USED),$3);}
- ;
-
-Term
- : Object {}
- | Type1Opcode {}
- | Type2Opcode {}
- | Type2IntegerOpcode {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);}
- | Type2StringOpcode {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);}
- | Type2BufferOpcode {}
- | Type2BufferOrStringOpcode {}
- | error {$$ = AslDoError(); yyclearin;}
- ;
-
/*
* Case-Default list; allow only one Default term and unlimited Case terms
*/
CaseDefaultTermList
: {$$ = NULL;}
- | CaseTerm {}
- | DefaultTerm {}
+ | CaseTerm {}
+ | DefaultTerm {}
| CaseDefaultTermList
CaseTerm {$$ = TrLinkPeerNode ($1,$2);}
| CaseDefaultTermList
@@ -520,32 +538,59 @@ NameSpaceModifier
| ScopeTerm {}
;
-/* For ObjectType: SuperName except for MethodInvocationTerm */
-
-ObjectTypeName
+SimpleName
: NameString {}
- | ArgTerm {}
| LocalTerm {}
+ | ArgTerm {}
+ ;
+
+/* For ObjectType(), SuperName except for MethodInvocationTerm */
+
+ObjectTypeSource
+ : SimpleName {}
| DebugTerm {}
| RefOfTerm {}
| DerefOfTerm {}
| IndexTerm {}
| IndexExpTerm {}
-/* | MethodInvocationTerm {} */ /* Caused reduce/reduce with Type6Opcode->MethodInvocationTerm */
;
-RequiredTarget
- : ',' SuperName {$$ = TrSetNodeFlags ($2, NODE_IS_TARGET);}
+/* For DeRefOf(), SuperName except for DerefOf and Debug */
+
+DerefOfSource
+ : SimpleName {}
+ | RefOfTerm {}
+ | DerefOfTerm {}
+ | IndexTerm {}
+ | IndexExpTerm {}
+ | StoreTerm {}
+ | EqualsTerm {}
+ | MethodInvocationTerm {}
;
-SimpleTarget
- : NameString {}
- | LocalTerm {}
- | ArgTerm {}
+/* For RefOf(), SuperName except for RefOf and MethodInvocationTerm */
+
+RefOfSource
+ : SimpleName {}
+ | DebugTerm {}
+ | DerefOfTerm {}
+ | IndexTerm {}
+ | IndexExpTerm {}
;
-/* Opcode types */
+/* For CondRefOf(), SuperName except for RefOf and MethodInvocationTerm */
+
+CondRefOfSource
+ : SimpleName {}
+ | DebugTerm {}
+ | DerefOfTerm {}
+ | IndexTerm {}
+ | IndexExpTerm {}
+ ;
+/*
+ * Opcode types, as defined in the ACPI specification
+ */
Type1Opcode
: BreakTerm {}
| BreakPointTerm {}
diff --git a/source/compiler/aslstubs.c b/source/compiler/aslstubs.c
index b88513ffb5241..c472e07396826 100644
--- a/source/compiler/aslstubs.c
+++ b/source/compiler/aslstubs.c
@@ -188,8 +188,7 @@ AcpiEvReleaseGlobalLock (
ACPI_STATUS
AcpiEvInitializeRegion (
- ACPI_OPERAND_OBJECT *RegionObj,
- BOOLEAN AcpiNsLocked)
+ ACPI_OPERAND_OBJECT *RegionObj)
{
return (AE_OK);
}
diff --git a/source/compiler/asltokens.y b/source/compiler/asltokens.y
index ff1dd42535c8c..61213db0b66ba 100644
--- a/source/compiler/asltokens.y
+++ b/source/compiler/asltokens.y
@@ -465,6 +465,9 @@ NoEcho('
%left <i> PARSEOP_EXP_INCREMENT
PARSEOP_EXP_DECREMENT
+%left <i> PARSEOP_OPEN_PAREN
+ PARSEOP_CLOSE_PAREN
+
/* Brackets for Index() support */
%left <i> PARSEOP_EXP_INDEX_LEFT
diff --git a/source/compiler/asltypes.y b/source/compiler/asltypes.y
index 1152a422d79f9..d463997bf6b4f 100644
--- a/source/compiler/asltypes.y
+++ b/source/compiler/asltypes.y
@@ -68,7 +68,7 @@ NoEcho('
%type <n> ParameterTypesPackage
%type <n> ParameterTypesPackageList
%type <n> RequiredTarget
-%type <n> SimpleTarget
+%type <n> SimpleName
%type <n> StringData
%type <n> Target
%type <n> Term
@@ -252,7 +252,10 @@ NoEcho('
/* Types */
%type <n> SuperName
-%type <n> ObjectTypeName
+%type <n> ObjectTypeSource
+%type <n> DerefOfSource
+%type <n> RefOfSource
+%type <n> CondRefOfSource
%type <n> ArgTerm
%type <n> LocalTerm
%type <n> DebugTerm
diff --git a/source/compiler/aslwalks.c b/source/compiler/aslwalks.c
index 357b92d0b38da..9fbc582b6ab2c 100644
--- a/source/compiler/aslwalks.c
+++ b/source/compiler/aslwalks.c
@@ -862,21 +862,10 @@ AnAnalyzeStoreOperator (
case PARSEOP_DEREFOF:
case PARSEOP_REFOF:
case PARSEOP_INDEX:
+ case PARSEOP_STORE:
return;
- case PARSEOP_METHODCALL:
- /*
- * A target is not allowed to be a method call.
- * It is not supported by the ACPICA interpreter, nor is it
- * supported by the MS ASL compiler or the MS interpreter.
- * Although legal syntax up until ACPI 6.1, support for this
- * will be removed for ACPI 6.2 (02/2016)
- */
- AslError (ASL_ERROR, ASL_MSG_SYNTAX,
- TargetOperandOp, "Illegal method invocation as a target operand");
- return;
-
default:
break;
}
diff --git a/source/compiler/dttable.c b/source/compiler/dttable.c
index c1011f8231354..7b33e4d2302e3 100644
--- a/source/compiler/dttable.c
+++ b/source/compiler/dttable.c
@@ -129,12 +129,9 @@ DtCompileFadt (
DT_SUBTABLE *ParentTable;
DT_FIELD **PFieldList = (DT_FIELD **) List;
ACPI_TABLE_HEADER *Table;
- UINT8 FadtRevision;
- UINT32 i;
+ UINT8 Revision;
- /* Minimum table is the FADT version 1 (ACPI 1.0) */
-
Status = DtCompileTable (PFieldList, AcpiDmTableInfoFadt1,
&Subtable, TRUE);
if (ACPI_FAILURE (Status))
@@ -146,41 +143,22 @@ DtCompileFadt (
DtInsertSubtable (ParentTable, Subtable);
Table = ACPI_CAST_PTR (ACPI_TABLE_HEADER, ParentTable->Buffer);
- FadtRevision = Table->Revision;
-
- /* Revision 0 and 2 are illegal */
-
- if ((FadtRevision == 0) ||
- (FadtRevision == 2))
- {
- DtError (ASL_ERROR, 0, NULL,
- "Invalid value for FADT revision");
-
- return (AE_BAD_VALUE);
- }
-
- /* Revision out of supported range? */
+ Revision = Table->Revision;
- if (FadtRevision > ACPI_FADT_MAX_VERSION)
+ if (Revision == 2)
{
- DtError (ASL_ERROR, 0, NULL,
- "Unknown or unsupported value for FADT revision");
-
- return (AE_BAD_VALUE);
- }
-
- /* Compile individual sub-parts of the FADT, per-revision */
-
- for (i = 3; i <= ACPI_FADT_MAX_VERSION; i++)
- {
- if (i > FadtRevision)
+ Status = DtCompileTable (PFieldList, AcpiDmTableInfoFadt2,
+ &Subtable, TRUE);
+ if (ACPI_FAILURE (Status))
{
- break;
+ return (Status);
}
- /* Compile the fields specific to this FADT revision */
-
- Status = DtCompileTable (PFieldList, FadtRevisionInfo[i],
+ DtInsertSubtable (ParentTable, Subtable);
+ }
+ else if (Revision >= 2)
+ {
+ Status = DtCompileTable (PFieldList, AcpiDmTableInfoFadt3,
&Subtable, TRUE);
if (ACPI_FAILURE (Status))
{
@@ -188,6 +166,30 @@ DtCompileFadt (
}
DtInsertSubtable (ParentTable, Subtable);
+
+ if (Revision >= 5)
+ {
+ Status = DtCompileTable (PFieldList, AcpiDmTableInfoFadt5,
+ &Subtable, TRUE);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ DtInsertSubtable (ParentTable, Subtable);
+ }
+
+ if (Revision >= 6)
+ {
+ Status = DtCompileTable (PFieldList, AcpiDmTableInfoFadt6,
+ &Subtable, TRUE);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ DtInsertSubtable (ParentTable, Subtable);
+ }
}
return (AE_OK);