1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
|
# File 'lib/jsonpath/parser.rb', line 1816
def _nt_bareword
start_index = index
if node_cache[:bareword].has_key?(index)
cached = node_cache[:bareword][index]
@index = cached.interval.end if cached
return cached
end
s0, i0 = [], index
loop do
if input.index(Regexp.new('[a-zA-Z0-9]'), index) == index
r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
@index += 1
else
r1 = nil
end
if r1
s0 << r1
else
break
end
end
if s0.empty?
self.index = i0
r0 = nil
else
r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
end
node_cache[:bareword][start_index] = r0
return r0
end
|