fznslurp.pl 259 Bytes
% == 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), !,
				   write(OP), nl,
				   load_ast(OP, INT, OUT).