module Trenni::Fallback

def self.parse_markup(buffer, delegate, entities)

line 214 "markup.rl"
def self.parse_markup(buffer, delegate, entities)
ata = buffer.read
ytes = data.bytes
		p = 0
 Must set pe here or it gets incorrectly set to data.length
e = eof = data.bytesize
tack = []
		pcdata = nil
haracters_begin = characters_end = nil
ntity_begin = entity_end = nil
dentifier_begin = identifier_end = nil
octype_begin = doctype_end = nil
omment_begin = comment_end = nil
nstruction_begin = instruction_end = nil
data_begin = cdata_end = nil
as_entities = has_value = false
					# line 458 "markup.rb"
egin
p ||= 0
pe ||= data.length
cs = markup_start
top = 0
nd
 line 235 "markup.rl"
		# line 468 "markup.rb"
egin
testEof = false
_slen, _trans, _keys, _inds, _acts, _nacts = nil
_goto_level = 0
_resume = 10
_eof_trans = 15
_again = 20
_test_eof = 30
_out = 40
while true
	if _goto_level <= 0
		if p == pe
			_goto_level = _test_eof
			next
		end
		if cs == 0
			_goto_level = _out
			next
		end
	end
	if _goto_level <= _resume
		_keys = cs << 1
		_inds = _markup_index_offsets[cs]
		_slen = _markup_key_spans[cs]
		_wide = ( bytes[p])
		_trans = if (   _slen > 0 && 
			_markup_trans_keys[_keys] <= _wide && 
			_wide <= _markup_trans_keys[_keys + 1] 
		) then
		_markup_indicies[ _inds + _wide - _markup_trans_keys[_keys] ] 
	else 
		_markup_indicies[ _inds + _slen ]
	end
	cs = _markup_trans_targs[_trans]
	if _markup_trans_actions[_trans] != 0
		case _markup_trans_actions[_trans]
		when 2 then
			# line 24 "markup.rl"
			begin
				identifier_begin = p
			end
		when 9 then
			# line 28 "markup.rl"
			begin
				identifier_end = p
			end
		when 17 then
			# line 37 "markup.rl"
			begin
			end
		when 16 then
			# line 49 "markup.rl"
			begin
				characters_begin = p
			end
		when 27 then
			# line 59 "markup.rl"
			begin
				raise ParseError.new("could not parse entity", buffer, p)
			end
		when 28 then
			# line 63 "markup.rl"
			begin
				entity_begin = p
			end
		when 26 then
			# line 125 "markup.rl"
			begin
			end
		when 24 then
			# line 132 "markup.rl"
			begin
				raise ParseError.new("could not parse instruction", buffer, p)
			end
		when 6 then
			# line 145 "markup.rl"
			begin
				self_closing = true
			end
		when 1 then
			# line 185 "markup.rl"
			begin
				raise ParseError.new("could not parse tag", buffer, p)
			end
		when 18 then
			# line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
			begin
				begin
					stack[top] = cs
					top+= 1
					cs = 42
					_goto_level = _again
					next
				end
			end
		when 25 then
			# line 28 "markup.rl"
			begin
				identifier_end = p
			end
			# line 122 "markup.rl"
			begin
			end
		when 3 then
			# line 28 "markup.rl"
			begin
				identifier_end = p
			end
			# line 136 "markup.rl"
			begin
				self_closing = false
												delegate.open_tag_begin(data.byteslice(identifier_begin...identifier_end), identifier_begin)
			end
		when 7 then
			# line 28 "markup.rl"
			begin
				identifier_end = p
			end
			# line 162 "markup.rl"
			begin
				if has_value
					pcdata = MarkupString.raw(pcdata) unless has_entities
														value = pcdata
				else
					value = true
				end
												delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
			end
		when 10 then
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 49 "markup.rl"
			begin
				characters_begin = p
			end
		when 11 then
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
			begin
				begin
					stack[top] = cs
					top+= 1
					cs = 42
					_goto_level = _again
					next
				end
			end
		when 12 then
			# line 53 "markup.rl"
			begin
				characters_end = p
												pcdata << data.byteslice(characters_begin...characters_end)
			end
			# line 37 "markup.rl"
			begin
			end
		when 13 then
			# line 53 "markup.rl"
			begin
				characters_end = p
												pcdata << data.byteslice(characters_begin...characters_end)
			end
			# line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
			begin
				begin
					stack[top] = cs
					top+= 1
					cs = 42
					_goto_level = _again
					next
				end
			end
		when 31 then
			# line 67 "markup.rl"
			begin
				entity_end = p
												name = data.byteslice(entity_begin...entity_end)
												has_entities = true
				pcdata << entities[name]
			end
			# line 8 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
			begin
				begin
					top -= 1
					cs = stack[top]
					_goto_level = _again
					next
				end
			end
		when 30 then
			# line 76 "markup.rl"
			begin
				entity_end = p
												has_entities = true
				pcdata << data.byteslice(entity_begin...entity_end).to_i(16)
			end
			# line 8 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
			begin
				begin
					top -= 1
					cs = stack[top]
					_goto_level = _again
					next
				end
			end
		when 29 then
			# line 83 "markup.rl"
			begin
				entity_end = p
												has_entities = true
				pcdata << data.byteslice(entity_begin...entity_end).to_i(10)
			end
			# line 8 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
			begin
				begin
					top -= 1
					cs = stack[top]
					_goto_level = _again
					next
				end
			end
		when 5 then
			# line 149 "markup.rl"
			begin
				has_value = false
				pcdata = ""
			end
			# line 24 "markup.rl"
			begin
				identifier_begin = p
			end
		when 14 then
			# line 154 "markup.rl"
			begin
				has_value = true
			end
			# line 162 "markup.rl"
			begin
				if has_value
					pcdata = MarkupString.raw(pcdata) unless has_entities
														value = pcdata
				else
					value = true
				end
												delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
			end
		when 19 then
			# line 158 "markup.rl"
			begin
				has_value = true
			end
			# line 162 "markup.rl"
			begin
				if has_value
					pcdata = MarkupString.raw(pcdata) unless has_entities
														value = pcdata
				else
					value = true
				end
												delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
			end
		when 4 then
			# line 28 "markup.rl"
			begin
				identifier_end = p
			end
			# line 136 "markup.rl"
			begin
				self_closing = false
												delegate.open_tag_begin(data.byteslice(identifier_begin...identifier_end), identifier_begin)
			end
			# line 145 "markup.rl"
			begin
				self_closing = true
			end
		when 8 then
			# line 28 "markup.rl"
			begin
				identifier_end = p
			end
			# line 162 "markup.rl"
			begin
				if has_value
					pcdata = MarkupString.raw(pcdata) unless has_entities
														value = pcdata
				else
					value = true
				end
												delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
			end
			# line 145 "markup.rl"
			begin
				self_closing = true
			end
		when 32 then
			# line 40 "markup.rl"
			begin
			end
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 49 "markup.rl"
			begin
				characters_begin = p
			end
		when 33 then
			# line 40 "markup.rl"
			begin
			end
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
			begin
				begin
					stack[top] = cs
					top+= 1
					cs = 42
					_goto_level = _again
					next
				end
			end
		when 15 then
			# line 154 "markup.rl"
			begin
				has_value = true
			end
			# line 162 "markup.rl"
			begin
				if has_value
					pcdata = MarkupString.raw(pcdata) unless has_entities
														value = pcdata
				else
					value = true
				end
												delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
			end
			# line 145 "markup.rl"
			begin
				self_closing = true
			end
		when 20 then
			# line 158 "markup.rl"
			begin
				has_value = true
			end
			# line 162 "markup.rl"
			begin
				if has_value
					pcdata = MarkupString.raw(pcdata) unless has_entities
														value = pcdata
				else
					value = true
				end
												delegate.attribute(data.byteslice(identifier_begin...identifier_end), value)
			end
			# line 145 "markup.rl"
			begin
				self_closing = true
			end
		when 48 then
			# line 94 "markup.rl"
			begin
				doctype_end = p
												delegate.doctype(data.byteslice(doctype_begin...doctype_end))
			end
			# line 40 "markup.rl"
			begin
			end
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 49 "markup.rl"
			begin
				characters_begin = p
			end
		when 49 then
			# line 94 "markup.rl"
			begin
				doctype_end = p
												delegate.doctype(data.byteslice(doctype_begin...doctype_end))
			end
			# line 40 "markup.rl"
			begin
			end
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
			begin
				begin
					stack[top] = cs
					top+= 1
					cs = 42
					_goto_level = _again
					next
				end
			end
		when 44 then
			# line 108 "markup.rl"
			begin
				comment_end = p
												delegate.comment(data.byteslice(comment_begin...comment_end))
			end
			# line 40 "markup.rl"
			begin
			end
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 49 "markup.rl"
			begin
				characters_begin = p
			end
		when 45 then
			# line 108 "markup.rl"
			begin
				comment_end = p
												delegate.comment(data.byteslice(comment_begin...comment_end))
			end
			# line 40 "markup.rl"
			begin
			end
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
			begin
				begin
					stack[top] = cs
					top+= 1
					cs = 42
					_goto_level = _again
					next
				end
			end
		when 60 then
			# line 128 "markup.rl"
			begin
				delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
			end
			# line 40 "markup.rl"
			begin
			end
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 49 "markup.rl"
			begin
				characters_begin = p
			end
		when 61 then
			# line 128 "markup.rl"
			begin
				delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
			end
			# line 40 "markup.rl"
			begin
			end
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
			begin
				begin
					stack[top] = cs
					top+= 1
					cs = 42
					_goto_level = _again
					next
				end
			end
		when 40 then
			# line 174 "markup.rl"
			begin
				delegate.open_tag_end(self_closing)
			end
			# line 40 "markup.rl"
			begin
			end
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 49 "markup.rl"
			begin
				characters_begin = p
			end
		when 41 then
			# line 174 "markup.rl"
			begin
				delegate.open_tag_end(self_closing)
			end
			# line 40 "markup.rl"
			begin
			end
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
			begin
				begin
					stack[top] = cs
					top+= 1
					cs = 42
					_goto_level = _again
					next
				end
			end
		when 56 then
			# line 181 "markup.rl"
			begin
				delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
			end
			# line 40 "markup.rl"
			begin
			end
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 49 "markup.rl"
			begin
				characters_begin = p
			end
		when 57 then
			# line 181 "markup.rl"
			begin
				delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
			end
			# line 40 "markup.rl"
			begin
			end
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
			begin
				begin
					stack[top] = cs
					top+= 1
					cs = 42
					_goto_level = _again
					next
				end
			end
		when 52 then
			# line 193 "markup.rl"
			begin
				cdata_end = p
												delegate.cdata(data.byteslice(cdata_begin...cdata_end))
			end
			# line 40 "markup.rl"
			begin
			end
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 49 "markup.rl"
			begin
				characters_begin = p
			end
		when 53 then
			# line 193 "markup.rl"
			begin
				cdata_end = p
												delegate.cdata(data.byteslice(cdata_begin...cdata_end))
			end
			# line 40 "markup.rl"
			begin
			end
			# line 32 "markup.rl"
			begin
				pcdata = ""
				has_entities = false
			end
			# line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
			begin
				begin
					stack[top] = cs
					top+= 1
					cs = 42
					_goto_level = _again
					next
				end
			end
		when 34 then
			# line 142 "markup.rl"
			begin
			end
			# line 178 "markup.rl"
			begin
			end
			# line 118 "markup.rl"
			begin
				instruction_begin = p
			end
			# line 104 "markup.rl"
			begin
				comment_begin = p
			end
			# line 90 "markup.rl"
			begin
				doctype_begin = p
			end
			# line 189 "markup.rl"
			begin
				cdata_begin = p
			end
		when 50 then
			# line 94 "markup.rl"
			begin
				doctype_end = p
												delegate.doctype(data.byteslice(doctype_begin...doctype_end))
			end
			# line 142 "markup.rl"
			begin
			end
			# line 178 "markup.rl"
			begin
			end
			# line 118 "markup.rl"
			begin
				instruction_begin = p
			end
			# line 104 "markup.rl"
			begin
				comment_begin = p
			end
			# line 90 "markup.rl"
			begin
				doctype_begin = p
			end
			# line 189 "markup.rl"
			begin
				cdata_begin = p
			end
		when 46 then
			# line 108 "markup.rl"
			begin
				comment_end = p
												delegate.comment(data.byteslice(comment_begin...comment_end))
			end
			# line 142 "markup.rl"
			begin
			end
			# line 178 "markup.rl"
			begin
			end
			# line 118 "markup.rl"
			begin
				instruction_begin = p
			end
			# line 104 "markup.rl"
			begin
				comment_begin = p
			end
			# line 90 "markup.rl"
			begin
				doctype_begin = p
			end
			# line 189 "markup.rl"
			begin
				cdata_begin = p
			end
		when 62 then
			# line 128 "markup.rl"
			begin
				delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
			end
			# line 142 "markup.rl"
			begin
			end
			# line 178 "markup.rl"
			begin
			end
			# line 118 "markup.rl"
			begin
				instruction_begin = p
			end
			# line 104 "markup.rl"
			begin
				comment_begin = p
			end
			# line 90 "markup.rl"
			begin
				doctype_begin = p
			end
			# line 189 "markup.rl"
			begin
				cdata_begin = p
			end
		when 42 then
			# line 174 "markup.rl"
			begin
				delegate.open_tag_end(self_closing)
			end
			# line 142 "markup.rl"
			begin
			end
			# line 178 "markup.rl"
			begin
			end
			# line 118 "markup.rl"
			begin
				instruction_begin = p
			end
			# line 104 "markup.rl"
			begin
				comment_begin = p
			end
			# line 90 "markup.rl"
			begin
				doctype_begin = p
			end
			# line 189 "markup.rl"
			begin
				cdata_begin = p
			end
		when 58 then
			# line 181 "markup.rl"
			begin
				delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
			end
			# line 142 "markup.rl"
			begin
			end
			# line 178 "markup.rl"
			begin
			end
			# line 118 "markup.rl"
			begin
				instruction_begin = p
			end
			# line 104 "markup.rl"
			begin
				comment_begin = p
			end
			# line 90 "markup.rl"
			begin
				doctype_begin = p
			end
			# line 189 "markup.rl"
			begin
				cdata_begin = p
			end
		when 54 then
			# line 193 "markup.rl"
			begin
				cdata_end = p
												delegate.cdata(data.byteslice(cdata_begin...cdata_end))
			end
			# line 142 "markup.rl"
			begin
			end
			# line 178 "markup.rl"
			begin
			end
			# line 118 "markup.rl"
			begin
				instruction_begin = p
			end
			# line 104 "markup.rl"
			begin
				comment_begin = p
			end
			# line 90 "markup.rl"
			begin
				doctype_begin = p
			end
			# line 189 "markup.rl"
			begin
				cdata_begin = p
			end
		when 38 then
			# line 37 "markup.rl"
			begin
			end
			# line 43 "markup.rl"
			begin
				pcdata = MarkupString.raw(pcdata) unless has_entities
												delegate.text(pcdata)
			end
			# line 142 "markup.rl"
			begin
			end
			# line 178 "markup.rl"
			begin
			end
			# line 118 "markup.rl"
			begin
				instruction_begin = p
			end
			# line 104 "markup.rl"
			begin
				comment_begin = p
			end
			# line 90 "markup.rl"
			begin
				doctype_begin = p
			end
			# line 189 "markup.rl"
			begin
				cdata_begin = p
			end
		when 36 then
			# line 53 "markup.rl"
			begin
				characters_end = p
												pcdata << data.byteslice(characters_begin...characters_end)
			end
			# line 37 "markup.rl"
			begin
			end
			# line 43 "markup.rl"
			begin
				pcdata = MarkupString.raw(pcdata) unless has_entities
												delegate.text(pcdata)
			end
			# line 142 "markup.rl"
			begin
			end
			# line 178 "markup.rl"
			begin
			end
			# line 118 "markup.rl"
			begin
				instruction_begin = p
			end
			# line 104 "markup.rl"
			begin
				comment_begin = p
			end
			# line 90 "markup.rl"
			begin
				doctype_begin = p
			end
			# line 189 "markup.rl"
			begin
				cdata_begin = p
			end
			# line 1528 "markup.rb"
		end
	end
end
if _goto_level <= _again
	if cs == 0
		_goto_level = _out
		next
	end
	p += 1
	if p != pe
		_goto_level = _resume
		next
	end
end
if _goto_level <= _test_eof
	if p == eof
		case _markup_eof_actions[cs]
		when 27 then
			# line 59 "markup.rl"
			begin
				raise ParseError.new("could not parse entity", buffer, p)
			end
		when 47 then
			# line 94 "markup.rl"
			begin
				doctype_end = p
												delegate.doctype(data.byteslice(doctype_begin...doctype_end))
			end
		when 22 then
			# line 100 "markup.rl"
			begin
				raise ParseError.new("could not parse doctype", buffer, p)
			end
		when 43 then
			# line 108 "markup.rl"
			begin
				comment_end = p
												delegate.comment(data.byteslice(comment_begin...comment_end))
			end
		when 21 then
			# line 114 "markup.rl"
			begin
				raise ParseError.new("could not parse comment", buffer, p)
			end
		when 59 then
			# line 128 "markup.rl"
			begin
				delegate.instruction(data.byteslice(instruction_begin, p-instruction_begin))
			end
		when 24 then
			# line 132 "markup.rl"
			begin
				raise ParseError.new("could not parse instruction", buffer, p)
			end
		when 39 then
			# line 174 "markup.rl"
			begin
				delegate.open_tag_end(self_closing)
			end
		when 55 then
			# line 181 "markup.rl"
			begin
				delegate.close_tag(data.byteslice(identifier_begin...identifier_end), identifier_begin)
			end
		when 1 then
			# line 185 "markup.rl"
			begin
				raise ParseError.new("could not parse tag", buffer, p)
			end
		when 51 then
			# line 193 "markup.rl"
			begin
				cdata_end = p
												delegate.cdata(data.byteslice(cdata_begin...cdata_end))
			end
		when 23 then
			# line 199 "markup.rl"
			begin
				raise ParseError.new("could not parse cdata", buffer, p)
			end
		when 37 then
			# line 37 "markup.rl"
			begin
			end
			# line 43 "markup.rl"
			begin
				pcdata = MarkupString.raw(pcdata) unless has_entities
												delegate.text(pcdata)
			end
		when 35 then
			# line 53 "markup.rl"
			begin
				characters_end = p
												pcdata << data.byteslice(characters_begin...characters_end)
			end
			# line 37 "markup.rl"
			begin
			end
			# line 43 "markup.rl"
			begin
				pcdata = MarkupString.raw(pcdata) unless has_entities
												delegate.text(pcdata)
			end
			# line 1655 "markup.rb"
		end
	end
