From owner-acpi-jp@jp.freebsd.org  Thu Dec  7 13:51:55 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id NAA93106;
	Thu, 7 Dec 2000 13:51:55 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from mail.ogis-ri.co.jp (ns.ogis-ri.co.jp [158.201.127.1])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id NAA93098;
	Thu, 7 Dec 2000 13:51:50 +0900 (JST)
	(envelope-from yokoyama@o3.otc.ogis-ri.co.jp)
Received: from nozomi.icc.ogis-ri.co.jp (nozomi.icc.ogis-ri.co.jp [158.201.123.33])
	by mail.ogis-ri.co.jp (8.9.2+3.1W/3.7W0002211103) with ESMTP id NAA18629;
	Thu, 7 Dec 2000 13:51:12 +0900 (JST)
Received: from o3.otc.ogis-ri.co.jp (o3.otc.ogis-ri.co.jp [158.201.73.1]) by nozomi.icc.ogis-ri.co.jp (8.9.3+3.2W/3.5Wpl2-ogismail1.0) with ESMTP id NAA21880; Thu, 7 Dec 2000 13:51:11 +0900 (JST)
Received: from localhost ([158.201.73.102]) by o3.otc.ogis-ri.co.jp (8.8.4/3.5Wpl597042212) with ESMTP id NAA21005; Thu, 7 Dec 2000 13:51:10 +0900 (JST)
To: acpi-jp@jp.freebsd.org, iwasaki@jp.freebsd.org
In-Reply-To: <20001205162509J.iwasaki@jp.FreeBSD.org>
References: <20001202064246A.iwasaki@jp.FreeBSD.org>
	<20001204140036T.yokoyama@o3.otc.ogis-ri.co.jp>
	<20001205162509J.iwasaki@jp.FreeBSD.org>
X-Mailer: Mew version 1.94.2 on XEmacs 21.1 (Channel Islands)
Mime-Version: 1.0
Content-Type: Multipart/Mixed;
 boundary="--Next_Part(Thu_Dec__7_13:53:35_2000_82)--"
Content-Transfer-Encoding: 7bit
Message-Id: <20001207135338Q.yokoyama@o3.otc.ogis-ri.co.jp>
Date: Thu, 07 Dec 2000 13:53:38 +0900
From: Yasuo Yokoyama <yokoyama@o3.otc.ogis-ri.co.jp>
X-Dispatcher: imput version 20000228(IM140)
Lines: 231
Reply-To: acpi-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: acpi-jp 941
Subject: [acpi-jp 941] Re: ASL compiler development?
Errors-To: owner-acpi-jp@jp.freebsd.org
Sender: owner-acpi-jp@jp.freebsd.org
X-Originator: yokoyama@o3.otc.ogis-ri.co.jp

----Next_Part(Thu_Dec__7_13:53:35_2000_82)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

$B2#;3$G$9!#(B

In Message [acpi-jp:940] <20001205162509J.iwasaki@jp.FreeBSD.org>
	Mitsuru IWASAKI <iwasaki@jp.freebsd.org> wrote:

