Finite state and Constraint Grammar based analysers, proofing tools and other resources
All doc-comment documentation in one large file.
Alphabet below must be all multichar symbols used in all rules
… to be documented
*# Rules
First som e adjustment rules
Rules for subj and obj (to be revised)
This (part of) documentation was generated from src/cg3/dependency.cg3
@NO CODE@
@NO CODE@
@NO CODE@
@NO CODE@
@NO CODE@
ō
ke / kē
ko
lava
mā
mai
na
nā
PNP removes V if N to the right of safe Pr
V selects V if Prs or Prf particle to the left
VV selects V if next word is a safe V
prop selects Prop if not sentence-initially (relying on capital first letter)
Verbs
Preposition
PrDemN selects Pr in front of Dem N string (hmm, should it be Det N)
PrN selects Pr if in front of safe N
NoPr removes Pr when homoym with V and np NP or Pcle to the right
Ve selects V for “e” if followed by verb
NoVe removed V reading for all other “e”
Det selects Det when next word is N (hmm, careful mode?)
Nouns
NP selects N when left word is safe Det or Poss
maN selects N for clause-initial maa
Late lexical rules
ePrs selects Prs for “e” if V to the right
ePr selects Pr for “e” if N to the right
oi removes N reading from “oi” for CC oi
Late verb rules
dirverb selects V for item in directioal verb set when next word is directional particle
dirpcle selects Pcle if verb to the left
This (part of) documentation was generated from src/cg3/disambiguator.cg3
Tag declaration via STRICT-tAGS
*@NO CODE@
Sets for POS sub-categories
Sets for Semantic tags
Sets for Morphosyntactic properties
Sets for verbs
Miscellaneous sets
Border sets and their complements
Syntactic sets
These were the set types.
Map Interj, CC, CS, ..
PP complement rules
NP complemnt rules
Map any leftover as @X
This (part of) documentation was generated from src/cg3/functions.cg3
Adjective inflection The Tokelauan language adjectives compare.
This (part of) documentation was generated from src/fst/morphology/affixes/adjectives.lexc
Noun inflection The Tokelauan language nouns inflect in number and cases.
This (part of) documentation was generated from src/fst/morphology/affixes/nouns.lexc
Numeral affix file
LEXICON ARABICCASES adds +Arab
LEXICON ARABICCASE adds +Arab
LEXICON ARABICCASE0 adds +Arab
!! LEXICON NUM-PREFIXES
LEXICON REALARABICfirst to avoid 0 as first arabic, except from only 0, or in front of comma
LEXICON REALARABICpunct to get number after
LEXICON REALARABIC 1-4 arabics
LEXICON REALARABICfirstpart numbers like 199 878, 199.878, 199,878, 12000-13000
LEXICON REALDECARABICsecond 19912,878 and 12000-13000
LEXICON REALDECARABICdec hyph and comma
LEXICON REALARABICsecondpart numbers like 199 878 and 199.878 allow 199,878 as special typo
LEXICON REALARABICsecondpart_cont loop, to case suffix, to , or -,
LEXICON REALARABICDECIM loop and to % and case suffix
LEXICON ARABIC +Sem/ID, +Ord
LEXICON ARABICLOOPS
LEXICON ARABICSabcdef
LEXICON ARABICDATE
LEXICON ARABICDATEHYPH
LEXICON ARABICDATENUM
LEXICON ARABICDATENUM2
LEXICON datetag_w_dot_cont
LEXICON ARABICCLOCK is a regex for clock time.
LEXICON CLOCK-sep different separators for intervals, or one clock time only
LEXICON ARABICCLOCK2 is the second component of intervals, idntical to ARABICCLOCK
LEXICON ARABICCLOCK2x is the second component of intervals,
LEXICON ARABICCLOCKDECIMALS is fractional seconds
LEXICON ARABICYEAR
LEXICON numyear
LEXICON moreyear
LEXICON moreyearx
LEXICON yeartagplx
LEXICON ARABICORD
LEXICON REALARABICDELIMITER
LEXICON ARABICLOOP
LEXICON MARKDOT
LEXICON ROMAN roman numerals
LEXICON ROM-SINGEL
LEXICON ROM-THOUSAND
LEXICON ROM-THOUSAND-TAG
LEXICON ROM-HUNDRED
LEXICON ROM-HUNDRED-TAG
LEXICON ROM-TEN
LEXICON ROM-TEN-TAG
LEXICON ROM-ONE
LEXICON ROM-ONE-TAG
LEXICON ROM-SPLIT
LEXICON 2ROMAN
LEXICON 2ROM-THOUSAND
LEXICON 2ROM-THOUSAND-TAG
LEXICON 2ROM-HUNDRED
LEXICON 2ROM-HUNDRED-TAG
LEXICON 2ROM-TEN
LEXICON 2ROM-TEN-TAG
LEXICON 2ROM-ONE
LEXICON 2ROM-ONE-TAG
LEXICON ISOLATED-NUMEXP some isolated numeral expressions
LEXICON ARABICLOOPORD ordinals
LEXICON ACASETAG is for 1e+Num+Sg+Num:1e
LEXICON ARABICDELIMITER blank + 3 delim, what does the lg counc prefer?
LEXICON ARABICDELIMITERORD ordinals
LEXICON PROSENT % and case suffix
LEXICON POSTPROSENT % and case suffix
LEXICON ROMNUMTAG
This (part of) documentation was generated from src/fst/morphology/affixes/numerals.lexc
Prefixes Prefixes in the Tokelauan language are attatched to the left of other words.
This (part of) documentation was generated from src/fst/morphology/affixes/prefixes.lexc
Proper noun inflection The Tokelauan language proper nouns inflect in the same cases as regular nouns, but perhaps with a colon (‘:’) as separator.
This (part of) documentation was generated from src/fst/morphology/affixes/propernouns.lexc
This (part of) documentation was generated from src/fst/morphology/affixes/symbols.lexc
Verb inflection The Tokelauan language verbs inflect for number.
LEXICON Verbs splits to subgrups according to pl form
S = syll; R, E = C V in redup pattern
LEXICON 2v_pref = 2-syllabic verbs with CV reduplication
LEXICON 3v_pref = 3-syllabic verbs with CV reduplication
LEXICON tav_pref = 3-syllabic verbs with CV to ta
LEXICON ta_pref = 2-syllabic verbs with ta prefix
LEXICON 3redup_pref = 2-syllabic verbs with full reduplication
LEXICON 4redup_pref = 2-syllabic verbs with full reduplication
LEXICON vsg
LEXICON vpl
LEXICON vtags = adds POS and Sg, Pl tags as governed by the U flags
LEXICON tvtags = adds POS and Sg, Pl tags as governed by the U flags
LEXICON tv
LEXICON redup_suff = adds POS and Sg, Pl tags as governed by the U flags
This (part of) documentation was generated from src/fst/morphology/affixes/verbs.lexc
=================================== ! The Tokelauan morphophonological/twolc rules file ! =================================== !
RULE: ^R realisation as consonant = duplicates C for reduplication
RULE: ^E realisation as vowel = duplicates V for reduplication
RULE: ^R1 realisation as consonant = duplicates C1 for full reduplication
RULE: ^E1 realisation as vowel = duplicates V1 for full reduplication
RULE: ^R2 realisation as consonant = duplicates C3 for full reduplication
RULE: ^E2 realisation as vowel = duplicates V2 for full reduplication
This (part of) documentation was generated from src/fst/morphology/phonology.twolc
INTRODUCTION TO THE MORPHOLOGICAL ANALYSER FOR Tokelauan .
The morphological analyses of wordforms for the Tokelauan language are presented in this system in terms of the following symbols. (It is highly suggested to follow existing standards when adding new tags).
The parts-of-speech are:
The parts of speech are further split up into:
+Prox +Med +Dist = proximal, medial, distal (near speaker, hearer, neiter)
The Usage extents are marked using following tags:
The nominals are inflected in the following Number
The possession is marked as such: Numerals are classified under: Verb moods are: Other verb forms are
For reduplication ^R ^E ^R1 ^R2 ^E1 ^E2 ^3S ^T ^A ^[ ^] cons, vow, for 2- and 3-syll
+Dir directional
Question and Focus particles: +Qst +Foc
+Prf +Ipf +Fut Aspect, perhaps
Semantics are classified with
+Sem/Time-clock
These tags are used somewhere:
Derivations are classified under the morphophonetic form of the suffix, the source and target part-of-speech.
Morphophonology To represent phonologic variations in word forms we use the following symbols in the lexicon files:
And following triggers to control variation
We have manually optimised the structure of our lexicon using following flag diacritics to restrict morhpological combinatorics - only allow compounds with verbs if the verb is further derived into a noun again: | @P.NeedNoun.ON@ | (Dis)allow compounds with verbs unless nominalised | @D.NeedNoun.ON@ | (Dis)allow compounds with verbs unless nominalised | @C.NeedNoun@ | (Dis)allow compounds with verbs unless nominalised
For languages that allow compounding, the following flag diacritics are needed to control position-based compounding restrictions for nominals. Their use is handled automatically if combined with +CmpN/xxx tags. If not used, they will do no harm. | @P.CmpFrst.FALSE@ | Require that words tagged as such only appear first | @D.CmpPref.TRUE@ | Block such words from entering ENDLEX | @P.CmpPref.FALSE@ | Block these words from making further compounds | @D.CmpLast.TRUE@ | Block such words from entering R | @D.CmpNone.TRUE@ | Combines with the next tag to prohibit compounding | @U.CmpNone.FALSE@ | Combines with the prev tag to prohibit compounding | @P.CmpOnly.TRUE@ | Sets a flag to indicate that the word has passed R | @D.CmpOnly.FALSE@ | Disallow words coming directly from root.
Use the following flag diacritics to control downcasing of derived proper nouns (e.g. Finnish Pariisi -> pariisilainen). See e.g. North Sámi for how to use these flags. There exists a ready-made regex that will do the actual down-casing given the proper use of these flags. | @U.Cap.Obl@ | Allowing downcasing of derived names: deatnulasj. | @U.Cap.Opt@ | Allowing downcasing of derived names: deatnulasj.
Use the following flag diacritics to control tag placement for prefixing | @U.verb.sg@ | Tag moving from prefixing to +Sg | @U.verb.pl@ | Tag moving from prefixing to +Pl | @U.noun.sg@ | Tag moving from prefixing to +Sg | @U.noun.pl@ | Tag moving from prefixing to +Pl | @C.ErrOrth@ | a pematch tag to remove
Flag diacritic | Explanation |
---|---|
@P.Pmatch.Loc@ | Used on multi-token analyses; tell hfst-tokenise/pmatch where in the form/analysis the token should be split. Used e.g. in bijladagi to split bijla from dagi , or after abbreviations with full stops before the full stop, to allow an alternate +CLB analysis of it in case of a sentence final abbreviation. NB! This will give a faulty lemma for the abbreviation, as it will not include the full stop. This can lead to other issues, but presently we have no other solution if we want to keep the full stopp as a separate token. We could leave a full stop at the end of the abbreviation lemma as well (but not on the input side - we only have one full stop in the input). That must be tested, it could work, but then requires special attention when generating suggestions in e.g. grammar checkers - it should not generate two full stops. |
@P.Pmatch.Backtrack@ | Used on single-token analyses; tell hfst-tokenise/pmatch to backtrack by reanalysing the substrings before and after this point in the form (to find combinations of shorter analyses that would otherwise be missed) |
Flag diacritic | Explanation |
---|---|
@D.ErrOrth.ON@ | To be written |
@R.ErrOrth.ON@ | To be written |
@C.ErrOrth@ | To be written |
@P.ErrOrth.ON@ | To be written |
Flag diacritic | Explanation |
---|---|
@U.number.one@ | Flag used to give arabic numerals in smj different cases ; |
@U.number.two@ | Flag used to give arabic numerals in smj different cases ; |
@U.number.three@ | Flag used to give arabic numerals in smj different cases ; |
@U.number.four@ | Flag used to give arabic numerals in smj different cases ; |
@U.number.five@ | Flag used to give arabic numerals in smj different cases ; |
@U.number.six@ | Flag used to give arabic numerals in smj different cases ; |
@U.number.seven@ | Flag used to give arabic numerals in smj different cases ; |
@U.number.eight@ | Flag used to give arabic numerals in smj different cases ; |
@U.number.nine@ | Flag used to give arabic numerals in smj different cases ; |
@U.number.zero@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.one@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.two@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.three@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.four@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.five@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.six@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.seven@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.eight@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.nine@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.ten@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.one@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.two@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.three@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.four@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.five@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.six@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.seven@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.eight@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.nine@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.ten@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.one@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.two@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.three@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.four@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.five@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.six@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.seven@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.eight@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.nine@ | Flag used to give arabic numerals in smj different cases ; |
@P.number.ten@ | Flag used to give arabic numerals in smj different cases ; |
This (part of) documentation was generated from src/fst/morphology/root.lexc
+CC: # ;
ona cc ;
+CS: # ;
This (part of) documentation was generated from src/fst/morphology/stems/conjunctions.lexc
Documentation: NP overview:
-Dem may occur both pre-N and post-N: before N they function as Det, after N they must have another Det as support. (taimi = time) tēnei taimi, te taimi tēnei
sg
unspecified for number
pl
du1
pl1
du1
pl1 pl3 TODO
particles before / after V
post-nominal sg
unspecified for number
pl
This (part of) documentation was generated from src/fst/morphology/stems/determiners.lexc
+Interj: # ;
This (part of) documentation was generated from src/fst/morphology/stems/interjections.lexc
Nouns in the Tokelauan language refer to objects or sets of objects, qualities, states or ideas.
gāuta locnoun “ 1. Shore, land, (from” ;
This (part of) documentation was generated from src/fst/morphology/stems/nouns.lexc
CODE@
CODE@ for ½ etc. !
This (part of) documentation was generated from src/fst/morphology/stems/numerals.lexc
CODE@
CODE@
That was all particles
This (part of) documentation was generated from src/fst/morphology/stems/particles.lexc
============
CODE@
That was all prepositions
This (part of) documentation was generated from src/fst/morphology/stems/prepositions.lexc
Pronouns in the Tokelauan language are words that may replace nouns or refer to participants in the conversation.
CODE@
…
…
… cf. also the adverbs.lexc file
This (part of) documentation was generated from src/fst/morphology/stems/pronouns.lexc
This (part of) documentation was generated from src/fst/morphology/stems/propernouns.lexc
Verbs in the Tokelauan language inflect for tense.
LEXICON v_particles
LEXICON aux
LEXICON auxtag
LEXICON 2v_stems = 2-syllabic verbs with CV reduplication
LEXICON 3v_stems = 3-syllabic verbs with CV reduplication
LEXICON tav_stems = 3-syllabic verbs with CV to ta prefix
LEXICON ta_stems = 2-syllabic verbs with ta prefix
LEXICON 4redup_stems = 2-syllabic verbs with full reduplication
LEXICON 3redup_stems = 2-syllabic verbs with full reduplication
This (part of) documentation was generated from src/fst/morphology/stems/verbs.lexc
We describe here how abbreviations are in Tokelauan are read out, e.g. for text-to-speech systems.
For example:
This (part of) documentation was generated from src/fst/transcriptions/transcriptor-abbrevs2text.lexc
% komma% :, Root ; % tjuohkkis% :%. Root ; % kolon% :%: Root ; % sárggis% :%- Root ; % násti% :%* Root ;
This (part of) documentation was generated from src/fst/transcriptions/transcriptor-numbers-digit2text.lexc
This section lists all the tags inherited from the fst, and used as tags in the syntactic analysis. The next section, Sets, contains sets defined on the basis of the tags listed here, those set names are not visible in the output.
BOS EOS
N A Adv V Pron CS CC CC-CS Po Pr Pcle Num Interj ABBR ACR CLB LEFT RIGHT WEB PPUNCT PUNCT
COMMA ¶
Pers Dem Interr Indef Recipr Refl Rel Coll NomAg Prop Allegro Arab Romertall
Nom Acc Gen Ill Loc Com Ess Ess Sg Du Pl Cmp/SplitR Cmp/SgNom Cmp/SgGen Cmp/SgGen PxSg1 PxSg2 PxSg3 PxDu1 PxDu2 PxDu3 PxPl1 PxPl2 PxPl3 Px
Comp Superl Attr Ord Qst IV TV Prt Prs Ind Pot Cond Imprt ImprtII Sg1 Sg2 Sg3 Du1 Du2 Du3 Pl1 Pl2 Pl3 Inf ConNeg Neg PrfPrc VGen PrsPrc Ger Sup Actio VAbess
Err/Orth
Sem/Act Sem/Ani Sem/Atr Sem/Body Sem/Clth Sem/Domain Sem/Feat-phys Sem/Fem Sem/Group Sem/Lang Sem/Mal Sem/Measr Sem/Money Sem/Obj Sem/Obj-el Sem/Org Sem/Perc-emo Sem/Plc Sem/Sign Sem/State-sick Sem/Sur Sem/Time Sem/Txt
HUMAN
PROP-ATTR PROP-SUR
TIME-N-SET
@+FAUXV @+FMAINV @-FAUXV @-FMAINV @-FSUBJ> @-F<OBJ @-FOBJ> @-FSPRED<OBJ @-F<ADVL @-FADVL> @-F<SPRED @-F<OPRED @-FSPRED> @-FOPRED> @>ADVL @ADVL< @<ADVL @ADVL> @ADVL @HAB> @<HAB @>N @Interj @N< @>A @P< @>P @HNOUN @INTERJ @>Num @Pron< @>Pron @Num< @OBJ @<OBJ @OBJ> @OPRED @<OPRED @OPRED> @PCLE @COMP-CS< @SPRED @<SPRED @SPRED> @SUBJ @<SUBJ @SUBJ> SUBJ SPRED OPRED @PPRED @APP @APP-N< @APP-Pron< @APP>Pron @APP-Num< @APP-ADVL< @VOC @CVP @CNP OBJ