#pragma once #include "minicc.h" #include namespace CPP { void PreprocessorTokensToTokens(std::vector& tokens); // phases of translation, according to standard void source_charset_map(); // phase 1 void backslash_escape(); // phase 2 void preprocessing_tokenize(const std::string& s); // phase 3 void preprocess(); // phase 4 void execution_charset_map(); // phase 5 void concatenate_strings(); // phase 6 void tokens_from_pptokens(); // phase 7 void instantiate(); // phase 8 void link(); // phase 9 // all phases of translation void translate(const std::string& code); }