Grammatikkontroll-prosjektet - status
Kommandorekka:
- backtracking-koden bør reinskrivast, gjerast ryddigare
- handteringa av abbr, ordenstal osb (uttrykk som sluttar med punktum) er ikkje på plass enno
- backtracking-koden må kanskje ha ei endring for å tillata backtrack saman med input-marks
-
døme: «Jan.»: jan+N+ABBR .+PUNCT, jan.+N+ABBR, eller namnet Jan+N+Prop .+PUNCT – her vil me i abbr-leksikon seia at mellom «jan» og «.» skal det vera input-mark, men i tillegg tillata backtrack pga. Jan+N+Prop står ein heilt annan plass (og me vil ikkje manuelt spesifisera alt som er tvetydig med abbr-utan-punktum)
- spellrelax treng rydding i lexc
- døme: ja får já+Interj utan spellrelax-tagg
- interaksjon med særskriving
- meir restriktiv spellrelax i gramsjekk
- feilmeldingar i errors.xml bør dekka alle &taggar
- brukervennlig feedback
ABBR/ordinaltal vs setningsgrenser
Per tok den fyrste boka. Kari den 3. Eg tok den siste.
"<3.>"
"3." Adj Ord
"." PUNCT
"3" Num
"." PUNCT
"3." Adj Ord
Vi vil ha (ved setningsslutt):
"<3>"
"3." Adj Ord
"<.>"
"." PUNCT
Når det ikkje er setningsslutt:
"<3.>"
"3." Adj Ord
Andre uttrykk med punktum:
03.04.
§ 1.7.
kapittel 1.5.
jan.
«Dette skjer i slutten av jan. Så kom det nedbør …»
«Dette skjer i slutten av jan. så vi bør …»
Spellrelax
ikkje ved ord frå lukka ordklasser:
- ahte-áhtti/áhtat
- ja-já
"<Mun>"
"mun" Pron Sem/Hum Pers Sg1 Nom <W:0> @SUBJ> SUBSTITUTE:3251 MAP:17277 #1->1
:
"<dovddan>"
"dovdat" <mv> V <EX-Nom-Ani> <TH-Acc-Any><TH-PrfPrc> <TH-Acc-Any><TH-AktioEss> <TH-Inf><RO-Ess-Any> <TH-Acc-Any><RO-Ess-Any> <TH-go> <TH-FS-Qpron> <TH-ahte> <TH-Acc-Any> <TH-0> TV Ind Prs Sg1 <W:0> @+FMAINV SELECT:3914 MAP:10161:r406 #2->2 SUBSTITUTE:7306:SubV=mv SETCHILD:7857 SETCHILD:7861 SETCHILD:7857 SETCHILD:7861
* **"dovdda" N Sem/Perc-emo Ess <W:0> SELECT**: 3914
:
"<ahte>"
"ahte" CS <W:0> @CVP MAP:7690:r11 SELECT:7708:r990 #3->3
* **"áhtti" N Sem/Dummytag Sg Gen Allegro Err/Spellrelax <W:0> REMOVE:3451**: too-much-spellrelax
* **"ahte" CC <W:0> @CVP @CNP MAP:7693:r12 SELECT:7708**: r990
* **"áhtat" V TV Ind Prs Du1 Err/Spellrelax <W:0> REMOVE:3451**: too-much-spellrelax
* **"áhtat" V TV Ind Prt Pl3 Err/Spellrelax <W:0> REMOVE:3451**: too-much-spellrelax
:
Vi vil ha ein eigen spellrelax for grammatikkontrollen, ikkje den same som den vanlege.
Døme:
áddet-addit:
áddet-addet
ádden-adden
- Slik det ser ut akkurat no i input, med Spellrelax:
$ echo áddet | bash modes/smegram-morph.mode
"<áddet>"
"addit" V TV Imprt Pl2 Err/Spellrelax <W:0>
"addit" V TV Ind Prs Pl3 Err/Spellrelax <W:0>
"addit" V TV Ind Prt Sg2 Err/Spellrelax <W:0>
"áddet" V TV Ind Prs Pl1 <W:0>
"áddet" V TV Ind Prs Sg2 <W:0>
"áddet" V TV Inf <W:0>
"áddet" VV TV Der/h V Imprt Sg2 <W:0>
"áddet" VV TV Der/h V Imprt ConNeg <W:0>
"áddet" VV TV Der/h V Ind Prs ConNeg <W:0>
"áddet" VV TV Der/d V Imprt Sg2 <W:0>
"áddet" VV TV Der/d V Imprt ConNeg <W:0>
"áddet" VV TV Der/d V Ind Prs ConNeg <W:0>
:\n
- men grammarchecker.cg3/disambiguation.cg3 baserer seg berre på analyse-som-om-input-er-rett:
$ grep -c '^ADD:áddet (&real-áddet) TARGET ("addit")' grammarchecker.cg3
45
Jienasteddjiide sáhttá šaddat váttis áddet, mo olgeš- ja ovddádusbellodat sáhtiba ovddidit oktasaš sámepolitihkka jus dát bellodagat fidnejit ráđđehus válddi boahtte čavčča Stuorradikke válggain.
sáhttiba (Du3- ba)
"<sáhti>" ---- another rule should hit!!!!
"sáhttit" V <TH-Acc-Obj><XT-Acc-Measure> <DE-Ill-Plc> <Inf> IV VGen <W:0> &syn-Sg3-not-VGen #11->11 ADD:10533:syn-Sg3-not-VGen
syn-Sg3-not-VGen
"sáhttit" V <TH-Acc-Obj><XT-Acc-Measure> <DE-Ill-Plc> <Inf> IV <W:0> Ind Prt Sg3 &SUGGEST #11->11 COPY:10537:syn-Sg3-not-VGen
sáhttit+V+IV+Ind+Prt+Sg3 sáhtii
"<ba>"
"ba" Pcle <W:0> @PCLE MAP:15565:r16 #12->12
spellrelax ruins it:
LIST DOUBLE-CONSONANT-IT-VERBS = (".*hčit"r V) (".*hčit"r V*) (".*httit"r V*) ;
ADD:syn-prfprc-not-pxsg1 (&syn-prfprc-not-pxsg1) TARGET DOUBLE-CONSONANT-IT-VERBS IF (0 (VV TVV Der/NomAg N Sg Gen PxSg1) OR (VV TVV Der/NomAg N Sg Acc PxSg1) OR (VV TVV Der/NomAg N Sg Nom PxSg1))(NEGATE *-1 ("mun" Pron Pers Sg3 Nom) BARRIER GRAMCHK-S-BOUNDARY) ;
COPY:syn-prfprc-not-pxsg1 (V TV PrfPrc &SUGGEST) EXCEPT (VV TVV Der/NomAg N Sg Gen PxSg1 &syn-prfprc-not-pxsg1) OR (VV TVV Der/NomAg N Sg Acc PxSg1 &syn-prfprc-not-pxsg1) OR (VV TVV Der/NomAg N Sg Nom PxSg1 &syn-prfprc-not-pxsg1) TARGET (&syn-sg1-not-pxsg1) ;
## Dán guovllus eai galggašii leat boranávddit, ja dáid máŋemuš jágiid leat bivdit báhččán álbasiid Dielddasullos.
"<bivdit>"
"bivdi" N NomAg Sem/Hum Pl Nom <W:0> @<SPRED SELECT:12033:r2360 MAP:16886 #13->13
"bivdit" VV TV Der/NomAg N Pl Nom <W:0> @<SPRED SELECT:12033:r2360 MAP:16886 #13->13
* **"bivdit" V <RE-Loc-Ani><TH-FS-Qst> <TH-Acc-*Ani><RE-Loc-Ani> <PA-Acc-Ani><PU-Ill-Any> <PA-Acc-Ani> <TO-ahte> <RE-Acc-Ani><TO-Ill-Any> <TH-Inf> <TH-Acc-Any><RE-Loc-Ani> <TH-ahte> <TH-Acc-*Ani> TV Imprt Pl2 <W:0> REMOVE**: 6815
* **"bivdit" V <RE-Loc-Ani><TH-FS-Qst> <TH-Acc-*Ani><RE-Loc-Ani> <PA-Acc-Ani><PU-Ill-Any> <PA-Acc-Ani> <TO-ahte> <RE-Acc-Ani><TO-Ill-Any> <TH-Inf> <TH-Acc-Any><RE-Loc-Ani> <TH-ahte> <TH-Acc-*Ani> TV Ind Prs Pl1 <W:0> REMOVE:9442**: r1809
* **"bivdit" V <RE-Loc-Ani><TH-FS-Qst> <TH-Acc-*Ani><RE-Loc-Ani> <PA-Acc-Ani><PU-Ill-Any> <PA-Acc-Ani> <TO-ahte> <RE-Acc-Ani><TO-Ill-Any> <TH-Inf> <TH-Acc-Any><RE-Loc-Ani> <TH-ahte> <TH-Acc-*Ani> TV Inf <W:0> @-FMAINV MAP:9960:-FMAINVInf SELECT:12033**: r2360
:
"<báhččán>"
"báhccat" <mv> V IV PrfPrc Err/Orth Err/Spellrelax <W:0> @-FMAINV SELECT:9636:r1855 MAP:10192:r409 #14->14 SUBSTITUTE:7306:SubV=mv
"báhcit" <mv> V <AT-Abe-Any> <MA-Adv-Manner> <LO-Ill-Plc> <LO-Loc-Any> <LO-ala-Plc> <LO-Ill-Plc> <DE-Ill-Plc><PU-Inf> <PU-Inf> <RO-Ess-Any> <TH-haga-Any> IV PrfPrc Err/Orth Err/Spellrelax <W:0> @-FMAINV SELECT:9636:r1855 MAP:10192:r409 #14->14 SUBSTITUTE:7306:SubV=mv
"báhccat" <mv> V IV PrfPrc Err/Spellrelax <W:0> @-FMAINV SELECT:9636:r1855 MAP:10192:r409 #14->14 SUBSTITUTE:7306:SubV=mv
* **"báhccat" VV IV Der/NomAct N Sg Nom Err/Spellrelax <W:0> REMOVE:3520**: r542
* **"báhccat" VV IV Der/NomAct N Sg Gen Err/Spellrelax <W:0> REMOVE:3520**: r542
* **"báhčči" N NomAg Sem/Hum Sg Nom PxSg1 <W:0> REMOVE:5257**: r992
* **"báhčči" N NomAg Sem/Hum Sg Acc PxSg1 <W:0> REMOVE:5257**: r992
Redusert spellrelax:
- ikkje ta med č->c, c->č
- berre á-a, og då i ein redusert versjon basert på korpusdata (leksikalisera frekvente spellrelax-feil)?
- eventuelt òg: tillata spellrelax på alt som er i leksikon men ikkje korpus – altså, viss ahte står i leksikon, òg i korpus, så ikkje spellrelax áhte→ahte; viss áhte står i leksikon, men ikkje i korpus, så gi «áhte» ei spellrelax-lesing med lemma «ahte»
- ekspander leksikon, få ahte, áhte, osb., lag alle spellrelax-variantar áhte, ahte. Filtrer ut «ahte», fordi det står i korpus, men la «áhte» stå igjen (stod ikkje i korpus). No vil input «áhte» få ei lesing «ahte» i tillegg til «áhtti».
- eventuelt òg: tillata spellrelax på alt som er i leksikon men ikkje korpus – altså, viss ahte står i leksikon, òg i korpus, så ikkje spellrelax áhte→ahte; viss áhte står i leksikon, men ikkje i korpus, så gi «áhte» ei spellrelax-lesing med lemma «ahte»
compound-error is not recognized: atnu prográmma because atnu gets Spell-relax readings and the real one is discarded:
"<Otne>"
"otne" Adv <W:0> @ADVL> MAP:16722 #1->1
:
"<leat>"
"leat" <mv> V <copula> <copula> <TH-Nom-Any> <mielde> <OR-Loc-HumGroup> <OR-eret-Plc> <LO-Loc-johtu><DE-Ill-Plc> <A
T-Abe-Any> <AT-Nom-Any> <AT-Nom-Adj><EX-Ill-Ani> <PO-Gen-Hum> <MA-mielde-Any> <MA-Adv-Manner> <XT-Gen-Measr> <LO-maŋŋil-Tim
e> <LO-Acc-Time> <LO-Loc-Time> <CO-Com-Ani> <ID-Nom-Any> <TH-Nom-Any><RO-Ess-Any><EX-Ill-Any> <EX-Ill-Ani><TH-Nom-Adj> <EX-
Ill-Ani> <TH-Nom-Obj><RE-Ill-Ani> <LO-Loc-Any> <AktioEss> <RO-Ess-Any><PU-Ill-Act> <RO-Ess-Any> IV Ind Prs Pl3 <W:0> @+FMAI
NV MAP:10095 #2->2 SUBSTITUTE:7277:SubV=mv SUBSTITUTE:8759 SUBSTITUTE:9397
"leat" <mv> V <copula> <copula> <TH-Nom-Any> <mielde> <OR-Loc-HumGroup> <OR-eret-Plc> <LO-Loc-johtu><DE-Ill-Plc> <A
T-Abe-Any> <AT-Nom-Any> <AT-Nom-Adj><EX-Ill-Ani> <PO-Gen-Hum> <MA-mielde-Any> <MA-Adv-Manner> <XT-Gen-Measr> <LO-maŋŋil-Tim
e> <LO-Acc-Time> <LO-Loc-Time> <CO-Com-Ani> <ID-Nom-Any> <TH-Nom-Any><RO-Ess-Any><EX-Ill-Any> <EX-Ill-Ani><TH-Nom-Adj> <EX-
Ill-Ani> <TH-Nom-Obj><RE-Ill-Ani> <LO-Loc-Any> <AktioEss> <RO-Ess-Any><PU-Ill-Act> <RO-Ess-Any> IV Ind Prs Pl1 <W:0> @+FMAI
NV MAP:10095 #2->2 SUBSTITUTE:7277:SubV=mv SUBSTITUTE:8759 SUBSTITUTE:9397
; "leat" V <TH-Nom-Any> <mielde> <OR-Loc-HumGroup> <OR-eret-Plc> <LO-Loc-johtu><DE-Ill-Plc> <AT-Abe-Any> <AT-Nom-Any>
<AT-Nom-Adj><EX-Ill-Ani> <PO-Gen-Hum> <MA-mielde-Any> <MA-Adv-Manner> <XT-Gen-Measr> <LO-maŋŋil-Time> <LO-Acc-Time> <LO-Lo
c-Time> <CO-Com-Ani> <ID-Nom-Any> <TH-Nom-Any><RO-Ess-Any><EX-Ill-Any> <EX-Ill-Ani><TH-Nom-Adj> <EX-Ill-Ani> <TH-Nom-Obj><R
E-Ill-Ani> <LO-Loc-Any> <AktioEss> <RO-Ess-Any><PU-Ill-Act> <RO-Ess-Any> IV Ind Prs ConNeg <W:0> REMOVE:9356:NotConNegNotNe
g
; "leat" V <TH-Nom-Any> <mielde> <OR-Loc-HumGroup> <OR-eret-Plc> <LO-Loc-johtu><DE-Ill-Plc> <AT-Abe-Any> <AT-Nom-Any>
<AT-Nom-Adj><EX-Ill-Ani> <PO-Gen-Hum> <MA-mielde-Any> <MA-Adv-Manner> <XT-Gen-Measr> <LO-maŋŋil-Time> <LO-Acc-Time> <LO-Lo
c-Time> <CO-Com-Ani> <ID-Nom-Any> <TH-Nom-Any><RO-Ess-Any><EX-Ill-Any> <EX-Ill-Ani><TH-Nom-Adj> <EX-Ill-Ani> <TH-Nom-Obj><R
E-Ill-Ani> <LO-Loc-Any> <AktioEss> <RO-Ess-Any><PU-Ill-Act> <RO-Ess-Any> IV Inf <W:0> REMOVE:9460:r1820
; "leat" V <TH-Nom-Any> <mielde> <OR-Loc-HumGroup> <OR-eret-Plc> <LO-Loc-johtu><DE-Ill-Plc> <AT-Abe-Any> <AT-Nom-Any>
<AT-Nom-Adj><EX-Ill-Ani> <PO-Gen-Hum> <MA-mielde-Any> <MA-Adv-Manner> <XT-Gen-Measr> <LO-maŋŋil-Time> <LO-Acc-Time> <LO-Lo
c-Time> <CO-Com-Ani> <ID-Nom-Any> <TH-Nom-Any><RO-Ess-Any><EX-Ill-Any> <EX-Ill-Ani><TH-Nom-Adj> <EX-Ill-Ani> <TH-Nom-Obj><R
E-Ill-Ani> <LO-Loc-Any> <AktioEss> <RO-Ess-Any><PU-Ill-Act> <RO-Ess-Any> IV Ind Prs Sg2 <W:0> @+FMAINV MAP:10095 REMOVE:154
60:r3257
:
"<sihke>"
"sihke" Adv <W:0> @>CC MAP:15639:r41 #3->3
:
"<neahtta-bálvalusain>"
"bálvalus" Err/Orth N Sem/Act Err/Orth Pl Loc Err/Spellrelax <W:10> @<ADVL SELECT:13676:r2778 MAP:16715 #4->4
"neahtta" N Sem/Dummytag Cmp/SgNom Cmp/Hyph Cmp <W:10> #4->4
"bálvalus" N Sem/Act Err/Orth Pl Loc <W:10> @<ADVL SELECT:13676:r2778 MAP:16715 #4->4
"neahtta" N Sem/Dummytag Cmp/SgNom Cmp/Hyph Cmp <W:10> #4->4
"bálvalus" N Sem/Act Pl Loc <W:10> @<ADVL SELECT:13676:r2778 MAP:16715 #4->4
"neahtta" N Sem/Dummytag Cmp/SgNom Cmp/Hyph Cmp <W:10> #4->4
"bálvalus" Err/Orth N Sem/Act Err/Orth Pl Loc Err/Spellrelax <W:10> @<ADVL SELECT:13676:r2778 MAP:16715 #4->4
"neahtis" A Sem/Hum Cmp/Attr Cmp/Hyph Cmp <W:10> #4->4
"bálvalus" N Sem/Act Err/Orth Pl Loc <W:10> @<ADVL SELECT:13676:r2778 MAP:16715 #4->4
"neahtis" A Sem/Hum Cmp/Attr Cmp/Hyph Cmp <W:10> #4->4
"bálvalus" N Sem/Act Pl Loc <W:10> @<ADVL SELECT:13676:r2778 MAP:16715 #4->4
"neahtis" A Sem/Hum Cmp/Attr Cmp/Hyph Cmp <W:10> #4->4
"bálvalus" Err/Orth N Sem/Act Err/Orth Pl Loc Err/Spellrelax <W:10> @<ADVL SELECT:13676:r2778 MAP:16715 #4->4
"neahtis" A Sem/Hum Cmp/SgGen Cmp/Hyph Cmp <W:10> #4->4
"bálvalus" N Sem/Act Pl Loc Err/Spellrelax <W:10> @<ADVL SELECT:13676:r2778 MAP:16715 #4->4
"neahtis" A Sem/Hum Cmp/SgGen Cmp/Hyph Cmp <W:10> #4->4
* **"bálvalus" Err/Orth N Sem/Act Err/Orth Sg Com Err/Spellrelax <W:10> SELECT:13676**: r2778
* **"neahtta" N Sem/Dummytag Cmp/SgNom Cmp/Hyph Cmp <W**: 10>
* **"bálvalus" N Sem/Act Err/Orth Sg Com <W:10> SELECT:13676**: r2778
* **"neahtta" N Sem/Dummytag Cmp/SgNom Cmp/Hyph Cmp <W**: 10>
* **"bálvalus" N Sem/Act Sg Com <W:10> SELECT:13676**: r2778
* **"neahtta" N Sem/Dummytag Cmp/SgNom Cmp/Hyph Cmp <W**: 10>
* **"bálvalus" Err/Orth N Sem/Act Err/Orth Sg Com Err/Spellrelax <W:10> SELECT:13676**: r2778
* **"neahtis" A Sem/Hum Cmp/Attr Cmp/Hyph Cmp <W**: 10>
* **"bálvalus" N Sem/Act Err/Orth Sg Com <W:10> SELECT:13676**: r2778
* **"neahtis" A Sem/Hum Cmp/Attr Cmp/Hyph Cmp <W**: 10>
* **"bálvalus" N Sem/Act Sg Com <W:10> SELECT:13676**: r2778
* **"neahtis" A Sem/Hum Cmp/Attr Cmp/Hyph Cmp <W**: 10>
* **"bálvalus" Err/Orth N Sem/Act Err/Orth Sg Com Err/Spellrelax <W:10> SELECT:13676**: r2778
* **"neahtis" A Sem/Hum Cmp/SgGen Cmp/Hyph Cmp <W**: 10>
* **"bálvalus" N Sem/Act Sg Com Err/Spellrelax <W:10> SELECT:13676**: r2778
* **"neahtis" A Sem/Hum Cmp/SgGen Cmp/Hyph Cmp <W**: 10>
:
"<ja>"
"já" Interj <W:0> @INTERJ MAP:15540:r15 #5->5
"ja" CC <W:0> @CVP MAP:7668:r12 #5->5
* **"ja" CC <W:0> @CNP MAP:7668:r12 REMOVE:7857**: r1466
:
"<mobiillas>"
"mobiila" N Sem/Dummytag Sg Loc <W:0> @<ADVL MAP:16718:GramVal #6->6
* **"mobiila" A Sem/Dummytag Sg Loc <W:0> REMOVE:10260**: r1961
* **"mobiila" N Sem/Dummytag Sg Acc PxSg3 <W:0> REMOVE:13046**: r2613
* **"mobiila" N Sem/Dummytag Sg Gen PxSg3 <W:0> REMOVE:13046**: r2613
:
"<atnu>"
"átnut" <mv> V <RE-Loc-Ani><TH-FS-Qst> <TH-Acc-*Ani><RE-Loc-Ani> <TH-Acc-Any><RE-Loc-Ani> <TH-ahte> <TH-Acc-Any> TV Ind Prs Sg3 Err/Spellrelax <W:0> @+FMAINV MAP:10136:r406 SELECT:14843:r3094 #7->7 SUBSTITUTE:7277:SubV=mv
* **"atnu" N <TH-Ill-Any> Sem/Dummytag Sg Nom <W:0> @<SUBJ MAP:17292 REMOVE:17670**: <SubjIfNotVfin
* **"ádnu" N Sem/Dummytag Sg Acc Err/Spellrelax <W:0> @<OBJ MAP:17369:IfNoTransV> SELECT:14843**: r3094
* **"ádnu" N Sem/Dummytag Sg Gen Err/Spellrelax <W:0> @>N MAP:16234:r227 SELECT:14843**: r3094
"<prográmmain>"
"prográmma" N G3 Sem/Tool-it Err/Orth Sg Com <W:0> @<ADVL MAP:16715 #8->8
"prográmma" N G3 Sem/Tool-it Pl Loc <W:0> @<ADVL MAP:16715 #8->8
"prográmma" N G3 Sem/Tool-it Sg Com <W:0> @<ADVL MAP:16715 #8->8
"prográmma" N G3 Sem/Tool-it Err/Orth Pl Loc <W:0> @<ADVL MAP:16715 #8->8
"<.>"
"." CLB <W:0> #9->9
Mogleg strategi for leksikalisering av spellrelax:
- «átnu» – finst ikkje i korpus, men «atnu» finst i leksikon+korpus, så legg til at «átnu» er feilstaving av «atnu»
- «atnu» – finst i korpus, sjekk manuelt om «atnu» er sannsynleg feilstaving av «átnu» (kan kanskje gjera jobben enklare ved å filtrera vekk der rettinga ikkje finst i korpus – så viss «atnu» er i korpus, men ikkje «átnu», vil me aldri retta atnu→átnu)
$ echo atnu prográmmain | bash modes/trace-smegram-mwe-dis.mode
"<atnu prográmmain>"
"atnuprográmma" N G3 Sem/Dummytag Err/Orth Sg Com Err/SpaceCmp <W:0>
"atnuprográmma" N G3 Sem/Dummytag Err/Orth Pl Loc Err/SpaceCmp <W:0>
"atnuprográmma" N G3 Sem/Dummytag Sg Com Err/SpaceCmp <W:0>
"atnuprográmma" N G3 Sem/Dummytag Pl Loc Err/SpaceCmp <W:0>
* **"prográmma" N G3 Sem/Tool-it Pl Loc <W**: 0> "<prográmmain>"
* **"átnut" V TV Ind Prs Sg3 Err/Spellrelax <W:0> "<atnu>" REMOVE:2024**: longest-match
* **"prográmma" N G3 Sem/Tool-it Pl Loc <W**: 0> "<prográmmain>"
* **"ádnu" N Sem/Dummytag Sg Gen Err/Spellrelax <W:0> "<atnu>" REMOVE:2024**: longest-match
* **"prográmma" N G3 Sem/Tool-it Pl Loc <W**: 0> "<prográmmain>"
* **"ádnu" N Sem/Dummytag Sg Acc Err/Spellrelax <W:0> "<atnu>" REMOVE:2024**: longest-match
* **"prográmma" N G3 Sem/Tool-it Pl Loc <W**: 0> "<prográmmain>"
* **"atnu" N Sem/Dummytag Sg Nom <W:0> "<atnu>" REMOVE:2024**: longest-match
* **"prográmma" N G3 Sem/Tool-it Sg Com <W**: 0> "<prográmmain>"
* **"átnut" V TV Ind Prs Sg3 Err/Spellrelax <W:0> "<atnu>" REMOVE:2024**: longest-match
* **"prográmma" N G3 Sem/Tool-it Sg Com <W**: 0> "<prográmmain>"
* **"ádnu" N Sem/Dummytag Sg Gen Err/Spellrelax <W:0> "<atnu>" REMOVE:2024**: longest-match
* **"prográmma" N G3 Sem/Tool-it Sg Com <W**: 0> "<prográmmain>"
* **"ádnu" N Sem/Dummytag Sg Acc Err/Spellrelax <W:0> "<atnu>" REMOVE:2024**: longest-match
* **"prográmma" N G3 Sem/Tool-it Sg Com <W**: 0> "<prográmmain>"
* **"atnu" N Sem/Dummytag Sg Nom <W:0> "<atnu>" REMOVE:2024**: longest-match
* **"prográmma" N G3 Sem/Tool-it Err/Orth Pl Loc <W**: 0> "<prográmmain>"
* **"átnut" V TV Ind Prs Sg3 Err/Spellrelax <W:0> "<atnu>" REMOVE:2024**: longest-match
* **"prográmma" N G3 Sem/Tool-it Err/Orth Pl Loc <W**: 0> "<prográmmain>"
* **"ádnu" N Sem/Dummytag Sg Gen Err/Spellrelax <W:0> "<atnu>" REMOVE:2024**: longest-match
* **"prográmma" N G3 Sem/Tool-it Err/Orth Pl Loc <W**: 0> "<prográmmain>"
* **"ádnu" N Sem/Dummytag Sg Acc Err/Spellrelax <W:0> "<atnu>" REMOVE:2024**: longest-match
* **"prográmma" N G3 Sem/Tool-it Err/Orth Pl Loc <W**: 0> "<prográmmain>"
* **"atnu" N Sem/Dummytag Sg Nom <W:0> "<atnu>" REMOVE:2024**: longest-match
* **"prográmma" N G3 Sem/Tool-it Err/Orth Sg Com <W**: 0> "<prográmmain>"
* **"átnut" V TV Ind Prs Sg3 Err/Spellrelax <W:0> "<atnu>" REMOVE:2024**: longest-match
* **"prográmma" N G3 Sem/Tool-it Err/Orth Sg Com <W**: 0> "<prográmmain>"
* **"ádnu" N Sem/Dummytag Sg Gen Err/Spellrelax <W:0> "<atnu>" REMOVE:2024**: longest-match
* **"prográmma" N G3 Sem/Tool-it Err/Orth Sg Com <W**: 0> "<prográmmain>"
* **"ádnu" N Sem/Dummytag Sg Acc Err/Spellrelax <W:0> "<atnu>" REMOVE:2024**: longest-match
* **"prográmma" N G3 Sem/Tool-it Err/Orth Sg Com <W**: 0> "<prográmmain>"
* **"atnu" N Sem/Dummytag Sg Nom <W:0> "<atnu>" REMOVE:2024**: longest-match
:\n