From 9f0b2534526d9acc3709cd5cf79c4e04fe3e12e9 Mon Sep 17 00:00:00 2001 From: AfonsoCMSousa Date: Thu, 21 May 2026 17:31:15 +0100 Subject: [PATCH] feat: tokenizer, encoder and parser --- compile_commands.json | 1 + include/io.cpp | 55 ++++++++++ include/token.cpp | 234 ++++++++++++++++++++++++++++++++++++++++++ source/main.cpp | 94 ++++++++++++++++- test | Bin 0 -> 438128 bytes test.c | 19 ++++ 6 files changed, 398 insertions(+), 5 deletions(-) create mode 120000 compile_commands.json create mode 100644 include/io.cpp create mode 100644 include/token.cpp create mode 100755 test create mode 100644 test.c diff --git a/compile_commands.json b/compile_commands.json new file mode 120000 index 0000000..3396cd2 --- /dev/null +++ b/compile_commands.json @@ -0,0 +1 @@ +/Users/AfonsoCMSosua/Developer/C++/CTokenizerAnalizer/build/compile_commands.json \ No newline at end of file diff --git a/include/io.cpp b/include/io.cpp new file mode 100644 index 0000000..b438198 --- /dev/null +++ b/include/io.cpp @@ -0,0 +1,55 @@ +/* + * io.cpp + * + * - This file contains basic funcions to read files and parse them + * + * - Taken from AfonsoCMSousa (me) advent of code repository: + * https://github.com/AfonsoCMSousa/AdventOfCode + * + * Note: The funtions were changed to better suit the needs of this project, but the original code can be found in the repository above. + * Created by AfonsoCMSousa on 21/05/2026. + */ + +#ifndef FILE_IO_CPP +#define FILE_IO_CPP + +#include +#include +#include +#include +#include + +// Reads a file and returns a vector of strings, where each string is a line in the file +std::vector> read_char(const char *filePath) +{ + std::ifstream file(filePath); + if (!file.is_open()) + { + throw std::runtime_error("Could not open file"); + } + + std::vector> lines; + std::string line; + + while (std::getline(file, line)) + { + std::vector charLine(line.begin(), line.end()); + lines.push_back(charLine); + } + + file.close(); + return lines; +} + +std::vector get_digits(uint64_t number) { + std::vector _return_vec; + while (number != 0) { + _return_vec.push_back(number % 10); + number /= 10; + } + std::reverse(_return_vec.begin(), _return_vec.end()); + + return _return_vec; +} + +#endif // FILE_IO_CPP diff --git a/include/token.cpp b/include/token.cpp new file mode 100644 index 0000000..5ba81c8 --- /dev/null +++ b/include/token.cpp @@ -0,0 +1,234 @@ +#ifndef TOKEN_CPP +#define TOKEN_CPP + +#include +#include +#include +#include +#include +#include +#include +#include + +typedef u_int64_t VALUE_ID; +typedef void *DATA; + +enum class TYPE { KEYWORD, IDENTIFIER, NUMBER, STRING, CHAR, OPERATOR, PUNCTUATION, PREPROCESSOR, HEADER, COMMENT, END_OF_FILE, UNKNOWN }; + +typedef struct { + TYPE type; + VALUE_ID value; + + // INFO: This is only used for debugging, the analizer wont take this into account. + // WARN: Removed: "This turns the tokenizer into a C-style unsafe container, not a dataset generator." + // u_int64_t data_len; + // DATA data; +} Token; + +std::string type_to_string(TYPE type) { + switch (type) { + case TYPE::KEYWORD: + return "KEYWORD"; + case TYPE::IDENTIFIER: + return "IDENTIFIER"; + case TYPE::NUMBER: + return "NUMBER"; + case TYPE::STRING: + return "STRING\t"; + case TYPE::CHAR: + return "CHAR\t"; + case TYPE::OPERATOR: + return "OPERATOR"; + case TYPE::PUNCTUATION: + return "PUNCTUATION"; + case TYPE::PREPROCESSOR: + return "PREPROCESSOR"; + case TYPE::HEADER: + return "HEADER\t"; + case TYPE::COMMENT: + return "COMMENT\t"; + case TYPE::END_OF_FILE: + return "END_OF_FILE"; + default: + return "UNKNOWN\t"; + } +} + +typedef struct { + std::unordered_map value_map; + std::unordered_map type_map; + VALUE_ID next_id; +} Vocabulary; + +std::vector lexer(std::vector> file_content) { + std::vector tokens; + bool in_string = false; + + for (const auto &line : file_content) { + bool is_preprocessor = false; + for (const auto &ch : line) { + if (ch == ' ' || ch == '\t') + continue; + if (ch == '#') + is_preprocessor = true; + break; + } + + std::string token; + for (size_t i = 0; i < line.size(); ++i) { + char ch = line[i]; + + if ((ch == '\n' || ch == '\0') || (ch == ' ' && !in_string)) { + if (!token.empty()) { + tokens.push_back(token); + token.clear(); + } + } else { + if (ch == '"' || ch == '\'') { + in_string = !in_string; + } + + if ((ch == '<' || ch == '>') && !in_string) { + if (is_preprocessor) { + // For preprocessors, treat < and > as delimiters only (don't push them) + if (!token.empty()) { + tokens.push_back(token); + token.clear(); + } + continue; + } else { + // For regular code lines, treat them as valid operators + char next_ch = (i + 1 < line.size()) ? line[i + 1] : '\0'; + if (next_ch == '<' || next_ch == '>' || next_ch == '=') { + if (!token.empty()) { + tokens.push_back(token); + token.clear(); + } + tokens.push_back(std::string(1, ch) + std::string(1, next_ch)); + i++; // Consume the next char + continue; + } else { + if (!token.empty()) { + tokens.push_back(token); + token.clear(); + } + tokens.push_back(std::string(1, ch)); + continue; + } + } + } + + // Added '#' and '!' to punctuation/operator detection + if ((ch == '#' || ch == '(' || ch == ')' || ch == ',' || ch == ';' || ch == '=' || ch == '!') && !in_string) { + char next_ch = (i + 1 < line.size()) ? line[i + 1] : '\0'; + if (ch == '=' && next_ch == '=') { + if (!token.empty()) { + tokens.push_back(token); + token.clear(); + } + tokens.push_back("=="); + i++; + continue; + } else if (ch == '!' && next_ch == '=') { + if (!token.empty()) { + tokens.push_back(token); + token.clear(); + } + tokens.push_back("!="); + i++; + continue; + } + + if (!token.empty()) { + tokens.push_back(token); + token.clear(); + } + tokens.push_back(std::string(1, ch)); + continue; + } + + token += ch; + } + } + if (!token.empty()) { + tokens.push_back(token); + } + } + + return tokens; +} + +std::vector encoder(std::vector tokens, Vocabulary &vocab) { + std::vector encoded_tokens; + for (const auto &token : tokens) { + auto it = vocab.value_map.find(token); + if (it != vocab.value_map.end()) { + encoded_tokens.push_back(it->second); + } else { + // If the token is not in the vocabulary, we can choose to add it or skip it. + // For this implementation, we'll skip it and assign a special ID (e.g., 0) for unknown tokens. + encoded_tokens.push_back(0); // 0 for unknown tokens + } + } + return encoded_tokens; +} + +Vocabulary tokenizer(std::vector tokens) { + using namespace std; + Vocabulary vocab; + vocab.next_id = 1; // Start IDs from 1, reserve 0 for unknown/special tokens + + // 1. Define complete sets for C keywords, operators, and punctuation + const unordered_set keywords = {"auto", "break", "case", "char", "const", "continue", "default", "do", "double", "else", "enum", "extern", + "float", "for", "goto", "if", "inline", "int", "long", "register", "restrict", "return", "short", "signed", + "sizeof", "static", "struct", "switch", "typedef", "union", "unsigned", "void", "volatile", "while"}; + + const unordered_set preprocessor_words = {"include", "define", "undef", "ifdef", "ifndef", "if", "elif", "else", "endif", "line", "error", "pragma"}; + + const unordered_set operators = {"+", "-", "*", "/", "%", "++", "--", "==", "!=", "<", ">", "<=", ">=", "&&", "||", "!", "&", "|", + "^", "~", "<<", ">>", "=", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", ">>=", "->", "."}; + + const unordered_set punctuation = {"(", ")", "{", "}", "[", "]", ",", ";", ":", "?"}; + + for (const auto &token : tokens) { + if (token.empty()) + continue; + + // If the token hasn't been registered yet, assign it a unique ID and a type + if (vocab.value_map.find(token) == vocab.value_map.end()) { + vocab.value_map[token] = vocab.next_id++; + + // 2. Strict hierarchical classification logic + if (token[0] == '/' && token.size() >= 2 && (token[1] == '/' || token[1] == '*')) { + vocab.type_map[token] = TYPE::COMMENT; + } + // Check for HEADER files first before catching generic preprocessor tokens + else if (token.size() > 2 && token.find(".h") != string::npos) { + vocab.type_map[token] = TYPE::HEADER; + } else if (token == "#" || preprocessor_words.count(token) > 0) { + // Catches only '#' and 'include', 'define', etc. + vocab.type_map[token] = TYPE::PREPROCESSOR; + } else if (keywords.count(token) > 0) { + // Checked BEFORE identifiers so 'int' isn't labeled as an identifier + vocab.type_map[token] = TYPE::KEYWORD; + } else if (token[0] == '"') { + vocab.type_map[token] = TYPE::STRING; + } else if (token[0] == '\'') { + vocab.type_map[token] = TYPE::CHAR; + } else if (isdigit(token[0]) || (token[0] == '.' && token.size() > 1 && isdigit(token[1]))) { + vocab.type_map[token] = TYPE::NUMBER; + } else if (operators.count(token) > 0) { + vocab.type_map[token] = TYPE::OPERATOR; + } else if (punctuation.count(token) > 0) { + vocab.type_map[token] = TYPE::PUNCTUATION; + } else if (isalpha(token[0]) || token[0] == '_') { + vocab.type_map[token] = TYPE::IDENTIFIER; + } else { + vocab.type_map[token] = TYPE::UNKNOWN; + } + } + } + + return vocab; +} +#endif // TOKEN_CPP diff --git a/source/main.cpp b/source/main.cpp index df28b27..f820ee0 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -1,7 +1,91 @@ #include +#include -int main() -{ - std::cout << "Hello, World!" << std::endl; - return 0; -} \ No newline at end of file +// File I/O functions +#include "io.cpp" + +// Tokenizer functions +#include "token.cpp" + +using namespace std; + +const char *VERSION = "1.0.0"; + +char showTokens = 0; +char FILE_PATH[1024]; + +static inline void process_args(int argc, char **args) { + for (int i = 0; i < argc; i++) { + if (std::string(args[i]) == "--help" || std::string(args[i]) == "-h") { + std::cout << "Usage: " << args[0] << " [options]\n"; + std::cout << "Options:\n"; + std::cout << " --help -h\tShow this help message\n"; + std::cout << " --version -v\tShow version information\n"; + std::cout << " --input -i\tSpecify input file path\n"; + exit(0); + } + + if (std::string(args[i]) == "--version" || std::string(args[i]) == "-v") { + std::cout << "Version " << VERSION << "\n"; + exit(0); + } + + if (std::string(args[i]) == "--input" || std::string(args[i]) == "-i") { + if (i + 1 < argc) { + i++; + strncpy(FILE_PATH, args[i], sizeof(FILE_PATH) - 1); + FILE_PATH[sizeof(FILE_PATH) - 1] = '\0'; + } else { + std::cerr << "Error: --input option requires a file path\n"; + exit(1); + } + } + + if (std::string(args[i]) == "--show-tokens") { + showTokens = 1; + } + } + + if (FILE_PATH[0] == '\0') { + std::cerr << "Error: No input file specified. Use --input to specify an input file.\n"; + exit(1); + } +} + +int main(int argc, char **args) { + process_args(argc, args); + vector> _file_content; + + try { + _file_content = read_char(FILE_PATH); + } catch (const std::exception &e) { + std::cerr << "Error: [" << e.what() << "]\n"; + return 1; + } + cout << "File read successfully. Total lines: " << _file_content.size() << "\n"; + cout << "First line (as chars): "; + if (!_file_content.empty()) { + for (const auto &ch : _file_content[0]) { + printf("%c", ch); + } + cout << "\n"; + } + + // NOTE: Tokenizer here + vector tokens = lexer(_file_content); + Vocabulary vocab = tokenizer(tokens); + + // NOTE: Pretty print the vocab mapping + if (showTokens) { + cout << "Vocabulary Mapping:\n"; + for (const auto &pair : vocab.value_map) { + cout << "Token: ID: ["; + printf("%03llu", pair.second); + cout << "] -> " << type_to_string(vocab.type_map.at(pair.first)) << "\tToken: [" << pair.first << "]" << "\n"; + } + } + + // NOTE: Encode tokens to IDs + vector encoded_tokens = encoder(tokens, vocab); + return 0; +} diff --git a/test b/test new file mode 100755 index 0000000000000000000000000000000000000000..b6171b7d340d32644dd48530cc9c17a53d2de191 GIT binary patch literal 438128 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 MBNzMMf75^d57T!yTmS$7 literal 0 HcmV?d00001 diff --git a/test.c b/test.c new file mode 100644 index 0000000..f6686a7 --- /dev/null +++ b/test.c @@ -0,0 +1,19 @@ +#include +#include + +int main() { + printf("Hello, World!\n"); + return 0; +} + +void simple_test() { + printf("This is a simple test function.\n"); +} + +int my_int; +char my_char; +float my_float; + +int add(int a, int b) { + return a + b; +}