mu/shell/read.mu

15 lines
409 B
Forth

fn read-cell in: (addr gap-buffer), out: (addr handle cell), trace: (addr trace) {
var tokens-storage: (stream cell 0x400)
var tokens/ecx: (addr stream cell) <- address tokens-storage
tokenize in, tokens, trace
var error?/eax: boolean <- has-errors? trace
compare error?, 0/false
{
break-if-=
return
}
# TODO: insert parens
# TODO: transform infix
parse-input tokens, out, trace
}