[phc-internals] [phc commit] r1276 - in trunk/src: ast_to_hir generated generated_src hir_to_mir process_hir

codesite-noreply at google.com codesite-noreply at google.com
Wed Jun 4 00:06:14 IST 2008


Author: paul.biggar
Date: Tue Jun  3 16:05:12 2008
New Revision: 1276

Modified:
   trunk/src/ast_to_hir/AST_to_HIR.h
   trunk/src/generated/HIR-contexts
   trunk/src/generated/HIR.cpp
   trunk/src/generated/HIR.h
   trunk/src/generated/HIR_factory.cpp
   trunk/src/generated/HIR_fold.h
   trunk/src/generated/HIR_transform.cpp
   trunk/src/generated/HIR_transform.h
   trunk/src/generated/HIR_visitor.cpp
   trunk/src/generated/HIR_visitor.h
   trunk/src/generated_src/hir.tea
   trunk/src/hir_to_mir/HIR_to_MIR.h
   trunk/src/process_hir/HIR_to_AST.h

Log:
Op_assignment is not used in the HIR, and can be removed.


Modified: trunk/src/ast_to_hir/AST_to_HIR.h
==============================================================================
--- trunk/src/ast_to_hir/AST_to_HIR.h	(original)
+++ trunk/src/ast_to_hir/AST_to_HIR.h	Tue Jun  3 16:05:12 2008
@@ -62,7 +62,7 @@
  HIR::Expr*,				// Expr*
  HIR::Literal*,				// Literal*
  HIR::Expr*,			// Assignment*
- HIR::Op_assignment*,				// Op_assignment*
+ HIR::Expr*,				// Op_assignment*
  HIR::Expr*,				// List_assignment*
  HIR::Expr*,				// List_element*
  HIR::Expr*,				// Nested_list_elements*
@@ -310,14 +310,6 @@
 	{
 		HIR::If* result;
 		result = new HIR::If (expr_to_var_name (expr), iftrue, iffalse);
-		copy_attrs (result, orig);
-		return result;
-	}
-
-	HIR::Op_assignment* fold_impl_op_assignment(AST::Op_assignment* orig, 
HIR::Variable* variable, HIR::OP* op, HIR::Expr* expr)
-	{
-		HIR::Op_assignment* result;
-		result = new HIR::Op_assignment (variable, op, expr);
 		copy_attrs (result, orig);
 		return result;
 	}

Modified: trunk/src/generated/HIR-contexts
==============================================================================
--- trunk/src/generated/HIR-contexts	(original)
+++ trunk/src/generated/HIR-contexts	Tue Jun  3 16:05:12 2008
@@ -32,7 +32,6 @@
 (Method_name,Method_name,)
 (Name_with_default,Name_with_default,)
 (New,Expr,)
-(Op_assignment,Expr,)
 (Pre_op,Expr,)
 (Reflection,Reflection,)
 (Return,Statement,*)

Modified: trunk/src/generated/HIR.cpp
==============================================================================
--- trunk/src/generated/HIR.cpp	(original)
+++ trunk/src/generated/HIR.cpp	Tue Jun  3 16:05:12 2008
@@ -5196,44 +5196,44 @@
     Node::assert_mixin_valid();
 }

-OP::OP(String* value)
+CAST::CAST(String* value)
 {
     this->value = value;
 }

-OP::OP()
+CAST::CAST()
 {
     this->value = 0;
 }

-void OP::visit(Visitor* visitor)
+void CAST::visit(Visitor* visitor)
 {
-    visitor->visit_op(this);
+    visitor->visit_cast(this);
 }

-void OP::transform_children(Transform* transform)
+void CAST::transform_children(Transform* transform)
 {
-    transform->children_op(this);
+    transform->children_cast(this);
 }

-String* OP::get_value_as_string()
+String* CAST::get_value_as_string()
 {
     return value;
 }

-int OP::classid()
+int CAST::classid()
 {
     return ID;
 }

-bool OP::match(Node* in)
+bool CAST::match(Node* in)
 {
     __WILDCARD__* joker;
     joker = dynamic_cast<__WILDCARD__*>(in);
     if(joker != NULL && joker->match(this))
     	return true;

-    OP* that = dynamic_cast<OP*>(in);
+    CAST* that = dynamic_cast<CAST*>(in);
     if(that == NULL) return false;

     if(this->value != NULL && that->value != NULL)
@@ -5242,9 +5242,9 @@
     	return true;
 }

-bool OP::equals(Node* in)
+bool CAST::equals(Node* in)
 {
-    OP* that = dynamic_cast<OP*>(in);
+    CAST* that = dynamic_cast<CAST*>(in);
     if(that == NULL) return false;

     if(this->value == NULL || that->value == NULL)
@@ -5259,15 +5259,15 @@
     return true;
 }

-OP* OP::clone()
+CAST* CAST::clone()
 {
     String* value = new String(*this->value);
-    OP* clone = new OP(value);
+    CAST* clone = new CAST(value);
     clone->Node::clone_mixin_from(this);
     return clone;
 }

-Node* OP::find(Node* in)
+Node* CAST::find(Node* in)
 {
     if (this->match (in))
     	return this;
@@ -5275,56 +5275,56 @@
     return NULL;
 }

-void OP::find_all(Node* in, List<Node*>* out)
+void CAST::find_all(Node* in, List<Node*>* out)
 {
     if (this->match (in))
     	out->push_back (this);
 }

-void OP::assert_valid()
+void CAST::assert_valid()
 {
     assert(value != NULL);
     Node::assert_mixin_valid();
 }

-CAST::CAST(String* value)
+OP::OP(String* value)
 {
     this->value = value;
 }

-CAST::CAST()
+OP::OP()
 {
     this->value = 0;
 }

-void CAST::visit(Visitor* visitor)
+void OP::visit(Visitor* visitor)
 {
-    visitor->visit_cast(this);
+    visitor->visit_op(this);
 }

-void CAST::transform_children(Transform* transform)
+void OP::transform_children(Transform* transform)
 {
-    transform->children_cast(this);
+    transform->children_op(this);
 }

-String* CAST::get_value_as_string()
+String* OP::get_value_as_string()
 {
     return value;
 }

-int CAST::classid()
+int OP::classid()
 {
     return ID;
 }

