Changes between Initial Version and Version 1 of UTT Based on Examples


Ignore:
Timestamp:
02/21/12 17:18:58 (13 years ago)
Author:
s316637
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UTT Based on Examples

    v1 v1  
     1= UTT Based on Examples = 
     2== Author: Mateusz Boryga == 
     3 
     4 
     5 
     6== tok == 
     7 
     8=== tok.1. === 
     9Description: 
     10{{{ 
     11Change raw text into list of tokens. 
     12}}} 
     13Command: 
     14{{{ 
     15echo 'W moim domu jest zawsze głośno. Stoi przy ruchliwej ulicy.' | tok 
     16}}} 
     17Output: 
     18{{{ 
     190000 01 W W 
     200001 01 S _ 
     210002 04 W moim 
     220006 01 S _ 
     230007 04 W domu 
     240011 01 S _ 
     250012 04 W jest 
     260016 01 S _ 
     270017 06 W zawsze 
     280023 01 S _ 
     290024 06 W głośno 
     300030 01 P . 
     310031 01 S _ 
     320032 04 W Stoi 
     330036 01 S _ 
     340037 04 W przy 
     350041 01 S _ 
     360042 09 W ruchliwej 
     370051 01 S _ 
     380052 05 W ulicy 
     390057 01 P . 
     400058 01 S \n 
     41}}} 
     42 
     43== lem == 
     44 
     45=== lem.1. === 
     46Description: 
     47{{{ 
     48Perform morphological analysis. 
     49}}} 
     50Command: 
     51{{{ 
     52echo 'Ulicą jedzie szybki i zielony samochód.' | tok | lem 
     53}}} 
     54Output: 
     55{{{ 
     560000 05 W Ulicą lem:ulica,N/CiGfNs 
     570005 01 S _ 
     580006 06 W jedzie lem:jechać,V/AiMdNsP3R-TfrVp 
     590012 01 S _ 
     600013 06 W szybki lem:szybki,ADJ/CaDpGiNs 
     610013 06 W szybki lem:szybki,ADJ/CnvDpGaipNs 
     620013 06 W szybki lem:szybka,N/CaGfNp 
     630013 06 W szybki lem:szybka,N/CgGfNs 
     640013 06 W szybki lem:szybka,N/CnGfNp 
     650013 06 W szybki lem:szybka,N/CvGfNp 
     660019 01 S _ 
     670020 01 W i lem:i,CONJ 
     680020 01 W i lem:i,EXCL 
     690021 01 S _ 
     700022 07 W zielony lem:zielony,ADJ/CaDpGiNs 
     710022 07 W zielony lem:zielony,ADJ/CnvDpGaipNs 
     720029 01 S _ 
     730030 08 W samochód lem:samochód,N/CaGiNs 
     740030 08 W samochód lem:samochód,N/CnGiNs 
     750038 01 P . 
     760039 01 S \n 
     77}}} 
     78 
     79=== lem.2. === 
     80Description: 
     81{{{ 
     82Perform morphological analysis. Print ambiguous annotation in one output line by generating multiple annotation fields. 
     83}}} 
     84Command: 
     85{{{ 
     86echo 'Ulicą jedzie szybki i zielony samochód.' | tok | lem --one-line 
     87}}} 
     88Output: 
     89{{{ 
     900000 05 W Ulicą lem:ulica,N/CiGfNs 
     910005 01 S _ 
     920006 06 W jedzie lem:jechać,V/AiMdNsP3R-TfrVp 
     930012 01 S _ 
     940013 06 W szybki lem:szybki,ADJ/CaDpGiNs lem:szybki,ADJ/CnvDpGaipNs lem:szybka,N/CaGfNp lem:szybka,N/CgGfNs lem:szybka,N/CnGfNp lem:szybka,N/CvGfNp 
     950019 01 S _ 
     960020 01 W i lem:i,CONJ lem:i,EXCL 
     970021 01 S _ 
     980022 07 W zielony lem:zielony,ADJ/CaDpGiNs lem:zielony,ADJ/CnvDpGaipNs 
     990029 01 S _ 
     1000030 08 W samochód lem:samochód,N/CaGiNs lem:samochód,N/CnGiNs 
     1010038 01 P . 
     1020039 01 S \n 
     103}}} 
     104 
     105=== lem.3. === 
     106Description: 
     107{{{ 
     108Perform morphological analysis. Print ambiguous annotation in one annotation field. 
     109}}} 
     110Command: 
     111{{{ 
     112echo 'Ulicą jedzie szybki i zielony samochód.' | tok | lem -1 
     113}}} 
     114Output: 
     115{{{ 
     1160000 05 W Ulicą lem:ulica,N/CiGfNs 
     1170005 01 S _ 
     1180006 06 W jedzie lem:jechać,V/AiMdNsP3R-TfrVp 
     1190012 01 S _ 
     1200013 06 W szybki lem:szybki,ADJ/CaDpGiNs,ADJ/CnvDpGaipNs;szybka,N/CaGfNp,N/CgGfNs,N/CnGfNp,N/CvGfNp 
     1210019 01 S _ 
     1220020 01 W i lem:i,CONJ,EXCL 
     1230021 01 S _ 
     1240022 07 W zielony lem:zielony,ADJ/CaDpGiNs,ADJ/CnvDpGaipNs 
     1250029 01 S _ 
     1260030 08 W samochód lem:samochód,N/CaGiNs,N/CnGiNs 
     1270038 01 P . 
     1280039 01 S \n 
     129}}} 
     130 
     131 
     132== gue == 
     133 
     134=== gue.1. === 
     135Description: 
     136{{{ 
     137Guess morphological descriptions. 
     138}}} 
     139Command: 
     140{{{ 
     141echo 'smerfny' | tok | gue 
     142}}} 
     143Output: 
     144{{{ 
     1450000 07 W smerfny gue:smerfny,ADJ/CaDpGiNs 
     1460000 07 W smerfny gue:smerfny,ADJ/CnvDpGaipNs 
     1470007 01 S \n 
     148}}} 
     149 
     150=== gue.2. === 
     151Description: 
     152{{{ 
     153Guess morphological descriptions. Print ambiguous annotation in one output line by generating multiple annotation fields. 
     154}}} 
     155Command: 
     156{{{ 
     157echo 'smerfny' | tok | gue --one-line 
     158}}} 
     159Output: 
     160{{{ 
     1610000 07 W smerfny gue:smerfny,ADJ/CaDpGiNs gue:smerfny,ADJ/CnvDpGaipNs 
     1620007 01 S \n 
     163}}} 
     164 
     165=== gue.3. === 
     166Description: 
     167{{{ 
     168Guess morphological descriptions. Print ambiguous annotation in one annotation field. 
     169}}} 
     170Command: 
     171{{{ 
     172echo 'smerfny' | tok | gue -1 
     173}}} 
     174Output: 
     175{{{ 
     1760000 07 W smerfny gue:smerfny,ADJ/CaDpGiNs,ADJ/CnvDpGaipNs 
     1770007 01 S \n 
     178}}} 
     179 
     180 
     181== cor == 
     182 
     183=== cor.1. === 
     184Description: 
     185{{{ 
     186Correct spelling. 
     187}}} 
     188Command: 
     189{{{ 
     190echo 'kresło' | tok | cor 
     191}}} 
     192Output: 
     193{{{ 
     1940000 06 W kresło cor:kresko 
     1950000 06 W kresło cor:kreso 
     1960000 06 W kresło cor:krzesło 
     1970006 01 S \n 
     198}}} 
     199 
     200=== cor.2. === 
     201Description: 
     202{{{ 
     203Correct spelling. Print ambiguous annotation in one output line by generating multiple annotation fields. 
     204}}} 
     205Command: 
     206{{{ 
     207echo 'kresło' | tok | cor --one-line 
     208}}} 
     209Output: 
     210{{{ 
     2110000 06 W kresło cor:kresko cor:kreso cor:krzesło 
     2120006 01 S \n 
     213}}} 
     214 
     215=== cor.3. === 
     216Description: 
     217{{{ 
     218Correct spelling. Print ambiguous annotation in one annotation field. 
     219}}} 
     220Command: 
     221{{{ 
     222echo 'kresło' | tok | cor -1 
     223}}} 
     224Output: 
     225{{{ 
     2260000 06 W kresło cor:kresko;kreso;krzesło 
     2270006 01 S \n 
     228}}} 
     229 
     230=== cor.4. === 
     231Description: 
     232{{{ 
     233Correct spelling. Change maximum edit distance into 2. 
     234}}} 
     235Command: 
     236{{{ 
     237echo 'kzzeslo' | tok | cor -n 2 
     238}}} 
     239Output: 
     240{{{ 
     2410000 07 W kzzeslo cor:krzesko 
     2420000 07 W kzzeslo cor:krzesło 
     2430007 01 S \n 
     244}}} 
     245 
     246 
     247== kor == 
     248 
     249=== kor.1. === 
     250Description: 
     251{{{ 
     252Correct spelling. 
     253}}} 
     254Command: 
     255{{{ 
     256echo 'kresło' | tok | kor 
     257}}} 
     258Output: 
     259{{{ 
     2600000 06 W kresło kor:krzesło 
     2610000 06 W kresło kor:kreso 
     2620000 06 W kresło kor:kresko 
     2630006 01 S \n 
     264}}} 
     265 
     266=== kor.2. === 
     267Description: 
     268{{{ 
     269Correct spelling. Print ambiguous annotation in one output line by generating multiple annotation fields. 
     270}}} 
     271Command: 
     272{{{ 
     273echo 'kresło' | tok | kor --one-line 
     274}}} 
     275Output: 
     276{{{ 
     2770000 06 W kresło kor:krzesło kor:kreso kor:kresko 
     2780006 01 S \n 
     279}}} 
     280 
     281=== kor.3. === 
     282Description: 
     283{{{ 
     284Correct spelling. Print ambiguous annotation in one annotation field. 
     285}}} 
     286Command: 
     287{{{ 
     288echo 'kresło' | tok | kor -1 
     289}}} 
     290Output: 
     291{{{ 
     2920000 06 W kresło kor:krzesło;kreso;kresko 
     2930006 01 S \n 
     294}}} 
     295 
     296=== kor.4. === 
     297Description: 
     298{{{ 
     299Correct spelling. Change maximum edit distance into 3. 
     300}}} 
     301Command: 
     302{{{ 
     303echo 'pisemy' | tok | kor -n 3 
     304}}} 
     305Output: 
     306{{{ 
     3070000 06 W pisemy kor:piszmy 
     3080000 06 W pisemy kor:piszemy 
     3090000 06 W pisemy kor:pisemny 
     3100006 01 S \n 
     311}}} 
     312 
     313=== kor.5. === 
     314Description: 
     315{{{ 
     316Correct spelling. Add operations' weights file. 
     317}}} 
     318Command: 
     319{{{ 
     320echo 'grzegrzułka' | tok | kor -w w.kor 
     321}}} 
     322File w.kor: 
     323{{{ 
     324%stdcor 1 
     325%xchg   1 
     326ż rz 0.3 
     327u ó  0.3 
     328}}} 
     329Output: 
     330{{{ 
     3310000 11 W grzegrzułka kor:gżegżółka 
     3320011 01 S \n 
     333}}} 
     334 
     335 
     336== sen == 
     337 
     338=== sen.1. === 
     339Description: 
     340{{{ 
     341Detect sentence boundaries. Mark beginning (BOS) and end (EOS) of each sentence. 
     342}}} 
     343Command: 
     344{{{ 
     345echo 'Ala? Ala ma kota. Kot ma Alę.' | tok | sen 
     346}}} 
     347Output: 
     348{{{ 
     3490000 00 BOS * 
     3500000 03 W Ala 
     3510003 01 P ? 
     3520004 00 EOS * 
     3530004 00 BOS * 
     3540004 01 S _ 
     3550005 03 W Ala 
     3560008 01 S _ 
     3570009 02 W ma 
     3580011 01 S _ 
     3590012 04 W kota 
     3600016 01 P . 
     3610017 00 EOS * 
     3620017 00 BOS * 
     3630017 01 S _ 
     3640018 03 W Kot 
     3650021 01 S _ 
     3660022 02 W ma 
     3670024 01 S _ 
     3680025 03 W Alę 
     3690028 01 P . 
     3700029 01 S \n 
     3710030 00 EOS * 
     372}}} 
     373 
     374 
     375== ser == 
     376 
     377=== ser.1. === 
     378Description: 
     379{{{ 
     380Find pattern 'word(dom)'. Mark beginning (BOM) and end (EOM) of each matching. 
     381}}} 
     382Command: 
     383{{{ 
     384echo 'O Białym Domu mówi się, że to duży funkcjonalny dom.' | tok | lem -1 | ser -e 'word(dom)' 
     385}}} 
     386Output: 
     387{{{ 
     3880000 01 W O lem:o,EXCL,P/Cal 
     3890001 01 S _ 
     3900002 06 W Białym lem:biały,ADJ/CdDpNp,ADJ/CilDpGainpNs 
     3910008 01 S _ 
     3920009 04 W Domu lem:dom,N/CgGiNs,N/ClGiNs,N/CvGiNs 
     3930013 01 S _ 
     3940014 04 W mówi lem:mówić,V/AiMdNsP3R-TfrVp 
     3950018 01 S _ 
     3960019 03 W się lem:się,NPRO/CaZx,NPRO/CgZx 
     3970022 01 P , 
     3980023 01 S _ 
     3990024 02 W że lem:że,CONJ,PART 
     4000026 01 S _ 
     4010027 02 W to lem:to,CONJ,NPRO/CaGnNsZd,NPRO/CnGnNsZd,PART;ten,ADJPRO/CanvGnNsZd 
     4020029 01 S _ 
     4030030 04 W duży lem:duży,ADJ/CaDpGiNs,ADJ/CnvDpGaipNs 
     4040034 01 S _ 
     4050035 12 W funkcjonalny lem:funkcjonalny,ADJ/CaDpGiNs,ADJ/CnvDpGaipNs 
     4060047 01 S _ 
     4070048 00 BOM * ser:1 
     4080048 03 W dom lem:dom,N/CaGiNs,N/CnGiNs 
     4090051 00 EOM * ser:1 
     4100051 01 P . 
     4110052 01 S \n 
     412}}} 
     413 
     414=== ser.2. === 
     415Description: 
     416{{{ 
     417Find pattern 'word(dom)'. Mark beginning (BOM) and end (EOM) of each matching. 
     418}}} 
     419Command: 
     420{{{ 
     421echo 'O Białym Domu mówi się, że to duży funkcjonalny dom.' | tok | lem -1 | ser -m -e 'word(dom)' 
     422}}} 
     423Output: 
     424{{{ 
     4250048 00 BOM * ser:1 
     4260048 03 W dom lem:dom,N/CaGiNs,N/CnGiNs 
     4270051 00 EOM * ser:1 
     428}}} 
     429 
     430=== ser.3. === 
     431Description: 
     432{{{ 
     433Find pattern 'lexeme(dom)'. Mark beginning (BOM) and end (EOM) of each matching. 
     434}}} 
     435Command: 
     436{{{ 
     437echo 'O Białym Domu mówi się, że to duży funkcjonalny dom.' | tok | lem -1 | ser -e 'lexeme(dom)' 
     438}}} 
     439Output: 
     440{{{ 
     4410000 01 W O lem:o,EXCL,P/Cal 
     4420001 01 S _ 
     4430002 06 W Białym lem:biały,ADJ/CdDpNp,ADJ/CilDpGainpNs 
     4440008 01 S _ 
     4450009 00 BOM * ser:1 
     4460009 04 W Domu lem:dom,N/CgGiNs,N/ClGiNs,N/CvGiNs 
     4470013 00 EOM * ser:1 
     4480013 01 S _ 
     4490014 04 W mówi lem:mówić,V/AiMdNsP3R-TfrVp 
     4500018 01 S _ 
     4510019 03 W się lem:się,NPRO/CaZx,NPRO/CgZx 
     4520022 01 P , 
     4530023 01 S _ 
     4540024 02 W że lem:że,CONJ,PART 
     4550026 01 S _ 
     4560027 02 W to lem:to,CONJ,NPRO/CaGnNsZd,NPRO/CnGnNsZd,PART;ten,ADJPRO/CanvGnNsZd 
     4570029 01 S _ 
     4580030 04 W duży lem:duży,ADJ/CaDpGiNs,ADJ/CnvDpGaipNs 
     4590034 01 S _ 
     4600035 12 W funkcjonalny lem:funkcjonalny,ADJ/CaDpGiNs,ADJ/CnvDpGaipNs 
     4610047 01 S _ 
     4620048 00 BOM * ser:2 
     4630048 03 W dom lem:dom,N/CaGiNs,N/CnGiNs 
     4640051 00 EOM * ser:2 
     4650051 01 P . 
     4660052 01 S \n 
     467}}} 
     468 
     469=== ser.4. === 
     470Description: 
     471{{{ 
     472Find pattern 'lexeme(dom)'. Mark beginning (BOM) and end (EOM) of each matching. 
     473}}} 
     474Command: 
     475{{{ 
     476echo 'O Białym Domu mówi się, że to duży funkcjonalny dom.' | tok | lem -1 | ser -m -e 'lexeme(dom)' 
     477}}} 
     478Output: 
     479{{{ 
     4800009 00 BOM * ser:1 
     4810009 04 W Domu lem:dom,N/CgGiNs,N/ClGiNs,N/CvGiNs 
     4820013 00 EOM * ser:1 
     4830048 00 BOM * ser:2 
     4840048 03 W dom lem:dom,N/CaGiNs,N/CnGiNs 
     4850051 00 EOM * ser:2 
     486}}} 
     487 
     488=== ser.5. === 
     489Description: 
     490{{{ 
     491Find pattern 'cat(<ADJ>) space lexeme(dom)'. Mark beginning (BOM) and end (EOM) of each matching. 
     492}}} 
     493Command: 
     494{{{ 
     495echo 'O Białym Domu mówi się, że to duży funkcjonalny dom.' | tok | lem -1 | ser -e 'cat(<ADJ>) space lexeme(dom)' 
     496}}} 
     497Output: 
     498{{{ 
     4990000 01 W O lem:o,EXCL,P/Cal 
     5000001 01 S _ 
     5010002 00 BOM * ser:1 
     5020002 06 W Białym lem:biały,ADJ/CdDpNp,ADJ/CilDpGainpNs 
     5030008 01 S _ 
     5040009 04 W Domu lem:dom,N/CgGiNs,N/ClGiNs,N/CvGiNs 
     5050013 00 EOM * ser:1 
     5060013 01 S _ 
     5070014 04 W mówi lem:mówić,V/AiMdNsP3R-TfrVp 
     5080018 01 S _ 
     5090019 03 W się lem:się,NPRO/CaZx,NPRO/CgZx 
     5100022 01 P , 
     5110023 01 S _ 
     5120024 02 W że lem:żeTfrVp,CONJ;że,PART 
     5130026 01 S _ 
     5140027 02 W to lem:toTfrVp,CONJ;to,NPRO/CaGnNsZd,NPRO/CnGnNsZd,PART;ten,ADJPRO/CanvGnNsZd 
     5150029 01 S _ 
     5160030 04 W duży lem:duży,ADJ/CaDpGiNs,ADJ/CnvDpGaipNs 
     5170034 01 S _ 
     5180035 00 BOM * ser:2 
     5190035 12 W funkcjonalny lem:funkcjonalny,ADJ/CaDpGiNs,ADJ/CnvDpGaipNs 
     5200047 01 S _ 
     5210048 03 W dom lem:dom,N/CaGiNs,N/CnGiNs 
     5220051 00 EOM * ser:2 
     5230051 01 P . 
     5240052 01 S \n 
     525}}} 
     526 
     527=== ser.6. === 
     528Description: 
     529{{{ 
     530Find pattern 'cat(<ADJ>) space lexeme(dom)'. Mark beginning (BOM) and end (EOM) of each matching. 
     531}}} 
     532Command: 
     533{{{ 
     534echo 'O Białym Domu mówi się, że to duży funkcjonalny dom.' | tok | lem -1 | ser -m -e 'cat(<ADJ>) space lexeme(dom)' 
     535}}} 
     536Output: 
     537{{{ 
     5380002 00 BOM * ser:1 
     5390002 06 W Białym lem:biały,ADJ/CdDpNp,ADJ/CilDpGainpNs 
     5400008 01 S _ 
     5410009 04 W Domu lem:dom,N/CgGiNs,N/ClGiNs,N/CvGiNs 
     5420013 00 EOM * ser:1 
     5430035 00 BOM * ser:2 
     5440035 12 W funkcjonalny lem:funkcjonalny,ADJ/CaDpGiNs,ADJ/CnvDpGaipNs 
     5450047 01 S _ 
     5460048 03 W dom lem:dom,N/CaGiNs,N/CnGiNs 
     5470051 00 EOM * ser:2 
     548}}} 
     549 
     550=== ser.7. === 
     551Description: 
     552{{{ 
     553Find pattern '(cat(<ADJ>) space)+ lexeme(dom)'. Mark beginning (BOM) and end (EOM) of each matching. 
     554}}} 
     555Command: 
     556{{{ 
     557echo 'O Białym Domu mówi się, że to duży funkcjonalny dom.' | tok | lem -1 | ser -e '(cat(<ADJ>) space)+ lexeme(dom)' 
     558}}} 
     559Output: 
     560{{{ 
     5610000 01 W O lem:o,EXCL,P/Cal 
     5620001 01 S _ 
     5630002 00 BOM * ser:1 
     5640002 06 W Białym lem:biały,ADJ/CdDpNp,ADJ/CilDpGainpNs 
     5650008 01 S _ 
     5660009 04 W Domu lem:dom,N/CgGiNs,N/ClGiNs,N/CvGiNs 
     5670013 00 EOM * ser:1 
     5680013 01 S _ 
     5690014 04 W mówi lem:mówić,V/AiMdNsP3R-TfrVp 
     5700018 01 S _ 
     5710019 03 W się lem:się,NPRO/CaZx,NPRO/CgZx 
     5720022 01 P , 
     5730023 01 S _ 
     5740024 02 W że lem:że,CONJ,PART 
     5750026 01 S _ 
     5760027 02 W to lem:to,CONJ,NPRO/CaGnNsZd,NPRO/CnGnNsZd,PART;ten,ADJPRO/CanvGnNsZd 
     5770029 01 S _ 
     5780030 00 BOM * ser:2 
     5790030 04 W duży lem:duży,ADJ/CaDpGiNs,ADJ/CnvDpGaipNs 
     5800034 01 S _ 
     5810035 12 W funkcjonalny lem:funkcjonalny,ADJ/CaDpGiNs,ADJ/CnvDpGaipNs 
     5820047 01 S _ 
     5830048 03 W dom lem:dom,N/CaGiNs,N/CnGiNs 
     5840051 00 EOM * ser:2 
     5850051 01 P . 
     5860052 01 S \n 
     587}}} 
     588 
     589=== ser.8. === 
     590Description: 
     591{{{ 
     592Find pattern '(cat(<ADJ>) space)+ lexeme(dom)'. Mark beginning (BOM) and end (EOM) of each matching. 
     593}}} 
     594Command: 
     595{{{ 
     596echo 'O Białym Domu mówi się, że to duży funkcjonalny dom.' | tok | lem -1 | ser -m -e '(cat(<ADJ>) space)+ lexeme(dom)' 
     597}}} 
     598Output: 
     599{{{ 
     6000002 00 BOM * ser:1 
     6010002 06 W Białym lem:biały,ADJ/CdDpNp,ADJ/CilDpGainpNs 
     6020008 01 S _ 
     6030009 04 W Domu lem:dom,N/CgGiNs,N/ClGiNs,N/CvGiNs 
     6040013 00 EOM * ser:1 
     6050030 00 BOM * ser:2 
     6060030 04 W duży lem:duży,ADJ/CaDpGiNs,ADJ/CnvDpGaipNs 
     6070034 01 S _ 
     6080035 12 W funkcjonalny lem:funkcjonalny,ADJ/CaDpGiNs,ADJ/CnvDpGaipNs 
     6090047 01 S _ 
     6100048 03 W dom lem:dom,N/CaGiNs,N/CnGiNs 
     6110051 00 EOM * ser:2 
     612}}} 
     613 
     614=== ser.9. === 
     615Description: 
     616{{{ 
     617Find pattern 'cat(<ADJ>) space lexeme(dom)'. Mark beginning (BOM) and end (EOM) of each matching. Print the generated flex source code. 
     618}}} 
     619Command: 
     620{{{ 
     621echo 'O Białym Domu mówi się, że to duży funkcjonalny dom.' | tok | lem -1 | ser -e 'cat(<ADJ>) space lexeme(dom)' --flex 
     622}}} 
     623Output: 
     624{{{ 
     625%{ 
     626        #include<string.h> 
     627        int n=0; 
     628%} 
     629 
     630%% 
     631 
     632([ \t]*(([0-9]+[ \t]+)([0-9]+[ \t]+)?)?([^ \t\n\r\f]+)[ \t]+([^ \t\n\r\f]+)([ \t]+(([^ \t\n\r\f]+[ \t]+)*(lem:[^ \t\n\r\f]+,ADJ(\/([[:upper:]]+([[:lower:][:digit:]+?!*-]|<[^>\n[:cntrl:]]+>)+)*)?([,;][^ \t\n\r\f]+)?)([ \t]+[^ \t\n\r\f]+)*))[ \t]*\n)([ \t]*(([0-9]+[ \t]+)([0-9]+[ \t]+)?)?(S)[ \t]+([^ \t\n\r\f]+)(([ \t]+[^ \t\n\r\f]+)*)[ \t]*\n)([ \t]*(([0-9]+[ \t]+)([0-9]+[ \t]+)?)?([^ \t\n\r\f]+)[ \t]+([^ \t\n\r\f]+)([ \t]+(([^ \t\n\r\f]+[ \t]+)*(lem:([^ \t\n\r\f]+;)?dom,[^ \t\n\r\f]+)([ \t]+[^ \t\n\r\f]+)*))[ \t]*\n)                      { 
     633                          int start, end, len; 
     634                          char *lastseg, *tmp; 
     635                          if(yytext[yyleng-1]!='\n') 
     636                            {fprintf(stderr,"ser: pattern matches incomplete line\n"); exit(1);} 
     637                          n++; 
     638                          sscanf(yytext,"%d %d",&start,&len); 
     639                          yytext[yyleng-1]='\0'; 
     640                          if(tmp=strrchr(yytext,'\n')) 
     641                          { 
     642                            lastseg=tmp+1; 
     643                            sscanf(lastseg,"%d %d", &end, &len); 
     644                          } 
     645                          else 
     646                            end=start; 
     647                          yytext[yyleng-1]='\n'; 
     648                          printf("%04d 00 BOM * ser:%s%d\n",start,"",n); 
     649                          ECHO; 
     650                          printf("%04d 00 EOM * ser:%s%d\n",end+len,"",n); 
     651                        } 
     652 
     653 
     654.*\n                    ECHO; 
     655}}} 
     656 
     657=== ser.10. === 
     658Description: 
     659{{{ 
     660Find pattern '(cat(<N>) space cat(<ADJ>)) | (cat(<ADJ>) space cat(<N>))'. Mark beginning (BOM) and end (EOM) of each matching. 
     661}}} 
     662Command: 
     663{{{ 
     664echo 'Panna młoda dostała sztuczne kwiaty i wieczne pióro. Rozpakowała wszystko na klatce schodowej.' | tok | lem -1 | ser -e '(cat(<N>) space cat(<ADJ>)) | (cat(<ADJ>) space cat(<N>))' 
     665}}} 
     666Output: 
     667{{{ 
     6680000 00 BOM * ser:1 
     6690000 05 W Panna lem:panna,N/CnGfNs 
     6700005 01 S _ 
     6710006 05 W młoda lem:młoda,N/CnGfNs,N/CvGfNs;młody,ADJ/CanvDpGfNs 
     6720011 00 EOM * ser:1 
     6730011 01 S _ 
     6740012 07 W dostała lem:dostać,V/ApGfMdNsP3R?TaVp 
     6750019 01 S _ 
     6760020 00 BOM * ser:2 
     6770020 08 W sztuczne lem:sztuczny,ADJ/CanvDpGafinNp,ADJ/CanvDpGnNs 
     6780028 01 S _ 
     6790029 06 W kwiaty lem:kwiat,N/CaGiNp,N/CnGiNp,N/CvGiNp 
     6800035 00 EOM * ser:2 
     6810035 01 S _ 
     6820036 01 W i lem:i,CONJ,EXCL 
     6830037 01 S _ 
     6840038 00 BOM * ser:3 
     6850038 07 W wieczne lem:wieczny,ADJ/CanvDpGafinNp,ADJ/CanvDpGnNs 
     6860045 01 S _ 
     6870046 05 W pióro lem:pióro,N/CaGnNs,N/CnGnNs,N/CvGnNs 
     6880051 00 EOM * ser:3 
     6890051 01 P . 
     6900052 01 S _ 
     6910053 11 W Rozpakowała lem:rozpakować,V/ApGfMdNsP3R-TaVp 
     6920064 01 S _ 
     6930065 08 W wszystko lem:wszystko,NPRO/CaGnNsZg,NPRO/CnGnNsZg;wszystek,ADJPRO/CanvGnNsZg 
     6940073 01 S _ 
     6950074 02 W na lem:na,P/Cal 
     6960076 01 S _ 
     6970077 00 BOM * ser:4 
     6980077 06 W klatce lem:klatka,N/CdGfNs,N/ClGfNs 
     6990083 01 S _ 
     7000084 09 W schodowej lem:schodowy,ADJ/CdglDpGfNs 
     7010093 00 EOM * ser:4 
     7020093 01 P . 
     7030094 01 S \n 
     704}}} 
     705 
     706=== ser.11. === 
     707Description: 
     708{{{ 
     709Find pattern '(cat(<N>) space cat(<ADJ>)) | (cat(<ADJ>) space cat(<N>))'. Mark beginning (BOM) and end (EOM) of each matching. 
     710}}} 
     711Command: 
     712{{{ 
     713echo 'Panna młoda dostała sztuczne kwiaty i wieczne pióro. Rozpakowała wszystko na klatce schodowej.' | tok | lem -1 | ser -m -e '(cat(<N>) space cat(<ADJ>)) | (cat(<ADJ>) space cat(<N>))' 
     714}}} 
     715Output: 
     716{{{ 
     7170000 00 BOM * ser:1 
     7180000 05 W Panna lem:panna,N/CnGfNs 
     7190005 01 S _ 
     7200006 05 W młoda lem:młoda,N/CnGfNs,N/CvGfNs;młody,ADJ/CanvDpGfNs 
     7210011 00 EOM * ser:1 
     7220020 00 BOM * ser:2 
     7230020 08 W sztuczne lem:sztuczny,ADJ/CanvDpGafinNp,ADJ/CanvDpGnNs 
     7240028 01 S _ 
     7250029 06 W kwiaty lem:kwiat,N/CaGiNp,N/CnGiNp,N/CvGiNp 
     7260035 00 EOM * ser:2 
     7270038 00 BOM * ser:3 
     7280038 07 W wieczne lem:wieczny,ADJ/CanvDpGafinNp,ADJ/CanvDpGnNs 
     7290045 01 S _ 
     7300046 05 W pióro lem:pióro,N/CaGnNs,N/CnGnNs,N/CvGnNs 
     7310051 00 EOM * ser:3 
     7320077 00 BOM * ser:4 
     7330077 06 W klatce lem:klatka,N/CdGfNs,N/ClGfNs 
     7340083 01 S _ 
     7350084 09 W schodowej lem:schodowy,ADJ/CdglDpGfNs 
     7360093 00 EOM * ser:4 
     737}}} 
     738 
     739=== ser.12. === 
     740Description: 
     741{{{ 
     742Find pattern 'cat(<N>)'. Mark beginning (BOM) and end (EOM) of each matching. 
     743}}} 
     744Command: 
     745{{{ 
     746echo 'Kot, kota, kotu, kocie, kotem' | tok | lem -1 | ser -m -e 'cat(<N>)' 
     747}}} 
     748Output: 
     749{{{ 
     7500000 00 BOM * ser:1 
     7510000 03 W Kot lem:kota,N/CgGfNp;kot,N/CnGaNs 
     7520003 00 EOM * ser:1 
     7530005 00 BOM * ser:2 
     7540005 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     7550009 00 EOM * ser:2 
     7560011 00 BOM * ser:3 
     7570011 04 W kotu lem:kot,N/CdGaNs 
     7580015 00 EOM * ser:3 
     7590017 00 BOM * ser:4 
     7600017 05 W kocie lem:kota,N/CdGfNs,N/ClGfNs;kot,N/ClGaNs,N/CvGaNs 
     7610022 00 EOM * ser:4 
     7620024 00 BOM * ser:5 
     7630024 05 W kotem lem:kot,N/CiGaNs 
     7640029 00 EOM * ser:5 
     765}}} 
     766 
     767=== ser.13. === 
     768Description: 
     769{{{ 
     770Find pattern 'cat(<N/Ci>)'. Mark beginning (BOM) and end (EOM) of each matching. 
     771}}} 
     772Command: 
     773{{{ 
     774echo 'Kot, kota, kotu, kocie, kotem' | tok | lem -1 | ser -m -e 'cat(<N/Ci>)' 
     775}}} 
     776Output: 
     777{{{ 
     7780024 00 BOM * ser:1 
     7790024 05 W kotem lem:kot,N/CiGaNs 
     7800029 00 EOM * ser:1 
     781}}} 
     782 
     783=== ser.14. === 
     784Description: 
     785{{{ 
     786Find pattern 'form(była)'. Mark beginning (BOM) and end (EOM) of each matching. 
     787}}} 
     788Command: 
     789{{{ 
     790echo 'Ala była tu, teraz jest tam.' | tok | lem -1 | ser -m -e 'form(była)' 
     791}}} 
     792Output: 
     793{{{ 
     7940004 00 BOM * ser:1 
     7950004 04 W była lem:były,ADJ/CanvDpGfNs;być,BYC/GfMdNsP3TaVp 
     7960008 00 EOM * ser:1 
     797}}} 
     798 
     799=== ser.15. === 
     800Description: 
     801{{{ 
     802Find pattern 'seg{3} word(teraz) seg{4}'. Mark beginning (BOM) and end (EOM) of each matching. 
     803}}} 
     804Command: 
     805{{{ 
     806echo 'Ala była tu, teraz jest tam.' | tok | lem -1 | ser -m -e 'seg{3} word(teraz) seg{4}' 
     807}}} 
     808Output: 
     809{{{ 
     8100009 00 BOM * ser:1 
     8110009 02 W tu lem:tu,ADVPRO/Zd,PART 
     8120011 01 P , 
     8130012 01 S _ 
     8140013 05 W teraz lem:teraz,ADV/Dp 
     8150018 01 S _ 
     8160019 04 W jest lem:być,BYC/MdNsP3TfrVp 
     8170023 01 S _ 
     8180024 03 W tam lem:tama,N/CgGfNp;tam,ADVPRO/Zd,ONO 
     8190027 00 EOM * ser:1 
     820}}} 
     821 
     822=== ser.16. === 
     823Description: 
     824{{{ 
     825Find pattern 'word space number punct number'. Mark beginning (BOM) and end (EOM) of each matching. 
     826}}} 
     827Command: 
     828{{{ 
     829echo 'Czy 2+2 to cztery?' | tok | lem -1 | ser -m -e 'word space number punct number' 
     830}}} 
     831Output: 
     832{{{ 
     8330000 00 BOM * ser:1 
     8340000 03 W Czy lem:czy,CONJ,PART 
     8350003 01 S _ 
     8360004 01 N 2 
     8370005 01 P + 
     8380006 01 N 2 
     8390007 00 EOM * ser:1 
     840}}} 
     841 
     842 
     843== grp == 
     844 
     845=== grp.1. === 
     846Description: 
     847{{{ 
     848Select sentences containing an expression matching a pattern 'lexeme(kot)'. 
     849}}} 
     850Command: 
     851{{{ 
     852echo 'Ala ma kota.' | tok | lem -1 | grp -e 'lexeme(kot)' 
     853}}} 
     854Output: 
     855{{{ 
     8560000 03 W Ala 
     8570003 01 S _ 
     8580004 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     8590006 01 S _ 
     8600007 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     8610011 01 P . 
     8620012 01 S \n 
     863}}} 
     864 
     865=== grp.2. === 
     866Description: 
     867{{{ 
     868Select sentences containing an expression matching a pattern 'lexeme(kot)'. 
     869}}} 
     870Command: 
     871{{{ 
     872echo 'Ala ma psa.' | tok | lem -1 | grp -e 'lexeme(kot)' 
     873}}} 
     874Output:  
     875{{{ 
     876  
     877}}} 
     878 
     879 
     880== mar == 
     881 
     882=== mar.1. === 
     883Description: 
     884{{{ 
     885Match pattern 'lexeme(kot)'. Mark beginning (BOM) and end (EOM) of each matching. 
     886}}} 
     887Command: 
     888{{{ 
     889echo 'Ala ma kota. Ola ma kota. Bartosz ma psa.' | tok | lem -1 | mar -e 'lexeme(kot)' 
     890}}} 
     891Output: 
     892{{{ 
     8930000 03 W Ala 
     8940003 01 S _ 
     8950004 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     8960006 01 S _ 
     8970007 00 BOM * 
     8980007 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     8990011 00 EOM * 
     9000011 01 P . 
     9010012 01 S _ 
     9020013 03 W Ola 
     9030016 01 S _ 
     9040017 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     9050019 01 S _ 
     9060020 00 BOM * 
     9070020 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     9080024 00 EOM * 
     9090024 01 P . 
     9100025 01 S _ 
     9110026 07 W Bartosz lem:Bartosz,N/CnGpNs 
     9120033 01 S _ 
     9130034 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     9140036 01 S _ 
     9150037 03 W psa lem:pies,N/CaGaNs,N/CgGaNs 
     9160040 01 P . 
     9170041 01 S \n 
     918}}} 
     919 
     920=== mar.2. === 
     921Description: 
     922{{{ 
     923Match pattern 'lexeme(kot)'. Mark matching parts with MATCH tags (before and after any form of lexeme 'kot'). 
     924}}} 
     925Command: 
     926{{{ 
     927echo 'Ala ma kota. Ola ma kota. Bartosz ma psa.' | tok | lem -1 | mar -e '@MATCH lexeme(kot) @MATCH' 
     928}}} 
     929Output: 
     930{{{ 
     9310000 03 W Ala 
     9320003 01 S _ 
     9330004 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     9340006 01 S _ 
     9350007 00 MATCH * 
     9360007 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     9370011 00 MATCH * 
     9380011 01 P . 
     9390012 01 S _ 
     9400013 03 W Ola 
     9410016 01 S _ 
     9420017 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     9430019 01 S _ 
     9440020 00 MATCH * 
     9450020 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     9460024 00 MATCH * 
     9470024 01 P . 
     9480025 01 S _ 
     9490026 07 W Bartosz lem:Bartosz,N/CnGpNs 
     9500033 01 S _ 
     9510034 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     9520036 01 S _ 
     9530037 03 W psa lem:pies,N/CaGaNs,N/CgGaNs 
     9540040 01 P . 
     9550041 01 S \n 
     956}}} 
     957 
     958=== mar.3. === 
     959Description: 
     960{{{ 
     961Match pattern 'lexeme(kot)'. Mark matching parts with BEGINMATCH tags (only before any form of lexeme 'kot'). 
     962}}} 
     963Command: 
     964{{{ 
     965echo 'Ala ma kota. Ola ma kota.' | tok | lem -1 | mar -e '@BEGINMATCH lexeme(kot)' 
     966}}} 
     967Output: 
     968{{{ 
     9690000 03 W Ala 
     9700003 01 S _ 
     9710004 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     9720006 01 S _ 
     9730007 00 BEGINMATCH * 
     9740007 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     9750011 01 P . 
     9760012 01 S _ 
     9770013 03 W Ola 
     9780016 01 S _ 
     9790017 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     9800019 01 S _ 
     9810020 00 BEGINMATCH * 
     9820020 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     9830024 01 P . 
     9840025 01 S \n 
     985}}} 
     986 
     987=== mar.4. === 
     988Description: 
     989{{{ 
     990Match pattern 'lexeme(kot)'. Mark matching parts with ENDMATCH tags (only after any form of lexeme 'kot'). 
     991}}} 
     992Command: 
     993{{{ 
     994echo 'Ala ma kota. Ola ma kota.' | tok | lem -1 | mar -e 'lexeme(kot) @ENDMATCH' 
     995}}} 
     996Output: 
     997{{{ 
     9980000 03 W Ala 
     9990003 01 S _ 
     10000004 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     10010006 01 S _ 
     10020007 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     10030011 00 ENDMATCH * 
     10040011 01 P . 
     10050012 01 S _ 
     10060013 03 W Ola 
     10070016 01 S _ 
     10080017 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     10090019 01 S _ 
     10100020 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     10110024 00 ENDMATCH * 
     10120024 01 P . 
     10130025 01 S \n 
     1014}}} 
     1015 
     1016=== mar.5. === 
     1017Description: 
     1018{{{ 
     1019Match pattern 'word(ma) space lexeme(kot)'. Mark matching parts with MA (before and after each word 'ma') and KOT (before and after any form of lexeme 'kot') tags. 
     1020}}} 
     1021Command: 
     1022{{{ 
     1023echo 'Ala ma kota. Ola ma kota.' | tok | lem -1 | mar -e '@MA word(ma) @MA space @KOT lexeme(kot) @KOT' 
     1024}}} 
     1025Output: 
     1026{{{ 
     10270000 03 W Ala 
     10280003 01 S _ 
     10290004 00 MA * 
     10300004 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     10310006 00 MA * 
     10320006 01 S _ 
     10330007 00 KOT * 
     10340007 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     10350011 00 KOT * 
     10360011 01 P . 
     10370012 01 S _ 
     10380013 03 W Ola 
     10390016 01 S _ 
     10400017 00 MA * 
     10410017 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     10420019 00 MA * 
     10430019 01 S _ 
     10440020 00 KOT * 
     10450020 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     10460024 00 KOT * 
     10470024 01 P . 
     10480025 01 S \n 
     1049}}} 
     1050 
     1051=== mar.6. === 
     1052Description: 
     1053{{{ 
     1054Match pattern 'word(ma) space lexeme(kot)'. Mark matching parts with MA (before and after each word 'ma'), KOT (before and after any form of lexeme 'kot'), BEGINMATCH, ENDMATCH (before and after each matching) tags. 
     1055}}} 
     1056Command: 
     1057{{{ 
     1058echo 'Ala ma kota. Ola ma kota.' | tok | lem -1 | mar -e '@BEGINMATCH @MA word(ma) @MA space @KOT lexeme(kot) @KOT @ENDMATCH' 
     1059}}} 
     1060Output: 
     1061{{{ 
     10620000 03 W Ala 
     10630003 01 S _ 
     10640004 0004 00 BEGINMATCH * 
     10650004 00 MA * 
     10660004 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     10670006 00 MA * 
     10680006 01 S _ 
     10690007 00 KOT * 
     10700007 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     10710011 00 KOT * 
     10720011 00 ENDMATCH * 
     10730011 01 P . 
     10740012 01 S _ 
     10750013 03 W Ola 
     10760016 01 S _ 
     10770017 0017 00 BEGINMATCH * 
     10780017 00 MA * 
     10790017 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     10800019 00 MA * 
     10810019 01 S _ 
     10820020 00 KOT * 
     10830020 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     10840024 00 KOT * 
     10850024 00 ENDMATCH * 
     10860024 01 P . 
     10870025 01 S \n 
     1088}}} 
     1089 
     1090 
     1091== kot == 
     1092 
     1093=== kot.1. === 
     1094Description: 
     1095{{{ 
     1096Change raw text into list of tokens. 
     1097}}} 
     1098Command: 
     1099{{{ 
     1100echo 'Ala ma kota.' | tok 
     1101}}} 
     1102Output: 
     1103{{{ 
     11040000 03 W Ala 
     11050003 01 S _ 
     11060004 02 W ma 
     11070006 01 S _ 
     11080007 04 W kota 
     11090011 01 P . 
     11100012 01 S \n 
     1111}}} 
     1112 
     1113=== kot.2. === 
     1114Description: 
     1115{{{ 
     1116Change list of tokens into raw text. 
     1117}}} 
     1118Command: 
     1119{{{ 
     1120echo 'Ala ma kota.' | tok | kot 
     1121}}} 
     1122Output: 
     1123{{{ 
     1124Ala ma kota. 
     1125}}} 
     1126 
     1127=== kot.3. === 
     1128Description: 
     1129{{{ 
     1130Change list of tokens into raw text. Retain the special characters. 
     1131}}} 
     1132Command: 
     1133{{{ 
     1134echo 'Ala ma kota.' | tok | kot -r 
     1135}}} 
     1136Output: 
     1137{{{ 
     1138Ala_ma_kota.\n 
     1139}}} 
     1140 
     1141=== kot.4. === 
     1142Description: 
     1143{{{ 
     1144Change list of tokens into raw text. 
     1145}}} 
     1146Command: 
     1147{{{ 
     1148echo 'Panna młoda dostała sztuczne kwiaty i wieczne pióro. Rozpakowała wszystko na klatce schodowej.' | tok | lem -1 | ser -m -e '(cat(<N>) space cat(<ADJ>)) | (cat(<ADJ>) space cat(<N>))' | kot 
     1149}}} 
     1150Output: 
     1151{{{ 
     1152Panna młoda 
     1153----- 
     1154sztuczne kwiaty 
     1155----- 
     1156wieczne pióro 
     1157----- 
     1158klatce schodowej 
     1159}}} 
     1160 
     1161 
     1162== fla == 
     1163 
     1164=== fla.1. === 
     1165Description: 
     1166{{{ 
     1167'Flatten' a utt file by merging segments belonging to one sentence in one line. 
     1168}}} 
     1169Command: 
     1170{{{ 
     1171echo 'Ala ma kota. Ola ma kota. Paweł też ma.' | tok | sen | lem -1 | grp -e 'lexeme(kot)' | fla 
     1172}}} 
     1173Output: 
     1174{{{ 
     11750000 00 BOS * 
     1176             0000 03 W Ala 
     1177                          0003 01 S _ 
     1178                                     0004 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     1179                 0006 01 S _ 
     1180                            0007 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     1181  0011 01 P . 
     1182             0012 00 EOS * 
     11830012 00 BOS * 
     1184             0012 01 S _ 
     1185                        0013 03 W Ola 
     1186                                     0016 01 S _ 
     1187                                                0017 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     1188                            0019 01 S _ 
     1189                                       0020 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     1190             0024 01 P . 
     1191                        0025 00 EOS * 
     1192}}} 
     1193 
     1194 
     1195== unfla == 
     1196 
     1197=== unfla.1. === 
     1198Description: 
     1199{{{ 
     1200Transform a flattened UTT file into the regular format by restoring end-of-line characters. 
     1201}}} 
     1202Command: 
     1203{{{ 
     1204echo 'Ala ma kota. Ola ma kota. Paweł też ma.' | tok | sen | lem -1 | fla | unfla 
     1205}}} 
     1206Output: 
     1207{{{ 
     12080000 00 BOS * 
     12090000 03 W Ala 
     12100003 01 S _ 
     12110004 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     12120006 01 S _ 
     12130007 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     12140011 01 P . 
     12150012 00 EOS * 
     12160012 00 BOS * 
     12170012 01 S _ 
     12180013 03 W Ola 
     12190016 01 S _ 
     12200017 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     12210019 01 S _ 
     12220020 04 W kota lem:kota,N/CnGfNs;kot,N/CaGaNs,N/CgGaNs 
     12230024 01 P . 
     12240025 00 EOS * 
     12250025 00 BOS * 
     12260025 01 S _ 
     12270026 05 W Paweł 
     12280031 01 S _ 
     12290032 03 W też lem:też,CONJ,PART 
     12300035 01 S _ 
     12310036 02 W ma lem:mieć,V/AiMdNsP3R?TfrVp;mój,ADJPRO/CnvGfNsZs 
     12320038 01 P . 
     12330039 01 S \n 
     12340040 00 EOS * 
     1235}}} 
     1236 
     1237 
     1238== help == 
     1239 
     1240=== help.1. === 
     1241Description: 
     1242{{{ 
     1243Print tok help. 
     1244}}} 
     1245Command: 
     1246{{{ 
     1247tok -h 
     1248}}} 
     1249Output: 
     1250{{{ 
     1251tok 0.1 
     1252 
     1253Usage: tok [OPTIONS]... 
     1254 
     1255  -h, --help         Print help and exit 
     1256  -V, --version      Print version and exit 
     1257  -i, --interactive  Interactive mode.  (default=off) 
     1258}}} 
     1259 
     1260=== help.2. === 
     1261Description: 
     1262{{{ 
     1263Print lem help. 
     1264}}} 
     1265Command: 
     1266{{{ 
     1267lem -h 
     1268}}} 
     1269Output: 
     1270{{{ 
     1271lem 0.1 
     1272 
     1273Usage: lem [OPTIONS]... 
     1274 
     1275  -h, --help                    Print help and exit 
     1276      --full-help               Print help, including hidden options, and exit 
     1277  -V, --version                 Print version and exit 
     1278        ... 
     1279}}} 
     1280 
     1281=== help.3. === 
     1282Description: 
     1283{{{ 
     1284Print gue help. 
     1285}}} 
     1286Command: 
     1287{{{ 
     1288gue -h 
     1289}}} 
     1290Output: 
     1291{{{ 
     1292guess 0.1 
     1293 
     1294Usage: guess [OPTIONS]... 
     1295 
     1296  -h, --help                    Print help and exit 
     1297      --full-help               Print help, including hidden options, and exit 
     1298  -V, --version                 Print version and exit 
     1299... 
     1300}}} 
     1301 
     1302 
     1303== version == 
     1304 
     1305=== version.1. === 
     1306Description: 
     1307{{{ 
     1308Print tok version information. 
     1309}}} 
     1310Command: 
     1311{{{ 
     1312tok -V 
     1313}}} 
     1314Output: 
     1315{{{ 
     1316tok 0.1 
     1317}}} 
     1318 
     1319=== version.2. === 
     1320Description: 
     1321{{{ 
     1322Print lem version information. 
     1323}}} 
     1324Command: 
     1325{{{ 
     1326lem -V 
     1327}}} 
     1328Output: 
     1329{{{ 
     1330lem 0.1 
     1331}}} 
     1332 
     1333 
     1334=== version.3. === 
     1335Description: 
     1336{{{ 
     1337Print gue version information. 
     1338}}} 
     1339Command: 
     1340{{{ 
     1341gue -V 
     1342}}} 
     1343Output: 
     1344{{{ 
     1345guess 0.1 
     1346}}}