end
if _goto_level <= _out
	break
end
nd
d
line 236 "markup.rl"
if p != eof
aise ParseError.new("could not consume all input", buffer, p)
d
return nil

def self.parse_template(buffer, delegate)

line 75 "template.rl"
def self.parse_template(buffer, delegate)
ata = buffer.read
ytes = data.bytes
		p = 0
e = eof = data.bytesize
tack = []
		expression_begin = expression_end = nil
nstruction_begin = instruction_end = nil
					# line 522 "template.rb"
egin
p ||= 0
pe ||= data.length
cs = template_start
top = 0
ts = nil
te = nil
act = 0
nd
 line 88 "template.rl"
		# line 535 "template.rb"
egin
testEof = false
_slen, _trans, _keys, _inds, _acts, _nacts = nil
_goto_level = 0
_resume = 10
_eof_trans = 15
_again = 20
_test_eof = 30
_out = 40
while true
	if _goto_level <= 0
		if p == pe
			_goto_level = _test_eof
			next
		end
		if cs == 0
			_goto_level = _out
			next
		end
	end
	if _goto_level <= _resume
		case _template_from_state_actions[cs] 
		when 19 then
			# line 1 "NONE"
			begin
				ts = p
			end
			# line 563 "template.rb"
		end
		_keys = cs << 1
		_inds = _template_index_offsets[cs]
		_slen = _template_key_spans[cs]
		_wide = ( bytes[p])
		_trans = if (   _slen > 0 && 
			_template_trans_keys[_keys] <= _wide && 
			_wide <= _template_trans_keys[_keys + 1] 
		) then
		_template_indicies[ _inds + _wide - _template_trans_keys[_keys] ] 
	else 
		_template_indicies[ _inds + _slen ]
	end
