lib/cucumber/parser/table.rb in cucumber-0.4.3 vs lib/cucumber/parser/table.rb in cucumber-0.4.4
- old
+ new
@@ -1,11 +1,11 @@
# Autogenerated from a Treetop grammar. Edits may be lost.
module Cucumber
module Parser
- # TIP: When you hack on the grammar, just delete feature.rb in this directory.
+ # TIP: When you hack on the grammar, just delete table.rb in this directory.
# Also make sure you have uninstalled all cucumber gems (don't forget xxx-cucumber
# github gems).
#
# Treetop will then generate the parser in-memory. When you're happy, just generate
# the rb file with tt feature.tt
@@ -14,10 +14,12 @@
def root
@root || :table
end
+ include Common
+
module Table0
def at_line?(line)
elements.detect{|table_row| table_row.at_line?(line)}
end
@@ -263,13 +265,12 @@
r2 = instantiate_node(SyntaxNode,input, index...index)
end
s1 << r2
if r2
if index < input_length
- next_character = index + input[index..-1].match(/\A(.)/um).end(1)
- r6 = instantiate_node(SyntaxNode,input, index...next_character)
- @index = next_character
+ r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
+ @index += 1
else
terminal_parse_failure("any character")
r6 = nil
end
s1 << r6
@@ -288,125 +289,9 @@
end
end
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
node_cache[:cell][start_index] = r0
-
- r0
- end
-
- def _nt_space
- start_index = index
- if node_cache[:space].has_key?(index)
- cached = node_cache[:space][index]
- @index = cached.interval.end if cached
- return cached
- end
-
- if has_terminal?('\G[ \\t]', true, index)
- next_character = index + input[index..-1].match(/\A(.)/um).end(1)
- r0 = instantiate_node(SyntaxNode, input, index...next_character)
- @index = next_character
- else
- r0 = nil
- end
-
- node_cache[:space][start_index] = r0
-
- r0
- end
-
- module Eol0
- end
-
- def _nt_eol
- start_index = index
- if node_cache[:eol].has_key?(index)
- cached = node_cache[:eol][index]
- @index = cached.interval.end if cached
- return cached
- end
-
- i0 = index
- if has_terminal?("\n", false, index)
- r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
- @index += 1
- else
- terminal_parse_failure("\n")
- r1 = nil
- end
- if r1
- r0 = r1
- else
- i2, s2 = index, []
- if has_terminal?("\r", false, index)
- r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
- @index += 1
- else
- terminal_parse_failure("\r")
- r3 = nil
- end
- s2 << r3
- if r3
- if has_terminal?("\n", false, index)
- r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
- @index += 1
- else
- terminal_parse_failure("\n")
- r5 = nil
- end
- if r5
- r4 = r5
- else
- r4 = instantiate_node(SyntaxNode,input, index...index)
- end
- s2 << r4
- end
- if s2.last
- r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
- r2.extend(Eol0)
- else
- @index = i2
- r2 = nil
- end
- if r2
- r0 = r2
- else
- @index = i0
- r0 = nil
- end
- end
-
- node_cache[:eol][start_index] = r0
-
- r0
- end
-
- def _nt_eof
- start_index = index
- if node_cache[:eof].has_key?(index)
- cached = node_cache[:eof][index]
- @index = cached.interval.end if cached
- return cached
- end
-
- i0 = index
- if index < input_length
- next_character = index + input[index..-1].match(/\A(.)/um).end(1)
- r1 = instantiate_node(SyntaxNode,input, index...next_character)
- @index = next_character
- else
- terminal_parse_failure("any character")
- r1 = nil
- end
- if r1
- r0 = nil
- else
- @index = i0
- r0 = instantiate_node(SyntaxNode,input, index...index)
- end
-
- node_cache[:eof][start_index] = r0
r0
end
end
\ No newline at end of file