Changes in src/SynTree/Statement.cc [74d1804:4e06c1e]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Statement.cc
r74d1804 r4e06c1e 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : T hu May 12 13:33:18201613 // Update Count : 5 411 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jul 12 17:52:32 2016 13 // Update Count : 55 14 14 // 15 15 … … 87 87 Statement( labels ), originalTarget( _target ), target( _target ), computedTarget( NULL ), type( _type ) { 88 88 //actually this is a syntactic error signaled by the parser 89 if ( type == BranchStmt::Goto && target. size() == 0)89 if ( type == BranchStmt::Goto && target.empty() ) 90 90 throw SemanticError("goto without target"); 91 91 } … … 206 206 for ( i = stmts.begin(); i != stmts.end(); i++) 207 207 (*i )->print( os, indent + 4 ); 208 }209 210 //ChooseStmt::ChooseStmt( std::list<Label> labels, Expression *condition, Statement *body ) {}211 ChooseStmt::ChooseStmt( std::list<Label> _labels, Expression * _condition, std::list<Statement *> &_branches ):212 Statement( _labels ), condition( _condition ), branches( _branches ) {213 }214 215 ChooseStmt::ChooseStmt( const ChooseStmt & other ):216 Statement( other ), condition( maybeClone( other.condition ) ) {217 cloneAll( other.branches, branches );218 }219 220 ChooseStmt::~ChooseStmt() {221 delete condition;222 }223 224 void ChooseStmt::add_case( CaseStmt *c ) {}225 226 void ChooseStmt::print( std::ostream &os, int indent ) const {227 os << "Choose on condition: ";228 condition->print( os );229 os << endl;230 231 // branches232 std::list<Statement *>::const_iterator i;233 for ( i = branches.begin(); i != branches.end(); i++)234 (*i )->print( os, indent + 4 );235 236 //for_each( branches.begin(), branches.end(), mem_fun( bind1st(&Statement::print ), os ));237 }238 239 void FallthruStmt::print( std::ostream &os, int indent ) const {240 os << string( indent, ' ' ) << "Fall-through statement" << endl;241 208 } 242 209
Note:
See TracChangeset
for help on using the changeset viewer.