-bool CAST::match(Node* in)
+bool OP::match(Node* in)
 {
     __WILDCARD__* joker;
     joker = dynamic_cast<__WILDCARD__*>(in);
     if(joker != NULL && joker->match(this))
     	return true;

-    CAST* that = dynamic_cast<CAST*>(in);
+    OP* that = dynamic_cast<OP*>(in);
     if(that == NULL) return false;

     if(this->value != NULL && that->value != NULL)
@@ -5333,9 +5333,9 @@
     	return true;
 }

-bool CAST::equals(Node* in)
+bool OP::equals(Node* in)
 {
-    CAST* that = dynamic_cast<CAST*>(in);
+    OP* that = dynamic_cast<OP*>(in);
     if(that == NULL) return false;

     if(this->value == NULL || that->value == NULL)
@@ -5350,15 +5350,15 @@
     return true;
 }

-CAST* CAST::clone()
+OP* OP::clone()
 {
     String* value = new String(*this->value);
-    CAST* clone = new CAST(value);
+    OP* clone = new OP(value);
     clone->Node::clone_mixin_from(this);
     return clone;
 }

-Node* CAST::find(Node* in)
+Node* OP::find(Node* in)
 {
     if (this->match (in))
     	return this;
@@ -5366,13 +5366,13 @@
     return NULL;
 }

-void CAST::find_all(Node* in, List<Node*>* out)
+void OP::find_all(Node* in, List<Node*>* out)
 {
     if (this->match (in))
     	out->push_back (this);
 }

-void CAST::assert_valid()
+void OP::assert_valid()
 {
     assert(value != NULL);
     Node::assert_mixin_valid();
@@ -5546,177 +5546,6 @@

 Literal::Literal()
 {
-}
-
-Op_assignment::Op_assignment(Variable* variable, OP* op, Expr* expr)
-{
-    this->variable = variable;
-    this->op = op;
-    this->expr = expr;
-}
-
-Op_assignment::Op_assignment()
-{
-    this->variable = 0;
-    this->op = 0;
-    this->expr = 0;
-}
-
-void Op_assignment::visit(Visitor* visitor)
-{
-    visitor->visit_expr(this);
-}
-
-void Op_assignment::transform_children(Transform* transform)
-{
-    transform->children_expr(this);
-}
-
-int Op_assignment::classid()
-{
-    return ID;
-}
-
-bool Op_assignment::match(Node* in)
-{
-    __WILDCARD__* joker;
-    joker = dynamic_cast<__WILDCARD__*>(in);
-    if(joker != NULL && joker->match(this))
-    	return true;
-
-    Op_assignment* that = dynamic_cast<Op_assignment*>(in);
-    if(that == NULL) return false;
-
-    if(this->variable == NULL)
-    {
-    	if(that->variable != NULL && !that->variable->match(this->variable))
-    		return false;
-    }
-    else if(!this->variable->match(that->variable))
-    	return false;
-
-    if(this->op == NULL)
-    {
-    	if(that->op != NULL && !that->op->match(this->op))
-    		return false;
-    }
-    else if(!this->op->match(that->op))
-    	return false;
-
-    if(this->expr == NULL)
-    {
-    	if(that->expr != NULL && !that->expr->match(this->expr))
-    		return false;
-    }
-    else if(!this->expr->match(that->expr))
-    	return false;
-
-    return true;
-}
-
-bool Op_assignment::equals(Node* in)
-{
-    Op_assignment* that = dynamic_cast<Op_assignment*>(in);
-    if(that == NULL) return false;
-
-    if(this->variable == NULL || that->variable == NULL)
-    {
-    	if(this->variable != NULL || that->variable != NULL)
-    		return false;
-    }
-    else if(!this->variable->equals(that->variable))
-    	return false;
-
-    if(this->op == NULL || that->op == NULL)
-    {
-    	if(this->op != NULL || that->op != NULL)
-    		return false;
-    }
-    else if(!this->op->equals(that->op))
-    	return false;
-
-    if(this->expr == NULL || that->expr == NULL)
-    {
-    	if(this->expr != NULL || that->expr != NULL)
-    		return false;
-    }
-    else if(!this->expr->equals(that->expr))
-    	return false;
-
-    if(!Node::is_mixin_equal(that)) return false;
-    return true;
-}
-
-Op_assignment* Op_assignment::clone()
-{
-    Variable* variable = this->variable ? this->variable->clone() : NULL;
-    OP* op = this->op ? this->op->clone() : NULL;
-    Expr* expr = this->expr ? this->expr->clone() : NULL;
-    Op_assignment* clone = new Op_assignment(variable, op, expr);
-    clone->Node::clone_mixin_from(this);
-    return clone;
-}
-
-Node* Op_assignment::find(Node* in)
-{
-    if (this->match (in))
-    	return this;
-
-    if (this->variable != NULL)
-    {
-    	Node* variable_res = this->variable->find(in);
-    	if (variable_res) return variable_res;
-    }
-
-    if (this->op != NULL)
-    {
-    	Node* op_res = this->op->find(in);
-    	if (op_res) return op_res;
-    }
-
-    if (this->expr != NULL)
-    {
-    	Node* expr_res = this->expr->find(in);
-    	if (expr_res) return expr_res;
-    }
-
-    return NULL;
-}
-
-void Op_assignment::find_all(Node* in, List<Node*>* out)
-{
-    if (this->match (in))
-    	out->push_back (this);
-
-    if (this->variable != NULL)
-    	this->variable->find_all(in, out);
-
-    if (this->op != NULL)
-    	this->op->find_all(in, out);
-
-    if (this->expr != NULL)
-    	this->expr->find_all(in, out);
-
-}
-
-void Op_assignment::assert_valid()
-{
-    assert(variable != NULL);
-    variable->assert_valid();
-    assert(op != NULL);
-    op->assert_valid();
-    assert(expr != NULL);
-    expr->assert_valid();
-    Node::assert_mixin_valid();
-}
-
-Op_assignment::Op_assignment(Variable* variable, const char* op, Expr* expr)
-{
-    {
-      this->variable = variable;
-      this->op = new OP(new String(op));
-      this->expr = expr;
-   }
 }

 Cast::Cast(CAST* cast, VARIABLE_NAME* variable_name)

Modified: trunk/src/generated/HIR.h
==============================================================================
--- trunk/src/generated/HIR.h	(original)
+++ trunk/src/generated/HIR.h	Tue Jun  3 16:05:12 2008
@@ -62,12 +62,11 @@
 class INTERFACE_NAME;
 class METHOD_NAME;
 class VARIABLE_NAME;
-class OP;
 class CAST;
+class OP;
 class CONSTANT_NAME;
 class Foreign_expr;
 class Literal;
-class Op_assignment;
 class Cast;
 class Unary_op;
 class Bin_op;
@@ -550,7 +549,7 @@
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
 public:
-    static const int ID = 38;
+    static const int ID = 37;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -604,7 +603,7 @@
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
 public:
-    static const int ID = 40;
+    static const int ID = 39;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1158,7 +1157,7 @@
     Foreign_statement(IR ::Node* foreign);
 };

-// Expr ::= Cast | Unary_op | Bin_op | Constant | Instanceof | 
Variable | Pre_op | Method_invocation | New | Literal | Op_assignment | 
Array | Foreign_expr;
+// Expr ::= Cast | Unary_op | Bin_op | Constant | Instanceof | 
Variable | Pre_op | Method_invocation | New | Literal | Array | Foreign_expr;
 class Expr : virtual public Target
 {
 public:
@@ -1226,7 +1225,7 @@
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
 public:
-    static const int ID = 35;
+    static const int ID = 34;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1255,7 +1254,7 @@
     String* value;
     virtual String* get_value_as_string();
 public:
-    static const int ID = 42;
+    static const int ID = 41;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1284,7 +1283,7 @@
     String* value;
     virtual String* get_value_as_string();
 public:
-    static const int ID = 43;
+    static const int ID = 42;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1313,7 +1312,7 @@
     String* value;
     virtual String* get_value_as_string();
 public:
-    static const int ID = 44;
+    static const int ID = 43;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1342,7 +1341,7 @@
     String* value;
     virtual String* get_value_as_string();
 public:
-    static const int ID = 45;
+    static const int ID = 44;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1358,12 +1357,12 @@
     virtual void assert_valid();
 };

-class OP : virtual public Identifier
+class CAST : virtual public Identifier
 {
 public:
-    OP(String* value);
+    CAST(String* value);
 protected:
-    OP();
+    CAST();
 public:
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
@@ -1371,14 +1370,14 @@
     String* value;
     virtual String* get_value_as_string();
 public:
-    static const int ID = 51;
+    static const int ID = 50;
     virtual int classid();
 public:
     virtual bool match(Node* in);
 public:
     virtual bool equals(Node* in);
 public:
-    virtual OP* clone();
+    virtual CAST* clone();
 public:
     virtual Node* find(Node* in);
 public:
@@ -1387,12 +1386,12 @@
     virtual void assert_valid();
 };

-class CAST : virtual public Identifier
+class OP : virtual public Identifier
 {
 public:
-    CAST(String* value);
+    OP(String* value);
 protected:
-    CAST();
+    OP();
 public:
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
@@ -1400,14 +1399,14 @@
     String* value;
     virtual String* get_value_as_string();
 public:
-    static const int ID = 52;
+    static const int ID = 51;
     virtual int classid();
 public:
     virtual bool match(Node* in);
 public:
     virtual bool equals(Node* in);
 public:
-    virtual CAST* clone();
+    virtual OP* clone();
 public:
     virtual Node* find(Node* in);
 public:
@@ -1429,7 +1428,7 @@
     String* value;
     virtual String* get_value_as_string();
 public:
-    static const int ID = 53;
+    static const int ID = 52;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1498,39 +1497,6 @@
     virtual String* get_value_as_string() = 0;
 };

-// Op_assignment ::= Variable OP Expr ;
-class Op_assignment : virtual public Expr
-{
-public:
-    Op_assignment(Variable* variable, OP* op, Expr* expr);
-protected:
-    Op_assignment();
-public:
-    Variable* variable;
-    OP* op;
-    Expr* expr;
-public:
-    virtual void visit(Visitor* visitor);
-    virtual void transform_children(Transform* transform);
-public:
-    static const int ID = 28;
-    virtual int classid();
-public:
-    virtual bool match(Node* in);
-public:
-    virtual bool equals(Node* in);
-public:
-    virtual Op_assignment* clone();
-public:
-    virtual Node* find(Node* in);
-public:
-    virtual void find_all(Node* in, List<Node*>* out);
-public:
-    virtual void assert_valid();
-public:
-    Op_assignment(Variable* variable, const char* op, Expr* expr);
-};
-
 // Cast ::= CAST VARIABLE_NAME ;
 class Cast : virtual public Expr
 {
@@ -1545,7 +1511,7 @@
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
 public:
-    static const int ID = 29;
+    static const int ID = 28;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1577,7 +1543,7 @@
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
 public:
-    static const int ID = 30;
+    static const int ID = 29;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1610,7 +1576,7 @@
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
 public:
-    static const int ID = 31;
+    static const int ID = 30;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1642,7 +1608,7 @@
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
 public:
-    static const int ID = 32;
+    static const int ID = 31;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1672,7 +1638,7 @@
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
 public:
-    static const int ID = 33;
+    static const int ID = 32;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1703,7 +1669,7 @@
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
 public:
-    static const int ID = 34;
+    static const int ID = 33;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1736,7 +1702,7 @@
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
 public:
-    static const int ID = 36;
+    static const int ID = 35;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1767,7 +1733,7 @@
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
 public:
-    static const int ID = 37;
+    static const int ID = 36;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1798,7 +1764,7 @@
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
 public:
-    static const int ID = 39;
+    static const int ID = 38;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1831,7 +1797,7 @@
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
 public:
-    static const int ID = 41;
+    static const int ID = 40;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1859,7 +1825,7 @@
 public:
     long value;
 public:
-    static const int ID = 46;
+    static const int ID = 45;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1898,7 +1864,7 @@
 public:
     double value;
 public:
-    static const int ID = 47;
+    static const int ID = 46;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1936,7 +1902,7 @@
 public:
     String* value;
 public:
-    static const int ID = 48;
+    static const int ID = 47;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -1971,7 +1937,7 @@
 public:
     bool value;
 public:
-    static const int ID = 49;
+    static const int ID = 48;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -2004,7 +1970,7 @@
     virtual void visit(Visitor* visitor);
     virtual void transform_children(Transform* transform);
 public:
-    static const int ID = 50;
+    static const int ID = 49;
     virtual int classid();
 public:
     virtual bool match(Node* in);
@@ -2104,7 +2070,7 @@
 		assert (0); // I'm not sure what this would mean
 	}
 public:
-	static const int ID = 54;
+	static const int ID = 53;
 	int classid()
 	{
 		return ID;

Modified: trunk/src/generated/HIR_factory.cpp
==============================================================================
--- trunk/src/generated/HIR_factory.cpp	(original)
+++ trunk/src/generated/HIR_factory.cpp	Tue Jun  3 16:05:12 2008
@@ -211,14 +211,6 @@
     	assert(i == args->end());
     	return new Assignment(variable, is_ref, expr);
     }
-    if(!strcmp(type_id, "Op_assignment"))
-    {
-    	Variable* variable = dynamic_cast<Variable*>(*i++);
-    	OP* op = dynamic_cast<OP*>(*i++);
-    	Expr* expr = dynamic_cast<Expr*>(*i++);
-    	assert(i == args->end());
-    	return new Op_assignment(variable, op, expr);
-    }
     if(!strcmp(type_id, "Cast"))
     {
     	CAST* cast = dynamic_cast<CAST*>(*i++);
@@ -336,17 +328,17 @@
     	assert(i == args->end());
     	return new VARIABLE_NAME(value);
     }
-    if(!strcmp(type_id, "OP"))
+    if(!strcmp(type_id, "CAST"))
     {
     	String* value = dynamic_cast<String*>(*i++);
     	assert(i == args->end());
-    	return new OP(value);
+    	return new CAST(value);
     }
-    if(!strcmp(type_id, "CAST"))
+    if(!strcmp(type_id, "OP"))
     {
     	String* value = dynamic_cast<String*>(*i++);
     	assert(i == args->end());
-    	return new CAST(value);
+    	return new OP(value);
     }
     if(!strcmp(type_id, "CONSTANT_NAME"))
     {

Modified: trunk/src/generated/HIR_fold.h
==============================================================================
--- trunk/src/generated/HIR_fold.h	(original)
+++ trunk/src/generated/HIR_fold.h	Tue Jun  3 16:05:12 2008
@@ -51,7 +51,6 @@
  class _Expr,
  class _Literal,
  class _Assignment,
- class _Op_assignment,
  class _Cast,
  class _Unary_op,
  class _Bin_op,
@@ -79,8 +78,8 @@
  class _STRING,
  class _BOOL,
  class _NIL,
- class _OP,
  class _CAST,
+ class _OP,
  class _CONSTANT_NAME>
 class Fold
 {
@@ -424,17 +423,6 @@
 		return fold_impl_assignment(in, variable, is_ref, expr);
 	}

-	virtual _Op_assignment fold_op_assignment(Op_assignment* in)
-	{
-		_Variable variable = 0;
-		if(in->variable != NULL) variable = fold_variable(in->variable);
-		_OP op = 0;
-		if(in->op != NULL) op = fold_op(in->op);
-		_Expr expr = 0;
-		if(in->expr != NULL) expr = fold_expr(in->expr);
-		return fold_impl_op_assignment(in, variable, op, expr);
-	}
-
 	virtual _Cast fold_cast(Cast* in)
 	{
 		_CAST cast = 0;
@@ -614,7 +602,6 @@
  	virtual _Foreign_statement 
fold_impl_foreign_statement(Foreign_statement* orig) { assert(0); };
  	virtual _Foreign_expr fold_impl_foreign_expr(Foreign_expr* orig) { 
assert(0); };
  	virtual _Assignment fold_impl_assignment(Assignment* orig, _Variable 
variable, bool is_ref, _Expr expr) { assert(0); };
-	virtual _Op_assignment fold_impl_op_assignment(Op_assignment* orig, 
_Variable variable, _OP op, _Expr expr) { assert(0); };
  	virtual _Cast fold_impl_cast(Cast* orig, _CAST cast, _VARIABLE_NAME 
variable_name) { assert(0); };
  	virtual _Unary_op fold_impl_unary_op(Unary_op* orig, _OP op, 
_VARIABLE_NAME variable_name) { assert(0); };
  	virtual _Bin_op fold_impl_bin_op(Bin_op* orig, _VARIABLE_NAME left, 
_OP op, _VARIABLE_NAME right) { assert(0); };
@@ -638,8 +625,8 @@
 	virtual _STRING fold_string(STRING* orig) { assert(0); };
 	virtual _BOOL fold_bool(BOOL* orig) { assert(0); };
 	virtual _NIL fold_nil(NIL* orig) { assert(0); };
-	virtual _OP fold_op(OP* orig) { assert(0); };
 	virtual _CAST fold_cast(CAST* orig) { assert(0); };
+	virtual _OP fold_op(OP* orig) { assert(0); };
  	virtual _CONSTANT_NAME fold_constant_name(CONSTANT_NAME* orig) { 
assert(0); };


@@ -735,8 +722,6 @@
 				return fold_bool(dynamic_cast<BOOL*>(in));
 			case NIL::ID:
 				return fold_nil(dynamic_cast<NIL*>(in));
-			case Op_assignment::ID:
-				return fold_op_assignment(dynamic_cast<Op_assignment*>(in));
 			case Array::ID:
 				return fold_array(dynamic_cast<Array*>(in));
 			case CLASS_NAME::ID:
@@ -855,8 +840,6 @@
 				return fold_bool(dynamic_cast<BOOL*>(in));
 			case NIL::ID:
 				return fold_nil(dynamic_cast<NIL*>(in));
-			case Op_assignment::ID:
-				return fold_op_assignment(dynamic_cast<Op_assignment*>(in));
 			case Array::ID:
 				return fold_array(dynamic_cast<Array*>(in));
 			case Foreign_expr::ID:
@@ -927,8 +910,6 @@
 				return fold_bool(dynamic_cast<BOOL*>(in));
 			case NIL::ID:
 				return fold_nil(dynamic_cast<NIL*>(in));
-			case Op_assignment::ID:
-				return fold_op_assignment(dynamic_cast<Op_assignment*>(in));
 			case Array::ID:
 				return fold_array(dynamic_cast<Array*>(in));
 			case Foreign_expr::ID:
@@ -992,6 +973,6 @@
 };

 template<class T>
-class Uniform_fold : public Fold<T, T, T, T, T, T, T, T, T, T, T, T, 
T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, 
T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, 
T, T, T, T> {};
+class Uniform_fold : public Fold<T, T, T, T, T, T, T, T, T, T, T, T, 
T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, 
T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, 
T, T, T> {};
 }


