[Ooc-checkins] CVS: ooc2/src/OOC/AST/ExtTree CreateIR.Mod,1.14,1.15
Brought to you by:
mva
From: Michael v. A. <mv...@us...> - 2001-12-16 01:26:15
|
Update of /cvsroot/ooc/ooc2/src/OOC/AST/ExtTree In directory usw-pr-cvs1:/tmp/cvs-serv7338/src/OOC/AST/ExtTree Modified Files: CreateIR.Mod Log Message: added REPEAT statement and character constants to IR & SSA Index: CreateIR.Mod =================================================================== RCS file: /cvsroot/ooc/ooc2/src/OOC/AST/ExtTree/CreateIR.Mod,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- CreateIR.Mod 2001/12/15 15:27:48 1.14 +++ CreateIR.Mod 2001/12/16 01:26:12 1.15 @@ -98,6 +98,8 @@ RETURN b. NewStringConst (expr. sym) | Symbol.number10: RETURN b. NewIntConst10 (expr. sym) + | Symbol.number16X: + RETURN b. NewCharConst16 (expr. sym) END | expr: ExtTree.Factor DO @@ -209,6 +211,13 @@ RETURN else END IfStatm; + PROCEDURE RepeatStatm (repeatStatm: ExtTree.RepeatStatm): IR.Statement; + BEGIN + RETURN b. NewRepeatStatm (repeatStatm. repeat. sym, + StatementSeq (repeatStatm. statmSeq), + Expr (repeatStatm. expr)); + END RepeatStatm; + BEGIN (* count number of statements, allocate array to hold IR of sequence *) count := 0; @@ -235,7 +244,10 @@ | n: ExtTree.IfStatm DO statm := IfStatm (n) - + + | n: ExtTree.RepeatStatm DO + statm := RepeatStatm (n) + ELSE Log.Type("++ Unknown type in StatementSeq", n); ASSERT (FALSE) |