blob: f883be2103276760e10be8e05f50844995f2faec (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
fn read-cell in: (addr gap-buffer), out: (addr handle cell), trace: (addr trace) {
# TODO: we may be able to generate tokens lazily and drop this stream.
# Depends on how we implement indent-sensitivity and infix.
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
}
|