Modified: trunk/src/generated/HIR_transform.cpp
==============================================================================
--- trunk/src/generated/HIR_transform.cpp	(original)
+++ trunk/src/generated/HIR_transform.cpp	Tue Jun  3 16:05:12 2008
@@ -141,11 +141,6 @@
     out->push_back(in);
 }

-Expr* Transform::pre_op_assignment(Op_assignment* in)
-{
-    return in;
-}
-
 Expr* Transform::pre_cast(Cast* in)
 {
     return in;
@@ -256,12 +251,12 @@
     return in;
 }

-OP* Transform::pre_op(OP* in)
+CAST* Transform::pre_cast(CAST* in)
 {
     return in;
 }

-CAST* Transform::pre_cast(CAST* in)
+OP* Transform::pre_op(OP* in)
 {
     return in;
 }
@@ -407,11 +402,6 @@
     out->push_back(in);
 }

-Expr* Transform::post_op_assignment(Op_assignment* in)
-{
-    return in;
-}
-
 Expr* Transform::post_cast(Cast* in)
 {
     return in;
@@ -522,12 +512,12 @@
     return in;
 }

-OP* Transform::post_op(OP* in)
+CAST* Transform::post_cast(CAST* in)
 {
     return in;
 }

-CAST* Transform::post_cast(CAST* in)
+OP* Transform::post_op(OP* in)
 {
     return in;
 }
@@ -689,13 +679,6 @@
     in->expr = transform_expr(in->expr);
 }

-void Transform::children_op_assignment(Op_assignment* in)
-{
-    in->variable = transform_variable(in->variable);
-    in->op = transform_op(in->op);
-    in->expr = transform_expr(in->expr);
-}
-
 void Transform::children_cast(Cast* in)
 {
     in->cast = transform_cast(in->cast);
@@ -811,11 +794,11 @@
 {
 }

-void Transform::children_op(OP* in)
+void Transform::children_cast(CAST* in)
 {
 }

-void Transform::children_cast(CAST* in)
+void Transform::children_op(OP* in)
 {
 }

@@ -1197,33 +1180,33 @@
     return out2;
 }

-OP* Transform::transform_op(OP* in)
+CAST* Transform::transform_cast(CAST* in)
 {
     if(in == NULL) return NULL;

-    OP* out;
+    CAST* out;

-    out = pre_op(in);
+    out = pre_cast(in);
     if(out != NULL)
     {
-    	children_op(out);
-    	out = post_op(out);
+    	children_cast(out);
+    	out = post_cast(out);
     }

     return out;
 }

-CAST* Transform::transform_cast(CAST* in)
+OP* Transform::transform_op(OP* in)
 {
     if(in == NULL) return NULL;

-    CAST* out;
+    OP* out;

-    out = pre_cast(in);
+    out = pre_op(in);
     if(out != NULL)
     {
-    	children_cast(out);
-    	out = post_cast(out);
+    	children_op(out);
+    	out = post_op(out);
     }

     return out;
@@ -1597,7 +1580,6 @@
     case STRING::ID: return pre_string(dynamic_cast<STRING*>(in));
     case BOOL::ID: return pre_bool(dynamic_cast<BOOL*>(in));
     case NIL::ID: return pre_nil(dynamic_cast<NIL*>(in));
-    case Op_assignment::ID: return pre_op_assignment(dynamic_cast<Op_assignment*>(in));
     case Array::ID: return pre_array(dynamic_cast<Array*>(in));
     case Foreign_expr::ID: return pre_foreign_expr(dynamic_cast<Foreign_expr*>(in));
     }
@@ -1642,7 +1624,6 @@
     case STRING::ID: return pre_string(dynamic_cast<STRING*>(in));
     case BOOL::ID: return pre_bool(dynamic_cast<BOOL*>(in));
     case NIL::ID: return pre_nil(dynamic_cast<NIL*>(in));
-    case Op_assignment::ID: return pre_op_assignment(dynamic_cast<Op_assignment*>(in));
     case Array::ID: return pre_array(dynamic_cast<Array*>(in));
     case Foreign_expr::ID: return pre_foreign_expr(dynamic_cast<Foreign_expr*>(in));
     case CLASS_NAME::ID: return pre_class_name(dynamic_cast<CLASS_NAME*>(in));
@@ -1858,7 +1839,6 @@
     case STRING::ID: return post_string(dynamic_cast<STRING*>(in));
     case BOOL::ID: return post_bool(dynamic_cast<BOOL*>(in));
     case NIL::ID: return post_nil(dynamic_cast<NIL*>(in));
-    case Op_assignment::ID: return post_op_assignment(dynamic_cast<Op_assignment*>(in));
     case Array::ID: return post_array(dynamic_cast<Array*>(in));
     case Foreign_expr::ID: return post_foreign_expr(dynamic_cast<Foreign_expr*>(in));
     }
@@ -1903,7 +1883,6 @@
     case STRING::ID: return post_string(dynamic_cast<STRING*>(in));
     case BOOL::ID: return post_bool(dynamic_cast<BOOL*>(in));
     case NIL::ID: return post_nil(dynamic_cast<NIL*>(in));
-    case Op_assignment::ID: return post_op_assignment(dynamic_cast<Op_assignment*>(in));
     case Array::ID: return post_array(dynamic_cast<Array*>(in));
     case Foreign_expr::ID: return post_foreign_expr(dynamic_cast<Foreign_expr*>(in));
     case CLASS_NAME::ID: return post_class_name(dynamic_cast<CLASS_NAME*>(in));
@@ -2037,9 +2016,6 @@
     case NIL::ID:
     	children_nil(dynamic_cast<NIL*>(in));
     	break;
-    case Op_assignment::ID:
-    	children_op_assignment(dynamic_cast<Op_assignment*>(in));
-    	break;
     case Array::ID:
     	children_array(dynamic_cast<Array*>(in));
     	break;
@@ -2120,9 +2096,6 @@
     	break;
     case NIL::ID:
     	children_nil(dynamic_cast<NIL*>(in));
-    	break;
-    case Op_assignment::ID:
-    	children_op_assignment(dynamic_cast<Op_assignment*>(in));
     	break;
     case Array::ID:
     	children_array(dynamic_cast<Array*>(in));

Modified: trunk/src/generated/HIR_transform.h
==============================================================================
--- trunk/src/generated/HIR_transform.h	(original)
+++ trunk/src/generated/HIR_transform.h	Tue Jun  3 16:05:12 2008
@@ -54,7 +54,6 @@
      virtual void pre_foreign_statement(Foreign_statement* in, 
List<Statement*>* out);
     virtual Expr* pre_foreign_expr(Foreign_expr* in);
     virtual void pre_assignment(Assignment* in, List<Statement*>* out);
