Method: ANTLR3::Lexer#match

Defined in:
lib/antlr3/recognizers.rb

#match(expected) ⇒ Object



1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
# File 'lib/antlr3/recognizers.rb', line 1076

def match( expected )
  case expected
  when String
    expected.each_byte do |char|
      unless @input.peek == char
        @state.backtracking > 0 and raise BacktrackingFailed
        error = MismatchedToken( char )
        recover( error )
        raise error
      end
      @input.consume()
    end
  else # single integer character
    unless @input.peek == expected
      @state.backtracking > 0 and raise BacktrackingFailed
      error = MismatchedToken( expected )
      recover( error )
      raise error
    end
    @input.consume
  end
  return true
end