This commit is contained in:
parent
c22dbbea39
commit
2acc00f9b9
|
@ -1,8 +1,8 @@
|
||||||
# tokens are like cells, but not recursive
|
# tokens are like cells, but not recursive
|
||||||
type token {
|
type token {
|
||||||
type: int
|
type: int
|
||||||
# type 2: symbol
|
# type 0: default
|
||||||
# type 3: stream
|
# type 1: stream
|
||||||
text-data: (handle stream byte)
|
text-data: (handle stream byte)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -309,7 +309,7 @@ fn next-token in: (addr gap-buffer), _out-token: (addr token), trace: (addr trac
|
||||||
var out-token/eax: (addr token) <- copy _out-token
|
var out-token/eax: (addr token) <- copy _out-token
|
||||||
{
|
{
|
||||||
var out-token-type/eax: (addr int) <- get out-token, type
|
var out-token-type/eax: (addr int) <- get out-token, type
|
||||||
copy-to *out-token-type, 0/uninitialized
|
copy-to *out-token-type, 0/default
|
||||||
}
|
}
|
||||||
var out-ah/edi: (addr handle stream byte) <- get out-token, text-data
|
var out-ah/edi: (addr handle stream byte) <- get out-token, text-data
|
||||||
$next-token:allocate: {
|
$next-token:allocate: {
|
||||||
|
@ -336,7 +336,7 @@ fn next-token in: (addr gap-buffer), _out-token: (addr token), trace: (addr trac
|
||||||
var out-token/eax: (addr token) <- copy _out-token
|
var out-token/eax: (addr token) <- copy _out-token
|
||||||
# streams set the type
|
# streams set the type
|
||||||
var out-token-type/eax: (addr int) <- get out-token, type
|
var out-token-type/eax: (addr int) <- get out-token, type
|
||||||
copy-to *out-token-type, 3/stream
|
copy-to *out-token-type, 1/stream
|
||||||
break $next-token:case
|
break $next-token:case
|
||||||
}
|
}
|
||||||
# comment
|
# comment
|
||||||
|
@ -999,7 +999,7 @@ fn bracket-token? _in: (addr token) -> _/eax: boolean {
|
||||||
var in/eax: (addr token) <- copy _in
|
var in/eax: (addr token) <- copy _in
|
||||||
{
|
{
|
||||||
var in-type/eax: (addr int) <- get in, type
|
var in-type/eax: (addr int) <- get in, type
|
||||||
compare *in-type, 3/stream
|
compare *in-type, 1/stream
|
||||||
break-if-!=
|
break-if-!=
|
||||||
# streams are never paren tokens
|
# streams are never paren tokens
|
||||||
return 0/false
|
return 0/false
|
||||||
|
@ -1108,7 +1108,7 @@ fn test-dot-token {
|
||||||
fn stream-token? _in: (addr token) -> _/eax: boolean {
|
fn stream-token? _in: (addr token) -> _/eax: boolean {
|
||||||
var in/eax: (addr token) <- copy _in
|
var in/eax: (addr token) <- copy _in
|
||||||
var in-type/eax: (addr int) <- get in, type
|
var in-type/eax: (addr int) <- get in, type
|
||||||
compare *in-type, 3/stream
|
compare *in-type, 1/stream
|
||||||
{
|
{
|
||||||
break-if-=
|
break-if-=
|
||||||
return 0/false
|
return 0/false
|
||||||
|
@ -1134,8 +1134,6 @@ fn allocate-token _out: (addr handle token) {
|
||||||
var out/eax: (addr handle token) <- copy _out
|
var out/eax: (addr handle token) <- copy _out
|
||||||
allocate out
|
allocate out
|
||||||
var out-addr/eax: (addr token) <- lookup *out
|
var out-addr/eax: (addr token) <- lookup *out
|
||||||
var type/ecx: (addr int) <- get out-addr, type
|
|
||||||
copy-to *type, 2/symbol
|
|
||||||
var dest-ah/eax: (addr handle stream byte) <- get out-addr, text-data
|
var dest-ah/eax: (addr handle stream byte) <- get out-addr, text-data
|
||||||
populate-stream dest-ah, 0x40/max-symbol-size
|
populate-stream dest-ah, 0x40/max-symbol-size
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue