Author: bernhard
Date: Sat Apr 29 08:02:04 2006
New Revision: 12456
Modified:
trunk/languages/bc/grammar/antlr_2/antlr_past2pir_past.g
trunk/languages/bc/python/lib/antlr_past2pir_past/AntlrPast2PirPastTreeWalker.py
Log:
Bring 'Parrot bc' up to par with Punie refactoring in r12453.
Modified: trunk/languages/bc/grammar/antlr_2/antlr_past2pir_past.g
==============================================================================
--- trunk/languages/bc/grammar/antlr_2/antlr_past2pir_past.g (original)
+++ trunk/languages/bc/grammar/antlr_2/antlr_past2pir_past.g Sat Apr 29
08:02:04 2006
@@ -42,18 +42,14 @@
: #(PAST_Stmts PEPN:code_blocks )
{
pir_before = """
-.local pmc stmts_children
-stmts_children = new .ResizablePMCArray
-#"""
- pir_after = """
.local pmc stmts
stmts = new 'PAST::Stmts'
-
-stmts.set_node('1', 1, stmts_children)
+stmts.'source'('1')
+stmts.'pos'(1)
#"""
- #gen_pir_past = #( [ PIR_OP, pir_before ], #PEPN, [PIR_OP, pir_after] );
+ #gen_pir_past = #( [ PIR_OP, pir_before ], #PEPN );
}
;
@@ -64,23 +60,25 @@
stmt!
: #( PAST_Stmt reg_E=E:exp )
{
- reg = self.reg
+ reg = self.reg;
self.reg = self.reg + 10;
pir = """
$P%d = new 'PAST::Stmt'
- $P%d = new .ResizablePMCArray
- push $P%d, $P%d
- $P%d.set_node('1', 1 ,$P%d)
+ $P%d.'add_child'( $P%d )
+ $P%d.'source'('1')
+ $P%d.'pos'(1)
- push stmts_children, $P%d
+ stmts.'add_child'( $P%d )
#""" % (
reg,
- reg + 1,
- reg + 1, reg_E,
- reg, reg + 1,
- reg
- )
+
+ reg, reg_E,
+ reg,
+ reg,
+
+ reg,
+ );
#stmt = #( [ PIR_NOOP, "noop" ], #E, [PIR_OP, pir] );
}
@@ -93,17 +91,17 @@
self.reg = self.reg + 10;
pir = """
$P%d = new 'PAST::Exp'
- $P%d = new .ResizablePMCArray
- push $P%d, $P%d
- $P%d.set_node('1', 1, $P%d)
+ $P%d.'add_child'( $P%d )
+ $P%d.'source'('1')
+ $P%d.'pos'(1)
#""" % (
reg,
- reg + 1,
- reg + 1, reg_O,
- reg, reg + 1
- )
+ reg, reg_O,
+ reg,
+ reg,
+ );
#exp = #( [ PIR_NOOP, "noop" ], #O, [PIR_OP, pir] );
}
@@ -114,16 +112,16 @@
self.reg = self.reg + 10;
pir = """
$P%d = new 'PAST::Exp'
- $P%d = new .ResizablePMCArray
- push $P%d, $P%d
- $P%d.set_node('1', 1, $P%d)
+ $P%d.'add_child'( $P%d )
+ $P%d.'source'('1')
+ $P%d.'pos'(1)
#""" % (
reg,
- reg + 1,
- reg + 1, reg_V_STRQQ,
- reg, reg + 1
+ reg, reg_V_STRQQ,
+ reg,
+ reg,
)
#exp = #( [ PIR_NOOP, "noop" ], #V_STRQQ, [PIR_OP, pir] );
@@ -135,16 +133,16 @@
self.reg = self.reg + 10;
pir = """
$P%d = new 'PAST::Exp'
- $P%d = new .ResizablePMCArray
- push $P%d, $P%d
- $P%d.set_node('1', 1, $P%d)
+ $P%d.'add_child'( $P%d )
+ $P%d.'source'('1')
+ $P%d.'pos'(1)
#""" % (
reg,
- reg + 1,
- reg + 1, reg_V_NUM,
- reg, reg + 1
+ reg, reg_V_NUM,
+ reg,
+ reg,
)
#exp = #( [ PIR_NOOP, "noop" ], #V_NUM, [PIR_OP, pir] );
@@ -160,16 +158,18 @@
self.reg = self.reg + 10;
pir = """
$P%d = new 'PAST::Op'
- $P%d = new .ResizablePMCArray
- push $P%d, $P%d
- $P%d.set_node('1', 1, 'print' ,$P%d)
+ $P%d.'add_child'( $P%d )
+ $P%d.'op'('print')
+ $P%d.'source'('1')
+ $P%d.'pos'(1)
#""" % (
reg,
- reg + 1,
- reg + 1, reg_E,
- reg, reg + 1
+ reg, reg_E,
+ reg,
+ reg,
+ reg,
)
#op = #( [ PIR_NOOP, "noop" ], #E, [PIR_OP, pir] );
@@ -183,9 +183,12 @@
self.reg = self.reg + 10;
pir = """
$P%d = new 'PAST::Val'
- $P%d.set_node( '1', 0, '%s' )
- $P%d.valtype( 'strqq' )
-#""" % ( reg, reg, V.getText(), reg )
+ $P%d.'value'( '%s' )
+ $P%d.'valtype'( 'strqq' )
+#""" % ( reg,
+ reg, V.getText(),
+ reg,
+ )
#val_strqq = #( [PIR_OP, pir] );
}
@@ -198,10 +201,13 @@
self.reg = self.reg + 10;
pir = """
$P%d = new 'PAST::Val'
- $P%d.set_node( '1', 0, '%s' )
- $P%d.valtype( 'num' )
-#""" % ( reg, reg, V.getText(), reg )
-
+ $P%d.'value'( '%s' )
+ $P%d.'valtype'( 'num' )
+#""" % ( reg,
+ reg, V.getText(),
+ reg,
+ )
+
#val_num = #( [PIR_OP, pir] );
}
;
Modified:
trunk/languages/bc/python/lib/antlr_past2pir_past/AntlrPast2PirPastTreeWalker.py
==============================================================================
---
trunk/languages/bc/python/lib/antlr_past2pir_past/AntlrPast2PirPastTreeWalker.py
(original)
+++
trunk/languages/bc/python/lib/antlr_past2pir_past/AntlrPast2PirPastTreeWalker.py
Sat Apr 29 08:02:04 2006
@@ -117,18 +117,14 @@
_t = _t.getNextSibling()
gen_pir_past_AST = currentAST.root
pir_before = """
- .local pmc stmts_children
- stmts_children = new .ResizablePMCArray
- #"""
- pir_after = """
.local pmc stmts
stmts = new 'PAST::Stmts'
-
- stmts.set_node('1', 1, stmts_children)
+ stmts.'source'('1')
+ stmts.'pos'(1)
#"""
- gen_pir_past_AST =
antlr.make(self.astFactory.create(PIR_OP,pir_before), PEPN_AST,
self.astFactory.create(PIR_OP,pir_after));
+ gen_pir_past_AST =
antlr.make(self.astFactory.create(PIR_OP,pir_before), PEPN_AST);
currentAST.root = gen_pir_past_AST
if (gen_pir_past_AST != None) and
(gen_pir_past_AST.getFirstChild() != None):
currentAST.child = gen_pir_past_AST.getFirstChild()
@@ -226,23 +222,25 @@
_t = _t8
_t = _t.getNextSibling()
stmt_AST = currentAST.root
- reg = self.reg
+ reg = self.reg;
self.reg = self.reg + 10;
pir = """
$P%d = new 'PAST::Stmt'
- $P%d = new .ResizablePMCArray
- push $P%d, $P%d
- $P%d.set_node('1', 1 ,$P%d)
+ $P%d.'add_child'( $P%d )
+ $P%d.'source'('1')
+ $P%d.'pos'(1)
- push stmts_children, $P%d
+ stmts.'add_child'( $P%d )
#""" % (
reg,
- reg + 1,
- reg + 1, reg_E,
- reg, reg + 1,
- reg
- )
+
+ reg, reg_E,
+ reg,
+ reg,
+
+ reg,
+ );
stmt_AST = antlr.make(self.astFactory.create(PIR_NOOP,"noop"),
E_AST, self.astFactory.create(PIR_OP,pir));
currentAST.root = stmt_AST
@@ -303,17 +301,17 @@
self.reg = self.reg + 10;
pir = """
$P%d = new 'PAST::Exp'
- $P%d = new .ResizablePMCArray
- push $P%d, $P%d
- $P%d.set_node('1', 1, $P%d)
+ $P%d.'add_child'( $P%d )
+ $P%d.'source'('1')
+ $P%d.'pos'(1)
#""" % (
reg,
- reg + 1,
- reg + 1, reg_O,
- reg, reg + 1
- )
+ reg, reg_O,
+ reg,
+ reg,
+ );
exp_AST = antlr.make(self.astFactory.create(PIR_NOOP,"noop"),
O_AST, self.astFactory.create(PIR_OP,pir));
currentAST.root = exp_AST
@@ -333,16 +331,16 @@
self.reg = self.reg + 10;
pir = """
$P%d = new 'PAST::Exp'
- $P%d = new .ResizablePMCArray
- push $P%d, $P%d
- $P%d.set_node('1', 1, $P%d)
+ $P%d.'add_child'( $P%d )
+ $P%d.'source'('1')
+ $P%d.'pos'(1)
#""" % (
reg,
- reg + 1,
- reg + 1, reg_V_STRQQ,
- reg, reg + 1
+ reg, reg_V_STRQQ,
+ reg,
+ reg,
)
exp_AST = antlr.make(self.astFactory.create(PIR_NOOP,"noop"),
V_STRQQ_AST, self.astFactory.create(PIR_OP,pir));
@@ -363,16 +361,16 @@
self.reg = self.reg + 10;
pir = """
$P%d = new 'PAST::Exp'
- $P%d = new .ResizablePMCArray
- push $P%d, $P%d
- $P%d.set_node('1', 1, $P%d)
+ $P%d.'add_child'( $P%d )
+ $P%d.'source'('1')
+ $P%d.'pos'(1)
#""" % (
reg,
- reg + 1,
- reg + 1, reg_V_NUM,
- reg, reg + 1
+ reg, reg_V_NUM,
+ reg,
+ reg,
)
exp_AST = antlr.make(self.astFactory.create(PIR_NOOP,"noop"),
V_NUM_AST, self.astFactory.create(PIR_OP,pir));
@@ -433,16 +431,18 @@
self.reg = self.reg + 10;
pir = """
$P%d = new 'PAST::Op'
- $P%d = new .ResizablePMCArray
- push $P%d, $P%d
- $P%d.set_node('1', 1, 'print' ,$P%d)
+ $P%d.'add_child'( $P%d )
+ $P%d.'op'('print')
+ $P%d.'source'('1')
+ $P%d.'pos'(1)
#""" % (
reg,
- reg + 1,
- reg + 1, reg_E,
- reg, reg + 1
+ reg, reg_E,
+ reg,
+ reg,
+ reg,
)
op_AST = antlr.make(self.astFactory.create(PIR_NOOP,"noop"),
E_AST, self.astFactory.create(PIR_OP,pir));
@@ -485,9 +485,12 @@
self.reg = self.reg + 10;
pir = """
$P%d = new 'PAST::Val'
- $P%d.set_node( '1', 0, '%s' )
- $P%d.valtype( 'strqq' )
- #""" % ( reg, reg, V.getText(), reg )
+ $P%d.'value'( '%s' )
+ $P%d.'valtype'( 'strqq' )
+ #""" % ( reg,
+ reg, V.getText(),
+ reg,
+ )
val_strqq_AST = antlr.make(self.astFactory.create(PIR_OP,pir));
currentAST.root = val_strqq_AST
@@ -529,9 +532,12 @@
self.reg = self.reg + 10;
pir = """
$P%d = new 'PAST::Val'
- $P%d.set_node( '1', 0, '%s' )
- $P%d.valtype( 'num' )
- #""" % ( reg, reg, V.getText(), reg )
+ $P%d.'value'( '%s' )
+ $P%d.'valtype'( 'num' )
+ #""" % ( reg,
+ reg, V.getText(),
+ reg,
+ )
val_num_AST = antlr.make(self.astFactory.create(PIR_OP,pir));
currentAST.root = val_num_AST