public Parser(){
		
	    String input = UtilitiesLA.ReadStringFromInput();
	    List<String> list = Arrays.asList(input.split("\n"));
	    Iterator<String> it = list.iterator();
	    String line=it.next();
	    	
		while(line.substring(0,1).equals("{")){
			FillRegDef(line);
			line = it.next();
		};
		
		mStateCounter = 0;
		if(line.substring(0,2).equals("%X")){
			FillState(line);
			line = it.next();
		}
			
		if(line.substring(0,2).equals("%L")){
			FillLexicalToken(line);
			if(it.hasNext()){
				line = it.next();
			}
			else{
				line=null;
			}
		}
			
		while(line!=null && line.substring(0,1).equals("<")){
			FillLexicalRule(line, it);
			if(it.hasNext()){
				line = it.next();
			}
			else{
				line=null;
			}
		};
			
		if(line!=null){
			//print error:wrong input file
		}
	}