program compiler_parser_fixture
use vm.io.mem
use vm.core.convert
use std.compiler.lexer
use std.compiler.parser
fn main() {
let n = pub_read()
assert(convert.as_u32(n) < convert.as_u32(1025))
for i in 0..n bounded 1024 { mem.write(1000 + convert.as_field(i), pub_read()) }
lexer.lex(1000,n,2000,7000,7500)
assert(mem.read(7502) == 0)
parser.parse(2000,mem.read(7501),10000,18000,18500,19000)
assert(mem.read(18503) == 0)
let count = mem.read(18502)
let base = 10000
pub_write(count)
pub_write(0)
for i in 0..count bounded 1024 {
pub_write(mem.read(base + convert.as_field(i) * 8 + 0))
pub_write(mem.read(base + convert.as_field(i) * 8 + 1))
pub_write(mem.read(base + convert.as_field(i) * 8 + 2))
pub_write(mem.read(base + convert.as_field(i) * 8 + 3))
pub_write(mem.read(base + convert.as_field(i) * 8 + 4))
pub_write(mem.read(base + convert.as_field(i) * 8 + 5))
pub_write(mem.read(base + convert.as_field(i) * 8 + 6))
pub_write(mem.read(base + convert.as_field(i) * 8 + 7))
}
}