Changeset 4e06c1e for src/ControlStruct
- Timestamp:
- Jul 12, 2016, 6:34:10 PM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- e4d3ceb
- Parents:
- 6e4b913
- Location:
- src/ControlStruct
- Files:
-
- 2 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ControlStruct/CaseRangeMutator.cc
r6e4b913 r4e06c1e 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Jun 30 13:28:55201613 // Update Count : 812 // Last Modified On : Tue Jul 12 17:35:13 2016 13 // Update Count : 9 14 14 // 15 15 … … 28 28 29 29 namespace ControlStruct { 30 Statement *CaseRangeMutator::mutate( ChooseStmt *chooseStmt ) {31 // There shouldn't be any `choose' statements by now, throw an exception or something.32 throw( 0 ) ; /* FIXME */33 }34 35 30 Statement *CaseRangeMutator::mutate( SwitchStmt *switchStmt ) { 36 31 std::list< Statement * > &cases = switchStmt->get_branches(); … … 69 64 70 65 return switchStmt; 71 }72 73 Statement *CaseRangeMutator::mutate( FallthruStmt *fallthruStmt ) {74 //delete fallthruStmt;75 return new NullStmt();76 66 } 77 67 -
src/ControlStruct/CaseRangeMutator.h
r6e4b913 r4e06c1e 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 15:22:51 201513 // Update Count : 312 // Last Modified On : Tue Jul 12 17:35:30 2016 13 // Update Count : 4 14 14 // 15 15 … … 27 27 CaseRangeMutator() {} 28 28 29 virtual Statement *mutate( ChooseStmt * );30 29 virtual Statement *mutate( SwitchStmt * ); 31 virtual Statement *mutate( FallthruStmt * );32 30 virtual Statement *mutate( CaseStmt * ); 33 31 private: -
src/ControlStruct/LabelFixer.h
r6e4b913 r4e06c1e 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jan 25 21:22:22201613 // Update Count : 3 212 // Last Modified On : Tue Jul 12 17:36:16 2016 13 // Update Count : 33 14 14 // 15 15 … … 46 46 virtual void visit( ForStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 47 47 virtual void visit( SwitchStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 48 virtual void visit( ChooseStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }49 virtual void visit( FallthruStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }50 48 virtual void visit( CaseStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); } 51 49 virtual void visit( ReturnStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); } -
src/ControlStruct/MLEMutator.cc
r6e4b913 r4e06c1e 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jul 6 17:40:02201613 // Update Count : 19 612 // Last Modified On : Tue Jul 12 17:36:51 2016 13 // Update Count : 197 14 14 // 15 15 … … 248 248 return handleSwitchStmt( switchStmt ); 249 249 } 250 251 Statement *MLEMutator::mutate( ChooseStmt *switchStmt ) {252 return handleSwitchStmt( switchStmt );253 }254 250 } // namespace ControlStruct 255 251 -
src/ControlStruct/MLEMutator.h
r6e4b913 r4e06c1e 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jul 6 18:16:26201613 // Update Count : 3 312 // Last Modified On : Tue Jul 12 17:37:01 2016 13 // Update Count : 34 14 14 // 15 15 … … 42 42 virtual Statement *mutate( IfStmt *ifStmt ) override; 43 43 virtual Statement *mutate( SwitchStmt *switchStmt ) override; 44 virtual Statement *mutate( ChooseStmt *switchStmt ) override;45 44 46 45 Statement *mutateLoop( Statement *bodyLoop, Entry &e ); -
src/ControlStruct/Mutate.cc
r6e4b913 r4e06c1e 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Wed Jul 15 14:50:04 201513 // Update Count : 711 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jul 12 17:37:45 2016 13 // Update Count : 8 14 14 // 15 15 … … 20 20 21 21 #include "Mutate.h" 22 #include "ChooseMutator.h"23 22 #include "LabelFixer.h" 24 23 #include "MLEMutator.h" … … 39 38 ForExprMutator formut; 40 39 41 // transform choose statements into switch statements 42 ChooseMutator chmut; 43 44 // normalizes label definitions and generates multi-level 45 // exit labels 40 // normalizes label definitions and generates multi-level exit labels 46 41 LabelFixer lfix; 47 42 48 43 // expand case ranges and turn fallthru into a null statement 49 CaseRangeMutator ranges; // has to run after ChooseMutator44 CaseRangeMutator ranges; 50 45 51 46 //ExceptMutator exc; … … 53 48 54 49 mutateAll( translationUnit, formut ); 55 mutateAll( translationUnit, chmut );56 50 acceptAll( translationUnit, lfix ); 57 51 mutateAll( translationUnit, ranges ); -
src/ControlStruct/module.mk
r6e4b913 r4e06c1e 11 11 ## Created On : Mon Jun 1 17:49:17 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Mon Jun 1 17:51:45 201514 ## Update Count : 113 ## Last Modified On : Tue Jul 12 17:40:31 2016 14 ## Update Count : 2 15 15 ############################################################################### 16 16 … … 20 20 ControlStruct/CaseRangeMutator.cc \ 21 21 ControlStruct/Mutate.cc \ 22 ControlStruct/ChooseMutator.cc \23 22 ControlStruct/ForExprMutator.cc \ 24 23 ControlStruct/LabelTypeChecker.cc
Note: See TracChangeset
for help on using the changeset viewer.