Difference between revisions of "Apertium-specific conventions for lexc"
(add the page to the "Writing dictionaries" category) |
|||
Line 35: | Line 35: | ||
[[Category:lexc]] |
[[Category:lexc]] |
||
[[Category:HFST]] |
[[Category:HFST]] |
||
[[Category:Writing dictionaries]] |
Revision as of 20:42, 4 January 2015
For Apertium, we use the lexc for certain transducers. There are some apertium-specific conventions we employ, outlined below. This wiki also has a comparison of lttoolbox and lexc formats.
Preferred format for stem definitions
The preferred format for stem definitions is underlying:surface CLASS ; ! "gloss"
, with optional following conditions, for example:
бул:бу DET-DEM ; ! "this" ! Dir/LR
Morpheme boundary
We use %>
as a morpheme boundary indicator in lexc.
Conditions
There are a few special conditions we use: ! Dir/LR
, ! Dir/RL
, and ! Use/MT
. These allow us to grep out lines to have different right-to-left and left-to-right transducers, and also have separate MT-specific and vanilla transducers. Otherwise lexc simply interprets these as comments.
Bracketed multi-character symbols
We define certain types of multi-character symbols for various purposes.
Tags
Tags are defined with less-than and greater-than signs, e.g. %<pl%>
.
Archiphonemes
Archiphonemes are defined with curly braces, e.g. %{A%}
.
Features
Features are defined with square brackets, e.g. %[%-coop%]
.
Syntax highlighting and folding in vim
If you want to have lexc syntax highlighting and/or folding in vim, you can get latest version of lexc vim plugin at this github address. Feel free to fork, add features, and submit pull requests :)
Some other options are listed on the vim page.