> > $B$3$NJU$j$O>l9g$K$h$C$F$OJ8K!$rJQ7A$9$k$3$H$b;kLn$KF~$l$F8!F$$9$k(B
> > $BI,MW$,$"$k$+$b$7$l$^$;$s$M!#(B
> 
> $B$^$"!"(BSpec $B$N(B ASL Grammar Notation $B$N(B BNF $B$i$7$-$b$N$rE,Ev$K(B
> $B$4$^$+$7$J$,$iJQ49$7$F(B yacc $B$,DL$k$h$&$K$7$?$@$1$J$N$G(B (^^; 
> $BB?>/LdBj$,$"$C$F$b$*$+$7$/$"$j$^$;$s!#(B
> $B8e$G$8$C$/$j8+D>$9$D$b$j$G$7$?$,!"@h$KD4$Y$F=$@5$7$F$$$?$@$1$k$H(B
> $B$"$j$,$?$$$G$9!#(B

$B$3$NJU$j$O$^$@<j$,$D$$$F$$$^$;$s$,!"(B
ACPI 2.0 spec $B$N(B errata $B$,H/9T$5$l$F$$$^$7$?$N$G!"$=$NFbMF$r0lIt(B
$BH?1G$7$^$7$?!#(B

$B0J2<$O$=$N(B patch $B$G$9!#(B

-- 
$B$h$3$d$^!w$*!<$8$9$=$&$1$s(B

----Next_Part(Thu_Dec__7_13:53:35_2000_82)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="errata13.diff"

Index: aslclex.l
===================================================================
RCS file: /home/yokoyama/Repository/aslc/aslclex.l,v
retrieving revision 1.1.1.3
diff -u -r1.1.1.3 aslclex.l
--- aslclex.l	2000/12/05 07:04:34	1.1.1.3
+++ aslclex.l	2000/12/07 04:32:58
@@ -316,22 +316,22 @@
 <CODE>Acquire		{ return(TOK_ACQUIRE); }
 <CODE>Add		{ return(TOK_ADD); }
 <CODE>And		{ return(TOK_AND); }
-<CODE>Buff		{ return(TOK_BUFF); }
+<CODE>ToBuffer		{ return(TOK_BUFF); }
 <CODE>Concatenate	{ return(TOK_CONCATENATE); }
 <CODE>ConcatenateResTemplate	{ return(TOK_CONCATENATERESTEMPLATE); }
 <CODE>CondRefOf		{ return(TOK_CONDREFOF); }
 <CODE>Copy		{ return(TOK_COPY); }
 <CODE>Decrement		{ return(TOK_DECREMENT); }
-<CODE>DecStr		{ return(TOK_DECSTR); }
+<CODE>ToDecimalString	{ return(TOK_DECSTR); }
 <CODE>DerefOf		{ return(TOK_DEREFOF); }
 <CODE>Divide		{ return(TOK_DIVIDE); }
 <CODE>FindSetLeftBit	{ return(TOK_FINDSETLEFTBIT); }
 <CODE>FindSetRightBit	{ return(TOK_FINDSETRIGHTBIT); }
 <CODE>FromBCD		{ return(TOK_FROMBCD); }
-<CODE>HexStr		{ return(TOK_HEXSTR); }
+<CODE>ToHexString	{ return(TOK_HEXSTR); }
 <CODE>Increment		{ return(TOK_INCREMENT); }
 <CODE>Index		{ return(TOK_INDEX); }
-<CODE>Int		{ return(TOK_INT); }
+<CODE>ToInteger		{ return(TOK_INT); }
 <CODE>LAnd		{ return(TOK_LAND); }
 <CODE>LEqual		{ return(TOK_LEQUAL); }
 <CODE>LGreater		{ return(TOK_LGREATER); }
@@ -356,7 +356,7 @@
 <CODE>ShiftRight	{ return(TOK_SHIFTRIGHT); }
 <CODE>SizeOf		{ return(TOK_SIZEOF); }
 <CODE>Store		{ return(TOK_STORE); }
-<CODE>String		{ return(TOK_STRING); }
+<CODE>ToString		{ return(TOK_STRING); }
 <CODE>Subtract		{ return(TOK_SUBTRACT); }
 <CODE>ToBCD		{ return(TOK_TOBCD); }
 <CODE>Wait		{ return(TOK_WAIT); }
Index: aslcparse.y
===================================================================
RCS file: /home/yokoyama/Repository/aslc/aslcparse.y,v
retrieving revision 1.1.1.4
diff -u -r1.1.1.4 aslcparse.y
--- aslcparse.y	2000/12/05 07:04:34	1.1.1.4
+++ aslcparse.y	2000/12/07 04:34:17
@@ -387,7 +387,6 @@
 	;
 DataRefObject
 	: DataObject /* XXX | ObjectReference | DDBHandle */
-	| NameString /* XXX Named object by user (not in Spec.) */
 	;
 
 
@@ -450,7 +449,7 @@
 	| ',' TermArg ArgListTail
 	;
 TermArg
-	: Type2Opcode | DataRefObject | ArgTerm | LocalTerm
+	: Type2Opcode | DataObject | ArgTerm | LocalTerm | NameString
 	;
 Target
 	: Nothing
@@ -479,18 +478,20 @@
 
 
 Type2Opcode
-	: AcquireTerm | AddTerm | AndTerm | BuffTerm | ConcatTerm
+	: AcquireTerm | AddTerm | AndTerm | ConcatTerm
 	| ConcatResTerm | CondRefOfTerm | CopyTerm | DecTerm
-	| DecStrTerm | DerefOfTerm | DivideTerm
+	| DerefOfTerm | DivideTerm
 	| FindSetLeftBitTerm | FindSetRightBitTerm | FromBCDTerm
-	| HexStrTerm | IncTerm | IndexTerm | IntTerm | LAndTerm
+	| IncTerm | IndexTerm | LAndTerm
 	| LEqualTerm | LGreaterTerm | LGreaterEqualTerm
 	| LLessTerm | LLessEqualTerm | LNotTerm | LNotEqualTerm
 	| LoadTableTerm | LOrTerm | MatchTerm | MidTerm | ModTerm
 	| MultiplyTerm | NAndTerm | NOrTerm | NotTerm
 	| ObjectTypeTerm | OrTerm | RefOfTerm | ShiftLeftTerm
-	| ShiftRightTerm | SizeOfTerm | StoreTerm | StringTerm
+	| ShiftRightTerm | SizeOfTerm | StoreTerm
 	| SubtractTerm | ToBCDTerm | WaitTerm | XorTerm | UserTerm
+	| ToBufferTerm | ToDecimalStringTerm | ToHexStringTerm | ToIntegerTerm
+	| ToStringTerm
 	/*
 	 * A Type2Opcode term returns a value that can be used
 	 * inan expression.
@@ -501,12 +502,13 @@
 Type3Opcode
 	: AddTerm | AndTerm | DecTerm | DivideTerm | EISAIDTerm
 	| FindSetLeftBitTerm | FindSetRightBitTerm | FromBCDTerm
-	| IncTerm | IndexTerm | IntTerm | LAndTerm | LEqualTerm
+	| IncTerm | IndexTerm | LAndTerm | LEqualTerm
 	| LGreaterTerm | LGreaterEqualTerm | LLessTerm
 	| LLessEqualTerm | LNotTerm | LNotEqualTerm | LOrTerm
 	| MatchTerm | ModTerm | MultiplyTerm | NAndTerm | NOrTerm
 	| NotTerm | OrTerm | ShiftLeftTerm | ShiftRightTerm
 	| SubtractTerm | ToBCDTerm | XorTerm
+	| ToIntegerTerm
 	/*
 	 * A Type3Opcode evaluates to an Integer, can't have a
 	 * destination and must have either Type3Opcode,
@@ -517,7 +519,7 @@
 
 
 Type4Opcode
-	: ConcatTerm | DecStrTerm | HexStrTerm | MidTerm | StringTerm
+	: ConcatTerm | ToDecimalStringTerm | ToHexStringTerm | MidTerm | ToStringTerm
 	/*
 	 * A Type4Opcode evaluates to an String, can't have a
 	 * destination and must have either Type3Opcode,
@@ -528,8 +530,9 @@
 
 
 Type5Opcode
-	: BuffTerm | ConcatTerm | ConcatResTerm | MidTerm
+	: ConcatTerm | ConcatResTerm | MidTerm
 	| ResourceTemplateTerm | UnicodeTerm
+	| ToBufferTerm
 	/*
 	 * A Type5Opcode evaluates to a BufferTerm, can't
 	 * have a destination and must have either Type3Opcode,
@@ -1401,11 +1404,11 @@
 	;
 
 
-BuffTerm
+ToBufferTerm
 	: TOK_BUFF
 		{
 			symtree_moveptr(symtree_new(SYMTYPE_BuffTerm,
-						    "BuffTerm"));
+						    "ToBufferTerm"));
 		}
 	  '(' TermArg OptionalTarget ')'
 		{
@@ -1481,11 +1484,11 @@
 	;
 
 
-DecStrTerm
+ToDecimalStringTerm
 	: TOK_DECSTR
 		{
 			symtree_moveptr(symtree_new(SYMTYPE_DecStrTerm,
-						    "DecStrTerm"));
+						    "ToDecimalStringTerm"));
 		}
 	  '(' TermArg OptionalTarget ')'
 		{
@@ -1564,11 +1567,11 @@
 	;
 
 
-HexStrTerm
+ToHexStringTerm
 	: TOK_HEXSTR
 		{
 			symtree_moveptr(symtree_new(SYMTYPE_HexStrTerm,
-						    "HexStrTerm"));
+						    "ToHexStringTerm"));
 		}
 	  '(' TermArg OptionalTarget ')'
 		{
@@ -1603,11 +1606,11 @@
 	;
 
 
-IntTerm
+ToIntegerTerm
 	: TOK_INT
 		{
 			symtree_moveptr(symtree_new(SYMTYPE_IntTerm,
-						    "IntTerm"));
+						    "ToIntegerTerm"));
 		}
 	  '(' TermArg OptionalTarget ')'
 		{
@@ -1932,11 +1935,11 @@
 	;
 
 
-StringTerm
+ToStringTerm
 	: TOK_STRING
 		{
 			symtree_moveptr(symtree_new(SYMTYPE_StringTerm,
-						    "StringTerm"));
+						    "ToStringTerm"));
 		}
 	  '(' TermArg StringTermLength OptionalTarget ')'
 	;

----Next_Part(Thu_Dec__7_13:53:35_2000_82)----
