public GrammarPacker( String grammar_filename, String config_filename, String output_filename, String alignments_filename, String featuredump_filename) throws IOException { this.labeled = true; this.grammar = grammar_filename; this.output = output_filename; this.dump = featuredump_filename; // TODO: Always open encoder config? This is debatable. this.types = new FeatureTypeAnalyzer(true); this.alignments = alignments_filename; packAlignments = (alignments != null); if (!packAlignments) { logger.info("No alignments file specified, skipping."); } else if (!new File(alignments_filename).exists()) { logger.severe("Alignments file does not exist: " + alignments); System.exit(0); } if (config_filename != null) { readConfig(config_filename); types.readConfig(config_filename); } else { logger.info("No config specified. Attempting auto-detection of feature types."); } File working_dir = new File(output); working_dir.mkdir(); if (!working_dir.exists()) { logger.severe("Failed creating output directory."); System.exit(0); } }