end
if _goto_level <= _eof_trans
	cs = _template_trans_targs[_trans]
	if _template_trans_actions[_trans] != 0
		case _template_trans_actions[_trans]
		when 5 then
			# line 24 "template.rl"
			begin
				instruction_begin = p
			end
		when 6 then
			# line 28 "template.rl"
			begin
				instruction_end = p
			end
		when 9 then
			# line 40 "template.rl"
			begin
				raise ParseError.new("failed to parse instruction", buffer, p)
			end
		when 16 then
			# line 13 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/template.rl"
			begin
				begin
					stack[top] = cs
					top+= 1
					cs = 21
					_goto_level = _again
					next
				end
			end
		when 13 then
			# line 17 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/template.rl"
			begin
				begin
					stack[top] = cs
					top+= 1
					cs = 21
					_goto_level = _again
					next
				end
			end
		when 14 then
			# line 20 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/template.rl"
			begin
				begin
					top -= 1
					cs = stack[top]
					_goto_level = _again
					next
				end
			end
		when 2 then
			# line 1 "NONE"
			begin
				te = p+1
			end
		when 8 then
			# line 36 "template.rl"
			begin
				te = p+1
				begin 
					delegate.instruction(data.byteslice(instruction_begin...instruction_end), "\n")
				end
			end
		when 10 then
			# line 60 "template.rl"
			begin
				te = p+1
				begin 
					delegate.text(data.byteslice(ts...te))
				end
			end
		when 22 then
			# line 60 "template.rl"
			begin
				te = p
				p = p - 1; begin 
				delegate.text(data.byteslice(ts...te))
			end
		end
	when 24 then
		# line 32 "template.rl"
		begin
			te = p
			p = p - 1; begin 
			delegate.instruction(data.byteslice(instruction_begin...instruction_end))
		end
	end
