| 46 |  | * @time 13:51am | 
| 47 |  | * @version 1.0 | 
| 48 |  | */ | 
| 49 | < |  | 
| 49 | > | #include <exception> | 
| 50 |  | #include <iostream> | 
| 51 |  | #include <sstream> | 
| 52 |  | #include <string> | 
| 102 |  | streamSize = ppStream.str().size() +1; | 
| 103 |  | commStatus = MPI_Bcast(&streamSize, 1, MPI_LONG, masterNode, MPI_COMM_WORLD); | 
| 104 |  |  | 
| 105 | < | commStatus = MPI_Bcast(ppStream.str().c_str(), streamSize, MPI_CHAR, masterNode, MPI_COMM_WORLD); | 
| 105 | > | commStatus = MPI_Bcast(static_cast<void*>(const_cast<char*>(ppStream.str().c_str())), streamSize, MPI_CHAR, masterNode, MPI_COMM_WORLD); | 
| 106 |  |  | 
| 107 |  |  | 
| 108 |  | } else { | 
| 147 |  | simParams = treeParser.walkTree(parser.getAST()); | 
| 148 |  |  | 
| 149 |  | } | 
| 150 | + |  | 
| 151 |  |  | 
| 152 |  | catch(antlr::MismatchedCharException& e) { | 
| 153 | < | cerr<< "parser exception: " << e.getMessage() << " " <<  e.getFilename() << ":" << e.getLine() << " " << e.getColumn() << endl; | 
| 153 | > | sprintf(painCave.errMsg, | 
| 154 | > | "parser exception: %s %s:%d:%d\n", | 
| 155 | > | e.getMessage().c_str(),e.getFilename().c_str(), e.getLine(), e.getColumn()); | 
| 156 | > | painCave.isFatal = 1; | 
| 157 | > | simError(); | 
| 158 |  | } | 
| 159 |  | catch(antlr::MismatchedTokenException &e) { | 
| 160 | < | cerr<< "parser exception: " << e.getMessage() << " " <<  e.getFilename() << ":" << e.getLine() << " " << e.getColumn() << endl; | 
| 160 | > | sprintf(painCave.errMsg, | 
| 161 | > | "parser exception: %s %s:%d:%d\n", | 
| 162 | > | e.getMessage().c_str(),e.getFilename().c_str(), e.getLine(), e.getColumn()); | 
| 163 | > | painCave.isFatal = 1; | 
| 164 | > | simError(); | 
| 165 |  | } | 
| 166 |  | catch(antlr::NoViableAltForCharException &e) { | 
| 167 | < | cerr<< "parser exception: " << e.getMessage() << " " <<  e.getFilename() << ":" << e.getLine() << " " << e.getColumn() << endl; | 
| 167 | > | sprintf(painCave.errMsg, | 
| 168 | > | "parser exception: %s %s:%d:%d\n", | 
| 169 | > | e.getMessage().c_str(),e.getFilename().c_str(), e.getLine(), e.getColumn()); | 
| 170 | > | painCave.isFatal = 1; | 
| 171 | > | simError(); | 
| 172 |  | } | 
| 173 |  | catch(antlr::NoViableAltException &e) { | 
| 174 | < | cerr<< "parser exception: " << e.getMessage() << " " <<  e.getFilename() << ":" << e.getLine() << " " << e.getColumn() << endl; | 
| 174 | > | sprintf(painCave.errMsg, | 
| 175 | > | "parser exception: %s %s:%d:%d\n", | 
| 176 | > | e.getMessage().c_str(),e.getFilename().c_str(), e.getLine(), e.getColumn()); | 
| 177 | > | painCave.isFatal = 1; | 
| 178 | > | simError(); | 
| 179 |  | } | 
| 180 | + |  | 
| 181 |  | catch(antlr::TokenStreamRecognitionException& e) { | 
| 182 | < | cerr<< "parser exception: " << e.getMessage() << " " <<  e.getFilename() << ":" << e.getLine() << " " << e.getColumn() << endl; | 
| 182 | > | sprintf(painCave.errMsg, | 
| 183 | > | "parser exception: %s %s:%d:%d\n", | 
| 184 | > | e.getMessage().c_str(),e.getFilename().c_str(), e.getLine(), e.getColumn()); | 
| 185 | > | painCave.isFatal = 1; | 
| 186 | > | simError(); | 
| 187 |  | } | 
| 188 | + |  | 
| 189 |  | catch(antlr::TokenStreamIOException& e) { | 
| 190 | < | cerr<< "parser exception: " << e.getMessage() << endl; | 
| 190 | > | sprintf(painCave.errMsg, | 
| 191 | > | "parser exception: %s\n", | 
| 192 | > | e.getMessage().c_str()); | 
| 193 | > | painCave.isFatal = 1; | 
| 194 | > | simError(); | 
| 195 |  | } | 
| 196 | + |  | 
| 197 |  | catch(antlr::TokenStreamException& e) { | 
| 198 | < | cerr<< "parser exception: " << e.getMessage() << endl; | 
| 198 | > | sprintf(painCave.errMsg, | 
| 199 | > | "parser exception: %s\n", | 
| 200 | > | e.getMessage().c_str()); | 
| 201 | > | painCave.isFatal = 1; | 
| 202 | > | simError(); | 
| 203 |  | } | 
| 204 |  | catch (antlr::RecognitionException& e) { | 
| 205 | < | cerr<< "parser exception: " << e.getMessage() << " " <<  e.getFilename() << ":" << e.getLine() << " " << e.getColumn() << endl; | 
| 205 | > | sprintf(painCave.errMsg, | 
| 206 | > | "parser exception: %s %s:%d:%d\n", | 
| 207 | > | e.getMessage().c_str(),e.getFilename().c_str(), e.getLine(), e.getColumn()); | 
| 208 | > | painCave.isFatal = 1; | 
| 209 | > | simError(); | 
| 210 |  | } | 
| 211 |  | catch (antlr::CharStreamException& e) { | 
| 212 | < | cerr << "parser exception: " << e.getMessage() << endl; | 
| 212 | > | sprintf(painCave.errMsg, | 
| 213 | > | "parser exception: %s\n", | 
| 214 | > | e.getMessage().c_str()); | 
| 215 | > | painCave.isFatal = 1; | 
| 216 | > | simError(); | 
| 217 |  | } | 
| 218 | < | catch (exception& e) { | 
| 219 | < | cerr << "parser exception: " << e.what() << endl; | 
| 220 | < | } | 
| 218 | > | catch (OOPSEException& e) { | 
| 219 | > | sprintf(painCave.errMsg, | 
| 220 | > | "%s\n", | 
| 221 | > | e.getMessage().c_str()); | 
| 222 | > | painCave.isFatal = 1; | 
| 223 | > | simError(); | 
| 224 | > | } | 
| 225 | > | catch (std::exception& e) { | 
| 226 | > | sprintf(painCave.errMsg, | 
| 227 | > | "parser exception: %s\n", | 
| 228 | > | e.what()); | 
| 229 | > | painCave.isFatal = 1; | 
| 230 | > | simError(); | 
| 231 | > | } | 
| 232 |  |  | 
| 233 |  | return simParams; | 
| 234 |  | } |