37 #ifndef PREPROCESSOR_H 38 #define PREPROCESSOR_H void inCharParser(char ch, std::string &str)
Обработчик символа в режиме парсера символа (внутри одинарных кавычек)
Preprocessor(const std::string &fileName)
Конструктор, принимающий на вход имя обрабатываемого файла
std::string resultString
Строка, содержащая окончательный результат обработки файла
bool inStringLastEscape
Признак встречи слэша внутри строки (внутри двойных кавычек)
std::string initialInput
Строка, содержащая исходный файл в первоначальном виде
Класс, позволяющий выполнять предварительную обработку файлов
~Preprocessor()
Деструктор
void inInlineCommentParser(char ch, std::string &str)
Обработчик символа в режиме парсера однострочного комментария (после //)
void(Preprocessor::* currentParser)(char ch, std::string &str)
Опредедение currentParser как указателя на функцию-члена класса
void normalParser(char ch, std::string &str)
Обработчик символа в режиме обычного состояния парcера
bool inCharLastEscape
Признак встречи слэша внутри символа (внутри одинарных кавычек)
void afterSlashParser(char ch, std::string &str)
Обработчик символа в режиме парсера выражения после слэша
bool inMultilineLastStar
Признак встречи звездочки внутри многострочного комментария (после '/*')
void inMultilineCommentParser(char ch, std::string &str)
Обработчик символа в режиме парсера многострочного комментария
bool inInlineLastEscape
Признак встречи слэша внутри однострочного комментария (после //)
char processSymbol(char ch)
Базовая функция обработки символа В зависимости от входого символа возвращает на выход: ...
std::stringstream resultStream
std::string intermediateOutput
Строка, содержащая результат промежуточной обработки файла
void inStringParser(char ch, std::string &str)
Обработчик символа в режиме парсера строки (внутри двойных кавычек)