changed subtypes for tags

This commit is contained in:
hugogogo
2026-05-02 10:25:25 +02:00
parent a250a170cb
commit 3977e6a6bb
4 changed files with 104 additions and 79 deletions

View File

@@ -197,55 +197,55 @@ int lexerize(const char *input, token *tokens)
if (token_is_variable(input, input_pos, &token_size))
{
tokens[tokens_count].type = TOKEN_VARIABLE;
tokens[tokens_count].subtype = TOKEN_NO_SUBTYPE;
tokens[tokens_count].tag = TOKEN_NO_TAG;
tokens[tokens_count].value_char = 'x';
}
else if (token_is_number_int(input, input_pos, &token_size))
{
tokens[tokens_count].type = TOKEN_NUMBER;
tokens[tokens_count].subtype = TOKEN_NUMBER_INT;
tokens[tokens_count].type = TOKEN_NUMBER_INT;
tokens[tokens_count].tag = TOKEN_NUMBER;
tokens[tokens_count].value_double = ft_atof(&input[input_pos]); // we keep info it's an int, but treat it as a double
}
else if (token_is_number_double(input, input_pos, &token_size))
{
tokens[tokens_count].type = TOKEN_NUMBER;
tokens[tokens_count].subtype = TOKEN_NUMBER_DOUBLE;
tokens[tokens_count].type = TOKEN_NUMBER_DOUBLE;
tokens[tokens_count].tag = TOKEN_NUMBER;
tokens[tokens_count].value_double = ft_atof(&input[input_pos]);
}
else if (token_is_power(input, input_pos, &token_size))
{
tokens[tokens_count].type = TOKEN_POWER;
tokens[tokens_count].subtype = TOKEN_NO_SUBTYPE;
tokens[tokens_count].tag = TOKEN_NO_TAG;
tokens[tokens_count].value_char = '^';
}
else if (token_is_sign_plus(input, input_pos, &token_size))
{
tokens[tokens_count].type = TOKEN_SIGN;
tokens[tokens_count].subtype = TOKEN_SIGN_PLUS;
tokens[tokens_count].type = TOKEN_SIGN_PLUS;
tokens[tokens_count].tag = TOKEN_SIGN;
tokens[tokens_count].value_char = input[input_pos];
}
else if (token_is_sign_minus(input, input_pos, &token_size))
{
tokens[tokens_count].type = TOKEN_SIGN;
tokens[tokens_count].subtype = TOKEN_SIGN_MINUS;
tokens[tokens_count].type = TOKEN_SIGN_MINUS;
tokens[tokens_count].tag = TOKEN_SIGN;
tokens[tokens_count].value_char = input[input_pos];
}
else if (token_is_factor_multiplication(input, input_pos, &token_size))
{
tokens[tokens_count].type = TOKEN_FACTOR;
tokens[tokens_count].subtype = TOKEN_FACTOR_MULTIPLICATION;
tokens[tokens_count].type = TOKEN_FACTOR_MULT;
tokens[tokens_count].tag = TOKEN_FACTOR;
tokens[tokens_count].value_char = input[input_pos];
}
else if (token_is_factor_division(input, input_pos, &token_size))
{
tokens[tokens_count].type = TOKEN_FACTOR;
tokens[tokens_count].subtype = TOKEN_FACTOR_DIVISION;
tokens[tokens_count].type = TOKEN_FACTOR_DIV;
tokens[tokens_count].tag = TOKEN_FACTOR;
tokens[tokens_count].value_char = input[input_pos];
}
else if (token_is_equal(input, input_pos, &token_size))
{
tokens[tokens_count].type = TOKEN_EQUAL;
tokens[tokens_count].subtype = TOKEN_NO_SUBTYPE;
tokens[tokens_count].tag = TOKEN_NO_TAG;
tokens[tokens_count].value_char = '=';
}
else
@@ -262,7 +262,7 @@ int lexerize(const char *input, token *tokens)
}
tokens[tokens_count].type = TOKEN_END;
tokens[tokens_count].subtype = TOKEN_NO_SUBTYPE;
tokens[tokens_count].tag = TOKEN_NO_TAG;
tokens[tokens_count].value_char = '\0';
return tokens_count;