-    virtual Expr* pre_op_assignment(Op_assignment* in);
     virtual Expr* pre_cast(Cast* in);
     virtual Expr* pre_unary_op(Unary_op* in);
     virtual Expr* pre_bin_op(Bin_op* in);
@@ -77,8 +76,8 @@
     virtual Expr* pre_string(STRING* in);
     virtual Expr* pre_bool(BOOL* in);
     virtual Expr* pre_nil(NIL* in);
-    virtual OP* pre_op(OP* in);
     virtual CAST* pre_cast(CAST* in);
+    virtual OP* pre_op(OP* in);
     virtual CONSTANT_NAME* pre_constant_name(CONSTANT_NAME* in);
 // Invoked after the children have been transformed
 public:
@@ -109,7 +108,6 @@
      virtual void post_foreign_statement(Foreign_statement* in, 
List<Statement*>* out);
     virtual Expr* post_foreign_expr(Foreign_expr* in);
     virtual void post_assignment(Assignment* in, List<Statement*>* out);
-    virtual Expr* post_op_assignment(Op_assignment* in);
     virtual Expr* post_cast(Cast* in);
     virtual Expr* post_unary_op(Unary_op* in);
     virtual Expr* post_bin_op(Bin_op* in);
@@ -132,8 +130,8 @@
     virtual Expr* post_string(STRING* in);
     virtual Expr* post_bool(BOOL* in);
     virtual Expr* post_nil(NIL* in);
-    virtual OP* post_op(OP* in);
     virtual CAST* post_cast(CAST* in);
+    virtual OP* post_op(OP* in);
     virtual CONSTANT_NAME* post_constant_name(CONSTANT_NAME* in);
 // Transform the children of the node
 public:
@@ -164,7 +162,6 @@
     virtual void children_foreign_statement(Foreign_statement* in);
     virtual void children_foreign_expr(Foreign_expr* in);
     virtual void children_assignment(Assignment* in);
-    virtual void children_op_assignment(Op_assignment* in);
     virtual void children_cast(Cast* in);
     virtual void children_unary_op(Unary_op* in);
     virtual void children_bin_op(Bin_op* in);
@@ -189,8 +186,8 @@
     virtual void children_string(STRING* in);
     virtual void children_bool(BOOL* in);
     virtual void children_nil(NIL* in);
-    virtual void children_op(OP* in);
     virtual void children_cast(CAST* in);
+    virtual void children_op(OP* in);
     virtual void children_constant_name(CONSTANT_NAME* in);
  // Call the pre-transform, transform-children post-transform methods 
in order
 // Do not override unless you know what you are doing
@@ -217,8 +214,8 @@
     virtual Variable_name* transform_variable_name(Variable_name* in);
     virtual List<Catch*>* transform_catch_list(List<Catch*>* in);
     virtual List<Catch*>* transform_catch(Catch* in);
-    virtual OP* transform_op(OP* in);
     virtual CAST* transform_cast(CAST* in);
+    virtual OP* transform_op(OP* in);
     virtual CONSTANT_NAME* transform_constant_name(CONSTANT_NAME* in);
     virtual Class_name* transform_class_name(Class_name* in);
     virtual Target* transform_target(Target* in);

Modified: trunk/src/generated/HIR_visitor.cpp
==============================================================================
--- trunk/src/generated/HIR_visitor.cpp	(original)
+++ trunk/src/generated/HIR_visitor.cpp	Tue Jun  3 16:05:12 2008
@@ -138,10 +138,6 @@
 {
 }

-void Visitor::pre_op_assignment(Op_assignment* in)
-{
-}
-
 void Visitor::pre_cast(Cast* in)
 {
 }
@@ -250,11 +246,11 @@
 {
 }

-void Visitor::pre_op(OP* in)
+void Visitor::pre_cast(CAST* in)
 {
 }

-void Visitor::pre_cast(CAST* in)
+void Visitor::pre_op(OP* in)
 {
 }

@@ -395,10 +391,6 @@
 {
 }

-void Visitor::post_op_assignment(Op_assignment* in)
-{
-}
-
 void Visitor::post_cast(Cast* in)
 {
 }
@@ -507,11 +499,11 @@
 {
 }

-void Visitor::post_op(OP* in)
+void Visitor::post_cast(CAST* in)
 {
 }

-void Visitor::post_cast(CAST* in)
+void Visitor::post_op(OP* in)
 {
 }

@@ -688,13 +680,6 @@
     visit_expr(in->expr);
 }

-void Visitor::children_op_assignment(Op_assignment* in)
-{
-    visit_variable(in->variable);
-    visit_op(in->op);
-    visit_expr(in->expr);
-}
-
 void Visitor::children_cast(Cast* in)
 {
     visit_cast(in->cast);
@@ -812,11 +797,11 @@
 {
 }

-void Visitor::children_op(OP* in)
+void Visitor::children_cast(CAST* in)
 {
 }

-void Visitor::children_cast(CAST* in)
+void Visitor::children_op(OP* in)
 {
 }

@@ -1031,14 +1016,6 @@
     pre_assignment((Assignment*) in);
 }

-void Visitor::pre_op_assignment_chain(Op_assignment* in)
-{
-    pre_node((Node*) in);
-    pre_target((Target*) in);
-    pre_expr((Expr*) in);
-    pre_op_assignment((Op_assignment*) in);
-}
-
 void Visitor::pre_cast_chain(Cast* in)
 {
     pre_node((Node*) in);
@@ -1217,18 +1194,18 @@
     pre_nil((NIL*) in);
 }

-void Visitor::pre_op_chain(OP* in)
+void Visitor::pre_cast_chain(CAST* in)
 {
     pre_node((Node*) in);
     pre_identifier((Identifier*) in);
-    pre_op((OP*) in);
+    pre_cast((CAST*) in);
 }

-void Visitor::pre_cast_chain(CAST* in)
+void Visitor::pre_op_chain(OP* in)
 {
     pre_node((Node*) in);
     pre_identifier((Identifier*) in);
-    pre_cast((CAST*) in);
+    pre_op((OP*) in);
 }

 void Visitor::pre_constant_name_chain(CONSTANT_NAME* in)
@@ -1425,14 +1402,6 @@
     post_node((Node*) in);
 }

