am 900910c0: am 54e84a00: Make a makedict command for dicttool (A3)

* commit '900910c02bc10f902a27681311b8a93279c34ec2':
  Make a makedict command for dicttool (A3)
main
Jean Chalard 2012-08-03 09:35:16 -07:00 committed by Android Git Automerger
commit 7c2ec76ed8
8 changed files with 70 additions and 11 deletions

View File

@ -61,8 +61,8 @@ public class FusionDictionary implements Iterable<Word> {
* This represents an "attribute", that is either a bigram or a shortcut. * This represents an "attribute", that is either a bigram or a shortcut.
*/ */
public static class WeightedString { public static class WeightedString {
final String mWord; public final String mWord;
int mFrequency; public int mFrequency;
public WeightedString(String word, int frequency) { public WeightedString(String word, int frequency) {
mWord = word; mWord = word;
mFrequency = frequency; mFrequency = frequency;

View File

@ -27,10 +27,10 @@ import java.util.Arrays;
* This is chiefly used to iterate a dictionary. * This is chiefly used to iterate a dictionary.
*/ */
public class Word implements Comparable<Word> { public class Word implements Comparable<Word> {
final String mWord; public final String mWord;
final int mFrequency; public final int mFrequency;
final ArrayList<WeightedString> mShortcutTargets; public final ArrayList<WeightedString> mShortcutTargets;
final ArrayList<WeightedString> mBigrams; public final ArrayList<WeightedString> mBigrams;
private int mHashCode = 0; private int mHashCode = 0;

View File

@ -16,9 +16,16 @@
LOCAL_PATH := $(call my-dir) LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS) include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under,src) MAKEDICT_CORE_SOURCE_DIRECTORY := ../../java/src/com/android/inputmethod/latin/makedict
LOCAL_MAIN_SRC_FILES := $(call all-java-files-under,$(MAKEDICT_CORE_SOURCE_DIRECTORY))
LOCAL_TOOL_SRC_FILES := $(call all-java-files-under,src)
LOCAL_SRC_FILES := $(LOCAL_TOOL_SRC_FILES) \
$(filter-out $(addprefix %/, $(notdir $(LOCAL_TOOL_SRC_FILES))), $(LOCAL_MAIN_SRC_FILES)) \
$(call all-java-files-under,tests)
LOCAL_JAR_MANIFEST := etc/manifest.txt LOCAL_JAR_MANIFEST := etc/manifest.txt
LOCAL_MODULE := dicttool LOCAL_MODULE := dicttool
LOCAL_JAVA_LIBRARIES := junit
LOCAL_MODULE_TAGS := eng LOCAL_MODULE_TAGS := eng
include $(BUILD_HOST_JAVA_LIBRARY) include $(BUILD_HOST_JAVA_LIBRARY)

View File

@ -14,7 +14,12 @@
* the License. * the License.
*/ */
package com.android.inputmethod.latin.makedict; package com.android.inputmethod.latin.dicttool;
import com.android.inputmethod.latin.makedict.BinaryDictInputOutput;
import com.android.inputmethod.latin.makedict.FusionDictionary;
import com.android.inputmethod.latin.makedict.MakedictLog;
import com.android.inputmethod.latin.makedict.UnsupportedFormatException;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
@ -102,7 +107,11 @@ public class DictionaryMaker {
} }
private void displayHelp() { private void displayHelp() {
MakedictLog.i("Usage: makedict " MakedictLog.i(getHelp());
}
public static String getHelp() {
return "Usage: makedict "
+ "[-s <unigrams.xml> [-b <bigrams.xml>] [-c <shortcuts.xml>] " + "[-s <unigrams.xml> [-b <bigrams.xml>] [-c <shortcuts.xml>] "
+ "| -s <binary input>] [-d <binary output format version 2>] " + "| -s <binary input>] [-d <binary output format version 2>] "
+ "[-d1 <binary output format version 1>] [-x <xml output>] [-2]\n" + "[-d1 <binary output format version 1>] [-x <xml output>] [-2]\n"
@ -114,7 +123,7 @@ public class DictionaryMaker {
+ " are supported. All three can be output at the same time, but the same\n" + " are supported. All three can be output at the same time, but the same\n"
+ " output format cannot be specified several times. The behavior is\n" + " output format cannot be specified several times. The behavior is\n"
+ " unspecified if the same file is specified for input and output, or for\n" + " unspecified if the same file is specified for input and output, or for\n"
+ " several outputs."); + " several outputs.";
} }
public Arguments(String[] argsArray) throws IOException { public Arguments(String[] argsArray) throws IOException {

View File

@ -35,6 +35,7 @@ public class Dicttool {
sCommands.put("info", Info.class); sCommands.put("info", Info.class);
sCommands.put("compress", Compress.Compressor.class); sCommands.put("compress", Compress.Compressor.class);
sCommands.put("uncompress", Compress.Uncompressor.class); sCommands.put("uncompress", Compress.Uncompressor.class);
sCommands.put("makedict", Makedict.class);
} }
private static Command getCommandInstance(final String commandName) { private static Command getCommandInstance(final String commandName) {

View File

@ -0,0 +1,40 @@
/**
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.android.inputmethod.latin.dicttool;
import com.android.inputmethod.latin.makedict.UnsupportedFormatException;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
public class Makedict extends Dicttool.Command {
public static final String COMMAND = "makedict";
public Makedict() {
}
public String getHelp() {
return DictionaryMaker.Arguments.getHelp();
}
public void run() throws FileNotFoundException, IOException, ParserConfigurationException,
SAXException, UnsupportedFormatException {
DictionaryMaker.main(mArgs);
}
}

View File

@ -14,11 +14,13 @@
* the License. * the License.
*/ */
package com.android.inputmethod.latin.makedict; package com.android.inputmethod.latin.dicttool;
import com.android.inputmethod.latin.makedict.FusionDictionary;
import com.android.inputmethod.latin.makedict.FusionDictionary.DictionaryOptions; import com.android.inputmethod.latin.makedict.FusionDictionary.DictionaryOptions;
import com.android.inputmethod.latin.makedict.FusionDictionary.Node; import com.android.inputmethod.latin.makedict.FusionDictionary.Node;
import com.android.inputmethod.latin.makedict.FusionDictionary.WeightedString; import com.android.inputmethod.latin.makedict.FusionDictionary.WeightedString;
import com.android.inputmethod.latin.makedict.Word;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;