public Production[] createProductionsForInit(State state, Transition[] tm) {
		// TODO Auto-generated method stub
		int id=state.getID();
		ArrayList <Production> init=new ArrayList <Production>();

		// for now
		init.add(new Production("S", VAR_START+SQUARE+SQUARE+VAR_END+"S"));
		init.add(new Production("S", "S"+VAR_START+SQUARE+SQUARE+VAR_END));
		init.add(new Production("S", "T"));
		myAllReadableString.add(SQUARE);
		
		for (int i=0; i<tm.length; i++)
		{
			TMTransition trans=(TMTransition)tm[i];
			int tape=trans.getTapeLength();
			for (int j=0; j<tape; j++)
			{
				String str=trans.getRead(j);
				if (str.equals(SQUARE_SYMBOL))
					str=SQUARE;
				String write=trans.getWrite(j);
				if (write.equals(SQUARE_SYMBOL))
					write=SQUARE;
				myAllWritableString.add(write);
				if (!myAllReadableString.contains(str))
				{
					myAllReadableString.add(str);
					String var1=VAR_START+str+str+VAR_END;
					String var2=VAR_START+str+id+str+VAR_END;
					init.add(new Production("T", "T"+var1));
					init.add(new Production("T", var2));
				}
			}
		}
		init.add(new Production(SQUARE, null));
		
		Production[] answer=new Production[init.size()];
		for (int i=0; i<answer.length; i++)
		{
			answer[i]=init.get(i);
		}
		return answer;
	}