-void Visitor::post_op_assignment_chain(Op_assignment* in)
-{
-    post_op_assignment((Op_assignment*) in);
-    post_expr((Expr*) in);
-    post_target((Target*) in);
-    post_node((Node*) in);
-}
-
 void Visitor::post_cast_chain(Cast* in)
 {
     post_cast((Cast*) in);
@@ -1611,16 +1580,16 @@
     post_node((Node*) in);
 }

-void Visitor::post_op_chain(OP* in)
+void Visitor::post_cast_chain(CAST* in)
 {
-    post_op((OP*) in);
+    post_cast((CAST*) in);
     post_identifier((Identifier*) in);
     post_node((Node*) in);
 }

-void Visitor::post_cast_chain(CAST* in)
+void Visitor::post_op_chain(OP* in)
 {
-    post_cast((CAST*) in);
+    post_op((OP*) in);
     post_identifier((Identifier*) in);
     post_node((Node*) in);
 }
@@ -1933,27 +1902,27 @@
     }
 }

-void Visitor::visit_op(OP* in)
+void Visitor::visit_cast(CAST* in)
 {
     if(in == NULL)
-    	visit_null("HIR", "OP");
+    	visit_null("HIR", "CAST");
     else
     {
-    	pre_op_chain(in);
-    	children_op(in);
-    	post_op_chain(in);
+    	pre_cast_chain(in);
+    	children_cast(in);
+    	post_cast_chain(in);
     }
 }

-void Visitor::visit_cast(CAST* in)
+void Visitor::visit_op(OP* in)
 {
     if(in == NULL)
-    	visit_null("HIR", "CAST");
+    	visit_null("HIR", "OP");
     else
     {
-    	pre_cast_chain(in);
-    	children_cast(in);
-    	post_cast_chain(in);
+    	pre_op_chain(in);
+    	children_op(in);
+    	post_op_chain(in);
     }
 }

@@ -2214,9 +2183,6 @@
     case NIL::ID:
     	pre_nil_chain(dynamic_cast<NIL*>(in));
     	break;
-    case Op_assignment::ID:
-    	pre_op_assignment_chain(dynamic_cast<Op_assignment*>(in));
-    	break;
     case Array::ID:
     	pre_array_chain(dynamic_cast<Array*>(in));
     	break;
@@ -2298,9 +2264,6 @@
     case NIL::ID:
     	pre_nil_chain(dynamic_cast<NIL*>(in));
     	break;
-    case Op_assignment::ID:
-    	pre_op_assignment_chain(dynamic_cast<Op_assignment*>(in));
-    	break;
     case Array::ID:
     	pre_array_chain(dynamic_cast<Array*>(in));
     	break;
@@ -2442,9 +2405,6 @@
     case NIL::ID:
     	post_nil_chain(dynamic_cast<NIL*>(in));
     	break;
-    case Op_assignment::ID:
-    	post_op_assignment_chain(dynamic_cast<Op_assignment*>(in));
-    	break;
     case Array::ID:
     	post_array_chain(dynamic_cast<Array*>(in));
     	break;
@@ -2526,9 +2486,6 @@
     case NIL::ID:
     	post_nil_chain(dynamic_cast<NIL*>(in));
     	break;
-    case Op_assignment::ID:
-    	post_op_assignment_chain(dynamic_cast<Op_assignment*>(in));
-    	break;
     case Array::ID:
     	post_array_chain(dynamic_cast<Array*>(in));
     	break;
@@ -2670,9 +2627,6 @@
     case NIL::ID:
     	children_nil(dynamic_cast<NIL*>(in));
     	break;
-    case Op_assignment::ID:
-    	children_op_assignment(dynamic_cast<Op_assignment*>(in));
-    	break;
     case Array::ID:
     	children_array(dynamic_cast<Array*>(in));
     	break;
@@ -2753,9 +2707,6 @@
     	break;
     case NIL::ID:
     	children_nil(dynamic_cast<NIL*>(in));
-    	break;
-    case Op_assignment::ID:
-    	children_op_assignment(dynamic_cast<Op_assignment*>(in));
     	break;
     case Array::ID:
     	children_array(dynamic_cast<Array*>(in));

Modified: trunk/src/generated/HIR_visitor.h
==============================================================================
--- trunk/src/generated/HIR_visitor.h	(original)
+++ trunk/src/generated/HIR_visitor.h	Tue Jun  3 16:05:12 2008
@@ -60,7 +60,6 @@
     virtual void pre_expr(Expr* in);
     virtual void pre_literal(Literal* in);
     virtual void pre_assignment(Assignment* in);
-    virtual void pre_op_assignment(Op_assignment* in);
     virtual void pre_cast(Cast* in);
     virtual void pre_unary_op(Unary_op* in);
     virtual void pre_bin_op(Bin_op* in);
@@ -88,8 +87,8 @@
     virtual void pre_string(STRING* in);
     virtual void pre_bool(BOOL* in);
     virtual void pre_nil(NIL* in);
-    virtual void pre_op(OP* in);
     virtual void pre_cast(CAST* in);
+    virtual void pre_op(OP* in);
     virtual void pre_constant_name(CONSTANT_NAME* in);
 // Invoked after the children have been visited
 public:
@@ -126,7 +125,6 @@
     virtual void post_expr(Expr* in);
     virtual void post_literal(Literal* in);
     virtual void post_assignment(Assignment* in);
-    virtual void post_op_assignment(Op_assignment* in);
     virtual void post_cast(Cast* in);
     virtual void post_unary_op(Unary_op* in);
     virtual void post_bin_op(Bin_op* in);
@@ -154,8 +152,8 @@
     virtual void post_string(STRING* in);
     virtual void post_bool(BOOL* in);
     virtual void post_nil(NIL* in);
-    virtual void post_op(OP* in);
     virtual void post_cast(CAST* in);
+    virtual void post_op(OP* in);
     virtual void post_constant_name(CONSTANT_NAME* in);
 // Visit the children of a node
 public:
@@ -186,7 +184,6 @@
     virtual void children_foreign_statement(Foreign_statement* in);
     virtual void children_foreign_expr(Foreign_expr* in);
     virtual void children_assignment(Assignment* in);
-    virtual void children_op_assignment(Op_assignment* in);
     virtual void children_cast(Cast* in);
     virtual void children_unary_op(Unary_op* in);
     virtual void children_bin_op(Bin_op* in);
