% == No, Emacs this is -*-Prolog-*- code, not what you thought... ============= load_ast(AST) :- load_ast(_>[], [], AST). load_ast(end_of_file, AST, AST). load_ast(IN > INT, IN, OUT) :- read(OP), !, ( g_read(ast_debug, true) -> write(OP), nl ; true ), load_ast(OP, INT, OUT). slurp(FILE, AST) :- see(FILE), load_ast(AST), !, seen. slurp(_, end_of_file) :- seen.