@Override
	public void dumpProductions()
	{
		int i = 0;
		finalOutputStream.print("===== PRODUCTIONS =====\n");
		for(NonTerminal nt : grammar.getNT())
		{
			if(!grammar.pContains(nt)) continue;
			for(Production p : grammar.getP(nt))
			{
				finalOutputStream.print("[" + i + "]" + p + " ");
				numbering.put(p,i++);
				if(i % PRODUCTIONS_PER_LINE == 0) finalOutputStream.print("\n");
			}
		}
		if(i % PRODUCTIONS_PER_LINE != 0) finalOutputStream.print("\n");
	}