# File src/TemplateParser.rb, line 37 def initialize(data, bindings) @data = data @nodestack = [Element.new("templateRoot", {}, {})] @bindings = bindings @pos = 0 @length = @data.length @len = @data.length begin loop do match = Pattern.match(@data[@pos,@len]) break unless match #@data = match.post_match @pos += match.end(0) @len = @length - @pos textToken(match.pre_match) parseTag(match) end rescue Exception raise "#{$!}: parsed error around #{$&}" end textToken(@data[@pos,@len]) end