way better prints yay

This commit is contained in:
uan
2026-02-05 21:48:44 +01:00
parent 5af769acc2
commit 078a300c1f
4 changed files with 135 additions and 33 deletions

View File

@@ -110,7 +110,11 @@ fn toktype_from_kw(kw string) TokenType {
}
fn is_delimiter(c u8, is_inside_number bool) bool {
return " +-*/.,;:%<>()[]{}=\n".contains(c.ascii_str()) && (c.ascii_str() != '.' || !is_inside_number)
valid_chars := match is_inside_number {
true {" +-*/,;:%<>()[]{}=\n"}
false {". +-*/,;:%<>()[]{}=\n"}
}
return valid_chars.contains(c.ascii_str())
}
fn is_real(str string) bool {
@@ -142,11 +146,11 @@ fn lex(input string) ?[]Token {
mut is_inside_number := false
for (right < input.len && left <= right) {
is_inside_number = input[left].ascii_str().is_int()
if input[right] == `\n` {
line++
}
if !is_delimiter(input[right], is_inside_number) {
is_inside_number = input[left].str().is_int()
right++
}
if right >= input.len {