SYNOPSIS
trietool [ options ] trie command arg ...DESCRIPTION
trietool is the command-line tool for manipulating double-array trie data. It can be used to query, add and remove words in a trie.
The Trie
The trie argument specifies the name of the trie to manipulate. A trie is stored in a file with `.tri' extension. However, to create a new trie, one needs to prepare a file with `.abm' extension, describing the Unicode ranges of alphabet set of the trie. The ABM defines a set of vectors that map Unicode characters into a continuous range of integers. The mapped integers will be used as internal alphabet for the trie. Such mapping can improve the space allocation within the trie data, regardless of non-continuity of the character set being used, as the mapped range is always continuous.The ABM file is a plain text file, with each line listing a range of 32-bit Unicodes to be added to the alphabet set, in the format:
- [0xSSSS,0xTTTT]
where `0xSSSS' and `0xTTTT' are hexadecimal values of starting and ending character code for the range, respectively.
For example, for a dictionary that contains only English words witout any punctuations, one may prepare `trie.abm' as:
-
[0x0041,0x005a]
[0x0061,0x007a]
The first line lists the ASCII codes for A-Z, and the second for a-z.
No more than 255 alphabets are allowed in a trie.
The created `.tri' file will incorporate the ABM data. So, the `.abm' file is not required after the first creation, and will be ignored.
COMMANDS
Available commands are:- add word data ...
- Add word to trie, associated with integer data. Arbitrary number of words-data pairs can be given. Two arguments will be read at a time, the first will be treated as word, and the second as data.
- add-list [ options ] list-file
- Add words with associated data listed in list-file to trie. The list-file must be a text file listing one word per line. The associated data can be put after the word in the same line, separated with tab (`\t') character. If the data field is omitted, a default value (-1) will be used instead.
-
Options are available for this command:
-
- -e, --encoding enc
- Specify character encoding of the list-file contents, such as `UTF-8'. If omitted, current locale codeset is assumed.
-
- delete word ...
- Delete word from trie. Arbitrary number of words to delete can be given.
- delete-list [ options ] list-file
- Delete words listed in list-file from trie. The list-file must be a text file listing one word per line.
-
Options are available for this command:
-
- -e, --encoding enc
- Specify character encoding of the list-file contents, such as `UTF-8'. If omitted, current locale codeset is assumed.
-
- query word
- Search for word in trie. If word exists, its associated data is printed to standard output. Otherwise, error message is printed to standard error, with nothing printed to standard output.
- list
- List all words in trie to standard output. The output lists one word-data pair per line, separated with tab (`\t') character, the format appropriate for being list-file for the add-list command.
OPTIONS
This program follows the usual GNU command line syntax, with long options starting with two dashes (`--'). A summary of options is included below.- -p, --path dir
- Set trie directory to dir [default=`.']
- -h, --help
- Show summary of options.
- -V, --version
- Show version of program.
AUTHOR
libdatrie was written by Theppitak Karoonboonyanan.This manual page was written by Theppitak Karoonboonyanan <[email protected]>.