if (Tab.ignored.get(i)) gen.print("ignore.set(" + i + "); ");
if (Tab.ignored.get(i)) gen.println("@@ignore.set(" + i + ")");
	static boolean WriteScanner() {		int i, j, max;		int[] startTab = new int[128];		boolean ok = true;		OutputStream s;		Comment com;		Symbol root = Tab.Sym(Tab.gramSy);		try {fram = new BufferedInputStream(new FileInputStream(srcDir + "Scanner.frame"));}		catch (IOException e) {			Scanner.err.Exception("-- cannot open Scanner.frame. " +			"Must be in the same directory as the grammar file.");		}		try {			s = new BufferedOutputStream(new FileOutputStream(srcDir + "Scanner.rb"));			gen = new PrintStream(s);}		catch (IOException e) {			Scanner.err.Exception("-- cannot generate scanner file");		}		if (dirtyDFA) ok = MakeDeterministic();		FillStartTab(startTab);                gen.println("# This file is generated. DO NOT MODIFY!");                gen.println();		gen.println("# HACK: package " + root.name + ";");		CopyFramePart("-->declarations");		gen.println("\tprivate; @@noSym = " + Tab.maxT + "; # FIX: make this a constant");		gen.println("\tprivate; @@start = [");		for (i=0; i<8; i++) {			for (j=0; j<16; j++)				gen.print(Int(startTab[16*i+j], 3) + ",");			gen.println();		}		gen.println("  0]");		CopyFramePart("-->initialization");		gen.print("\t\t");		max = Tab.ignored.size();		for (i=0; i<=max; i++)			if (Tab.ignored.get(i)) gen.print("ignore.set(" + i + "); ");		CopyFramePart("-->comment");		com = Comment.first; i = 0;		while (com != null) {			GenComment(com, i);			com = com.next; i++;		}		CopyFramePart("-->literals"); GenLiterals();		CopyFramePart("-->scan1");		if (Comment.first!=null) {			gen.print("\t\tif (");			com = Comment.first; i = 0;			while (com != null) {				gen.print(ChCond(com.start.charAt(0)));				gen.print(" && Comment" + i + "() ");				if (com.next != null) gen.print(" || ");				com = com.next; i++;			}			gen.print(") then ; return Scan(); end");		}		CopyFramePart("-->scan2");		for (State state=firstState.next; state!=null; state=state.next)		    WriteState(state);		gen.println("\t\t\t\twhen "+(State.lastNr+1));		gen.println("\t\t\t\t\tt.kind = 0; ");		CopyFramePart("$$$");		gen.flush();		return ok;	}