From e47f0574037bb6efe62c92e6bc97a07c14ed8a01 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Wed, 15 Feb 2006 00:00:45 +0000 Subject: [PATCH] checking in new files --- Robust/src/IR/Tree/AssignmentNode.java | 18 +++ Robust/src/IR/Tree/BlockExpressionNode.java | 12 ++ Robust/src/IR/Tree/BlockNode.java | 23 ++++ Robust/src/IR/Tree/BlockStatementNode.java | 11 ++ Robust/src/IR/Tree/BuildIR.java | 138 +++++++++++++++++++- Robust/src/IR/Tree/ClassNode.java | 12 +- Robust/src/IR/Tree/CreateObjectNode.java | 27 ++++ Robust/src/IR/Tree/DeclarationNode.java | 14 ++ Robust/src/IR/Tree/FieldAccessNode.java | 15 +++ Robust/src/IR/Tree/IfStatementNode.java | 21 +++ Robust/src/IR/Tree/LoopNode.java | 11 ++ Robust/src/IR/Tree/MethodInvokeNode.java | 44 +++++++ Robust/src/IR/Tree/NameNode.java | 13 ++ Robust/src/IR/Tree/ReturnNode.java | 21 +++ Robust/src/IR/Tree/SubBlockNode.java | 13 ++ Robust/src/Parse/java14.cup | 71 +++++----- 16 files changed, 416 insertions(+), 48 deletions(-) create mode 100644 Robust/src/IR/Tree/AssignmentNode.java create mode 100644 Robust/src/IR/Tree/BlockExpressionNode.java create mode 100644 Robust/src/IR/Tree/BlockNode.java create mode 100644 Robust/src/IR/Tree/BlockStatementNode.java create mode 100644 Robust/src/IR/Tree/CreateObjectNode.java create mode 100644 Robust/src/IR/Tree/DeclarationNode.java create mode 100644 Robust/src/IR/Tree/FieldAccessNode.java create mode 100644 Robust/src/IR/Tree/IfStatementNode.java create mode 100644 Robust/src/IR/Tree/LoopNode.java create mode 100644 Robust/src/IR/Tree/MethodInvokeNode.java create mode 100644 Robust/src/IR/Tree/NameNode.java create mode 100644 Robust/src/IR/Tree/ReturnNode.java create mode 100644 Robust/src/IR/Tree/SubBlockNode.java diff --git a/Robust/src/IR/Tree/AssignmentNode.java b/Robust/src/IR/Tree/AssignmentNode.java new file mode 100644 index 00000000..d2d6082a --- /dev/null +++ b/Robust/src/IR/Tree/AssignmentNode.java @@ -0,0 +1,18 @@ +package IR.Tree; +import IR.AssignOperation; + +public class AssignmentNode extends ExpressionNode { + ExpressionNode left; + ExpressionNode right; + AssignOperation op; + + public AssignmentNode(ExpressionNode l, ExpressionNode r, AssignOperation op) { + left=l; + right=r; + this.op=op; + } + + public String printNode() { + return left.printNode()+" "+op.toString()+" "+right.printNode(); + } +} diff --git a/Robust/src/IR/Tree/BlockExpressionNode.java b/Robust/src/IR/Tree/BlockExpressionNode.java new file mode 100644 index 00000000..75824b11 --- /dev/null +++ b/Robust/src/IR/Tree/BlockExpressionNode.java @@ -0,0 +1,12 @@ +package IR.Tree; + +class BlockExpressionNode extends BlockStatementNode { + ExpressionNode en; + public BlockExpressionNode(ExpressionNode e) { + this.en=e; + } + + public String printNode() { + return en.printNode()+";"; + } +} diff --git a/Robust/src/IR/Tree/BlockNode.java b/Robust/src/IR/Tree/BlockNode.java new file mode 100644 index 00000000..b7d87196 --- /dev/null +++ b/Robust/src/IR/Tree/BlockNode.java @@ -0,0 +1,23 @@ +package IR.Tree; +import java.util.Vector; + +class BlockNode extends TreeNode { + Vector blockstatements; + public BlockNode() { + blockstatements=new Vector(); + } + + public void addBlockStatement(BlockStatementNode bsn) { + blockstatements.add(bsn); + } + + public String printNode() { + String st="{\n"; + for(int i=0;i