[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