when 21 then
	# line 60 "template.rl"
	begin
		te = p
		p = p - 1; begin 
		delegate.text(data.byteslice(ts...te))
	end
end
hen 1 then
# line 60 "template.rl"
begin
	begin p = ((te))-1; end
	begin 
		delegate.text(data.byteslice(ts...te))
	end
end
hen 3 then
# line 60 "template.rl"
begin
	begin p = ((te))-1; end
	begin 
		delegate.text(data.byteslice(ts...te))
	end
end
hen 7 then
# line 1 "NONE"
begin
	case act
	when 3 then
		begin begin p = ((te))-1; end
		delegate.instruction(data.byteslice(instruction_begin...instruction_end))
	end
when 6 then
	begin begin p = ((te))-1; end
	delegate.text(data.byteslice(ts...te))
end
nd 
d
n 4 then
line 40 "template.rl"
gin
aise ParseError.new("failed to parse instruction", buffer, p)
d
line 60 "template.rl"
gin
egin p = ((te))-1; end
egin 
delegate.text(data.byteslice(ts...te))
nd
d
n 23 then
line 44 "template.rl"
gin
xpression_begin = p
d
line 53 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/template.rl"
gin
e = p
= p - 1; begin cs = 32; end

 15 then
ine 13 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/template.rl"
in
gin
tack[top] = cs
op+= 1
s = 21
goto_level = _again
ext
d

