first cut of low level AST for bytecode compilation