# File lib/treetop/compiler/metagrammar.rb, line 1616 def _nt_optional_suffix start_index = index if node_cache[:optional_suffix].has_key?(index) cached = node_cache[:optional_suffix][index] @index = cached.interval.end if cached return cached end if input.index('?', index) == index r0 = instantiate_node(Optional,input, index...(index + 1)) @index += 1 else terminal_parse_failure('?') r0 = nil end node_cache[:optional_suffix][start_index] = r0 return r0 end