Remove read_expression and use parse_expression directly

This commit is contained in:
2024-10-24 22:28:12 +01:00
parent b44bd100ca
commit f591809d1f
4 changed files with 57 additions and 61 deletions

View File

@@ -16,13 +16,15 @@ static bool step_repl(void)
const int len = read_line(getchar, buffer, BUFFER_SIZE);
if (len < 0)
return false;
const expression_t *e = read_expression(&pool, buffer, len);
if (NULL == e) {
expression_t *expression;
const int used = parse_expression(&pool, buffer, len, &expression);
if (used != len) {
puts("Invalid expression\n");
return true;
}
const int result = evaluate(e);
const int result = evaluate(expression);
printf("%d\n", result);
return true;