class POSDictionaryBuilder extends DictionaryBuilder {
  
  public POSDictionaryBuilder(File infoFile) throws IOException {
    super(infoFile);
  }

  public static void main(String[] args) throws Exception {<FILL_FUNCTION_BODY>}

  public File build(File dictFile) throws Exception {
      return buildDict(convertTabToSeparator(dictFile));
  }

}

    BuilderOptions builderOptions = new BuilderOptions();
    builderOptions.addOption(BuilderOptions.INPUT_OPTION, true, 
        BuilderOptions.TAB_INPUT_HELP, true);
    builderOptions.addOption(BuilderOptions.INFO_OPTION, true, 
        BuilderOptions.INFO_HELP, true);
    builderOptions.addOption(BuilderOptions.FREQ_OPTION, true, 
        BuilderOptions.FREQ_HELP, false);
    CommandLine cmdLine = builderOptions.parseArguments(args, POSDictionaryBuilder.class);
    
    POSDictionaryBuilder builder = new POSDictionaryBuilder(new File(cmdLine.getOptionValue(BuilderOptions.INFO_OPTION)));

    builder.setOutputFilename(cmdLine.getOptionValue(BuilderOptions.OUTPUT_OPTION));
    File inputFile = new File(cmdLine.getOptionValue(BuilderOptions.INPUT_OPTION));

    if (cmdLine.hasOption(BuilderOptions.FREQ_OPTION)) {
      builder.readFreqList(new File(cmdLine.getOptionValue(BuilderOptions.FREQ_OPTION)));
      inputFile = builder.addFreqData(inputFile, false);
    } 
    builder.build(inputFile);
  
<methods><variables>private static final int FIRST_RANGE_CODE,private static final int FREQ_RANGES_IN,private static final int FREQ_RANGES_OUT,private final Map<java.lang.String,java.lang.Integer> freqList,private java.lang.String outputFilename,private final java.util.regex.Pattern pFreqEntry,private final java.util.regex.Pattern pTaggerEntry,private final java.util.Properties props,private static final SerializationFormat serializationFormat