code: public static ScannerFactory create(
          FA fa, int errorSi, ParserTable parserTable, IntBitSet whites, PrintWriter verbose, PrintWriter listing)
              throws GenericException {
          List modes;  // list of IntSets
          char[] table;
  
          if (listing != null) {
              listing.println("Scanner\n");
              listing.println(fa.toString());
          }
          if (verbose != null) {
              verbose.println("computing scanner modes");
          }
          modes = Modes.generate(fa, parserTable, whites, listing);
          if (verbose != null) {
              verbose.println("building table fa");
          }
          table = createTable(fa, errorSi, modes);
          return new ScannerFactory(fa.getStart(), modes.size(), table);
      }
docs: --