def match_digits
      stack = []
      matched = match_digit
      while matched != :failed
        stack << matched
        matched = match_digit
      end
      stack
    end
def match_digits
      stack = []
      matched = match_digit
      while matched != :failed
        stack << matched
        matched = match_digit
      end
      stack
    end
match digits