class SyntaxTree::Parser
def on_program(statements)
:call-seq:
def on_program(statements) last_column = source.length - line_counts.last.start location = Location.new( start_line: 1, start_char: 0, start_column: 0, end_line: line_counts.length - 1, end_char: source.length, end_column: last_column ) statements.body << @__end__ if @__end__ statements.bind(self, 0, 0, source.length, last_column) program = Program.new(statements: statements, location: location) attach_comments(program, @comments) program end