#pragma once /* * Created by Brett on 17/11/23. * Licensed under GNU General Public License V3.0 * See LICENSE file for license detail */ #ifndef BRAINFUCK_MISC_BF_TOKENIZER_H #define BRAINFUCK_MISC_BF_TOKENIZER_H #include #include #include enum class bf_token { INC_DP, DEC_DP, INC_DV, DEC_DV, PRINT, READ, OPEN, CLOSE }; struct token_t { bf_token token; std::optional name = {}; explicit token_t(bf_token token): token(token) {} }; std::vector tokenize(const std::string& program); std::vector& bf_name(std::vector& tokens); #endif //BRAINFUCK_MISC_BF_TOKENIZER_H