Untitled

 avatar
unknown
plain_text
a year ago
1.3 kB
5
Indexable
#include "token.h"
#include <stdio.h>
#include <stdlib.h>

// Предполагается, что функция tokenize и структура Token уже определены

int main() {
    const char* expression = "3 + 4.5 * 2 - (1 / 2)"; // Пример выражения для разбора
    int tokenCount = 0;
    Token* tokens = tokenize(expression, &tokenCount); // Вызов функции разбора строки

    if (tokens == NULL) {
        printf("Error tokenizing expression.\n");
        return 1;
    }

    printf("Tokens:\n");
    for (int i = 0; i < tokenCount; ++i) {
        switch (tokens[i].type) {
            case TOKEN_NUMBER:
                printf("Number: %f\n", tokens[i].value);
                break;
            case TOKEN_OPERATOR:
                printf("Operator: %c\n", tokens[i].op);
                break;
            case TOKEN_LPAREN:
                printf("Left Parenthesis\n");
                break;
            case TOKEN_RPAREN:
                printf("Right Parenthesis\n");
                break;
            default:
                printf("Unknown token type\n");
        }
    }

    free(tokens); // Освобождение выделенной памяти для токенов
    return 0;
}
Editor is loading...
Leave a Comment