@@ -211,8 +208,8 @@
     virtual void children_string(STRING* in);
     virtual void children_bool(BOOL* in);
     virtual void children_nil(NIL* in);
-    virtual void children_op(OP* in);
     virtual void children_cast(CAST* in);
+    virtual void children_op(OP* in);
     virtual void children_constant_name(CONSTANT_NAME* in);
 // Unparser support
 public:
@@ -251,7 +248,6 @@
     virtual void pre_foreign_statement_chain(Foreign_statement* in);
     virtual void pre_foreign_expr_chain(Foreign_expr* in);
     virtual void pre_assignment_chain(Assignment* in);
-    virtual void pre_op_assignment_chain(Op_assignment* in);
     virtual void pre_cast_chain(Cast* in);
     virtual void pre_unary_op_chain(Unary_op* in);
     virtual void pre_bin_op_chain(Bin_op* in);
@@ -274,8 +270,8 @@
     virtual void pre_string_chain(STRING* in);
     virtual void pre_bool_chain(BOOL* in);
     virtual void pre_nil_chain(NIL* in);
-    virtual void pre_op_chain(OP* in);
     virtual void pre_cast_chain(CAST* in);
+    virtual void pre_op_chain(OP* in);
     virtual void pre_constant_name_chain(CONSTANT_NAME* in);
 // Invoke the chain of post-visit methods along the inheritance hierarchy
 // (invoked in opposite order to the pre-chain)
@@ -308,7 +304,6 @@
     virtual void post_foreign_statement_chain(Foreign_statement* in);
     virtual void post_foreign_expr_chain(Foreign_expr* in);
     virtual void post_assignment_chain(Assignment* in);
-    virtual void post_op_assignment_chain(Op_assignment* in);
     virtual void post_cast_chain(Cast* in);
     virtual void post_unary_op_chain(Unary_op* in);
     virtual void post_bin_op_chain(Bin_op* in);
@@ -331,8 +326,8 @@
     virtual void post_string_chain(STRING* in);
     virtual void post_bool_chain(BOOL* in);
     virtual void post_nil_chain(NIL* in);
-    virtual void post_op_chain(OP* in);
     virtual void post_cast_chain(CAST* in);
+    virtual void post_op_chain(OP* in);
     virtual void post_constant_name_chain(CONSTANT_NAME* in);
 // Call the pre-chain, visit children and post-chain in order
 // Do not override unless you know what you are doing
@@ -359,8 +354,8 @@
     virtual void visit_variable_name(Variable_name* in);
     virtual void visit_catch_list(List<Catch*>* in);
     virtual void visit_catch(Catch* in);
-    virtual void visit_op(OP* in);
     virtual void visit_cast(CAST* in);
+    virtual void visit_op(OP* in);
     virtual void visit_constant_name(CONSTANT_NAME* in);
     virtual void visit_class_name(Class_name* in);
     virtual void visit_target(Target* in);

Modified: trunk/src/generated_src/hir.tea
==============================================================================
--- trunk/src/generated_src/hir.tea	(original)
+++ trunk/src/generated_src/hir.tea	Tue Jun  3 16:05:12 2008
@@ -112,7 +112,6 @@
 	| Variable | Pre_op
 	| Method_invocation | New
 	| Literal
-	| Op_assignment -- can probably be removed
 	| Array -- can probably be removed
 -- | Variable_name | Index_array
 	| Foreign_expr
@@ -121,7 +120,6 @@
 Literal ::= INT<long> | REAL<double> | STRING<String*> | BOOL<bool> | NIL<> ;

 Assignment ::= Variable is_ref:"&"? Expr ;
-Op_assignment ::= Variable OP Expr ;
 -- Index_array       ::= VARIABLE_NAME index:VARIABLE_NAME ;
 -- Variable_variable ::= VARIABLE_NAME ;


Modified: trunk/src/hir_to_mir/HIR_to_MIR.h
==============================================================================
--- trunk/src/hir_to_mir/HIR_to_MIR.h	(original)
+++ trunk/src/hir_to_mir/HIR_to_MIR.h	Tue Jun  3 16:05:12 2008
@@ -55,7 +55,6 @@
  MIR::Expr*,				// Expr*
  MIR::Literal*,				// Literal*
  MIR::Assignment*,			// Assignment*
- MIR::Expr*,				// Op_assignment*
  MIR::Cast*,				// Cast*
  MIR::Unary_op*,			// Unary_op*
  MIR::Bin_op*,				// Bin_op*
@@ -83,8 +82,8 @@
  MIR::STRING*,			// STRING*
  MIR::BOOL*,				// BOOL*
  MIR::NIL*,				// NIL*
- MIR::OP*,				// OP*
  MIR::CAST*,				// CAST*
+ MIR::OP*,				// OP*
  MIR::CONSTANT_NAME*>		// CONSTANT_NAME*
 {
 public:

Modified: trunk/src/process_hir/HIR_to_AST.h
==============================================================================
--- trunk/src/process_hir/HIR_to_AST.h	(original)
+++ trunk/src/process_hir/HIR_to_AST.h	Tue Jun  3 16:05:12 2008
@@ -55,7 +55,6 @@
  AST::Expr*,				// Expr*
  AST::Literal*,				// Literal*
  AST::Statement*,			// Assignment*
- AST::Op_assignment*,				// Op_assignment*
  AST::Cast*,				// Cast*
  AST::Unary_op*,			// Unary_op*
  AST::Bin_op*,				// Bin_op*
@@ -83,8 +82,8 @@
  AST::STRING*,			// STRING*
  AST::BOOL*,				// BOOL*
  AST::NIL*,				// NIL*
- AST::OP*,				// OP*
  AST::CAST*,				// CAST*
+ AST::OP*,				// OP*
  AST::CONSTANT_NAME*>		// CONSTANT_NAME*
 {
 	AST::Variable* wrap_var_name (AST::VARIABLE_NAME* var_name)
@@ -278,15 +277,6 @@
 		result->attrs = orig->attrs;
 		return result;
 	}
-
-	AST::Op_assignment* fold_impl_op_assignment(HIR::Op_assignment* orig, 
AST::Variable* variable, AST::OP* op, AST::Expr* expr)
-	{
-		AST::Op_assignment* result;
-		result = new AST::Op_assignment (variable, op, expr);
-		result->attrs = orig->attrs;
-		return result;
-	}
-

 	AST::While* fold_impl_loop (HIR::Loop* orig, List<AST::Statement*>* statements)
 	{


More information about the phc-internals mailing list