am 54e84a00
: Make a makedict command for dicttool (A3)
* commit '54e84a00fc032ba566cbda41feafa71de77e1c43': Make a makedict command for dicttool (A3)
This commit is contained in:
commit
900910c02b
8 changed files with 70 additions and 11 deletions
|
@ -61,8 +61,8 @@ public class FusionDictionary implements Iterable<Word> {
|
|||
* This represents an "attribute", that is either a bigram or a shortcut.
|
||||
*/
|
||||
public static class WeightedString {
|
||||
final String mWord;
|
||||
int mFrequency;
|
||||
public final String mWord;
|
||||
public int mFrequency;
|
||||
public WeightedString(String word, int frequency) {
|
||||
mWord = word;
|
||||
mFrequency = frequency;
|
||||
|
|
|
@ -27,10 +27,10 @@ import java.util.Arrays;
|
|||
* This is chiefly used to iterate a dictionary.
|
||||
*/
|
||||
public class Word implements Comparable<Word> {
|
||||
final String mWord;
|
||||
final int mFrequency;
|
||||
final ArrayList<WeightedString> mShortcutTargets;
|
||||
final ArrayList<WeightedString> mBigrams;
|
||||
public final String mWord;
|
||||
public final int mFrequency;
|
||||
public final ArrayList<WeightedString> mShortcutTargets;
|
||||
public final ArrayList<WeightedString> mBigrams;
|
||||
|
||||
private int mHashCode = 0;
|
||||
|
||||
|
|
|
@ -16,9 +16,16 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
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_MODULE := dicttool
|
||||
LOCAL_JAVA_LIBRARIES := junit
|
||||
LOCAL_MODULE_TAGS := eng
|
||||
|
||||
include $(BUILD_HOST_JAVA_LIBRARY)
|
||||
|
|
|
@ -14,7 +14,12 @@
|
|||
* 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.FileInputStream;
|
||||
|
@ -102,7 +107,11 @@ public class DictionaryMaker {
|
|||
}
|
||||
|
||||
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 <binary input>] [-d <binary output format version 2>] "
|
||||
+ "[-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"
|
||||
+ " 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"
|
||||
+ " several outputs.");
|
||||
+ " several outputs.";
|
||||
}
|
||||
|
||||
public Arguments(String[] argsArray) throws IOException {
|
|
@ -35,6 +35,7 @@ public class Dicttool {
|
|||
sCommands.put("info", Info.class);
|
||||
sCommands.put("compress", Compress.Compressor.class);
|
||||
sCommands.put("uncompress", Compress.Uncompressor.class);
|
||||
sCommands.put("makedict", Makedict.class);
|
||||
}
|
||||
|
||||
private static Command getCommandInstance(final String commandName) {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -14,11 +14,13 @@
|
|||
* 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.Node;
|
||||
import com.android.inputmethod.latin.makedict.FusionDictionary.WeightedString;
|
||||
import com.android.inputmethod.latin.makedict.Word;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
Loading…
Reference in a new issue