# | Line 44 | Line 44 | |
---|---|---|
44 | #include <iostream> | |
45 | #include <set> | |
46 | #include <fstream> | |
47 | + | #include <sstream> |
48 | #include "utils/StringTokenizer.hpp" | |
49 | #include "utils/Trim.hpp" | |
50 | + | #include "utils/OOPSEException.hpp" |
51 | + | #include "utils/simError.h" |
52 | + | |
53 | + | |
54 | /** | |
55 | * @class SimplePreprocessor | |
56 | * @brief A simple preprocessor. | |
# | Line 66 | Line 71 | class SimplePreprocessor { | |
71 | private: | |
72 | bool doPreprocess(const std::string& filename, ostream& os, std::set<std::string>& defineSet, std::stack<bool>& ifStates) { | |
73 | std::ifstream input(filename.c_str()); | |
74 | < | |
74 | > | if (!input.is_open()) { |
75 | > | std::stringstream ss; |
76 | > | ss << "Can not open " << filename << " for preprocessing\n"; |
77 | > | |
78 | > | sprintf(painCave.errMsg, |
79 | > | "Can not open (%s) for processing. \n" |
80 | > | "\tPlease check md file name syntax.\n", filename.c_str()); |
81 | > | |
82 | > | painCave.isFatal = 1; |
83 | > | simError(); |
84 | > | |
85 | > | throw OOPSEException(ss.str()); |
86 | > | } |
87 | int lineNo =1; | |
88 | os << "#line " << lineNo << " \"" << filename << "\"\n"; | |
89 | while(input.getline(buffer, bufferSize)) { |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |