code: List<Token> tokenize(String input) {
          StringBuilder accumulator = new StringBuilder();
          List<Token> tokens = new ArrayList<>();
          input += '\0';
  
          for (int i = 0; i < input.length(); i++) {
              i = process(accumulator, tokens, i, input.charAt(i));
          }
  
          return tokens;
      }
docs: tests only