demo work with AST and error recovery