private int checkIsRecompilation(ParserCompilerParameters args)
	{
		long latestInputModification = 1L;
		for(Pair<String,Object> input : args.getInputs())
		{
			if(input.second() instanceof Reader)
			{
				args.getLogger().log(new InterfaceErrorMessage("When the 'avoidRecompile' option is set, all inputs must be files"));
				return 1;
			}
			File f = new File(input.second().toString());
			if(!f.exists())
			{
				args.getLogger().log(new InterfaceErrorMessage("Grammar file not found: '" + input.second() + "'"));				
			}
			else if(f.lastModified() == 0)
			{
				args.getLogger().log(new InterfaceErrorMessage("Error reading modification time for input file '" + input.second() + "'"));
			}
			else latestInputModification = Math.max(latestInputModification,f.lastModified());
		}
		if(args.getOutputType() != CopperIOType.FILE || args.getOutputFile() == null)
		{
			args.getLogger().log(new InterfaceErrorMessage("When the 'avoidRecompile' option is set, the output must be a file"));
			return 1;
		}
		else if(!args.getOutputFile().exists())
		{
			return 0;
		}
		else if(args.getOutputFile().lastModified() == 0)
		{
			args.getLogger().log(new InterfaceErrorMessage("Error reading modification time for output file '" + args.getOutputFile() + "'"));
			return 1;
		}
		else if(latestInputModification < args.getOutputFile().lastModified())
		{
			return -1;
		}
		else
		{
			return 0;
		}
	}