ine 17 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/template.rl"
in
gin
tack[top] = cs
op+= 1
s = 21
goto_level = _again
ext
d

 11 then
ine 1 "NONE"
in
 = p+1

ine 32 "template.rl"
in
 = 3;		end
 20 then
ine 1 "NONE"
in
 = p+1

ine 60 "template.rl"
in
 = 6;		end
 18 then
ine 48 "template.rl"
in
pression_end = p

ine 52 "template.rl"
in
legate.expression(data.byteslice(expression_begin...expression_end))

ine 21 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/template.rl"
in
= 43;		end
ine 784 "template.rb"
goto_level <= _again
e _template_to_state_actions[cs] 
n 12 then
line 1 "NONE"
gin
 = nil;		end
line 794 "template.rb"

cs == 0
oto_level = _out
xt

= 1
p != pe
oto_level = _resume
xt

goto_level <= _test_eof
p == eof
 _template_eof_trans[cs] > 0
trans = _template_eof_trans[cs] - 1;
goto_level = _eof_trans
ext;
d
se _template_eof_actions[cs]
en 9 then
 line 40 "template.rl"
egin
raise ParseError.new("failed to parse instruction", buffer, p)
nd
en 17 then
 line 56 "template.rl"
egin
raise ParseError.new("failed to parse expression", buffer, p)
nd
 line 827 "template.rb"
d

goto_level <= _out
ak
ne 89 "template.rl"
 != eof
se ParseError.new("could not consume all input", buffer, p)
rn nil