Nende programmide installeerimiseks:
1. Salvesta kôik .arj-failid mingisse kataloogi (näiteks kataloogi c:\flex).
2. Paki .arj -failid lahti kas Winarj-iga või kui arvutis on installeeritud mingi arj- käskukeelt kasutav programm, siis käsuga
3. Paki lahti kôik .zip failid; Winzip kasutamisel tuleb lahti pakkida järhjest kõik zip-failid, näidates sihtkataloogina (kuhu lahti pakitakse) alati SAMA kataloogi, s.t. (näiteks C:\flex]; kui kasutatakse mingit käskulleöt (s.t. DOS-all töötvat lahtipakkimisprogrammi, programmi pkunzip saab näiteks leheküljelt http://nct.digitalriver.com/fulfill/0018.4), siis saab kõik teha ühe käsuga
4. Nüüd võid kustutada .a* (.arj) ja .zip failid.
5. Modifitseeri faili c:\autoexec.bat (Windows-is: "Start-Run-sysedit" või valides parempoolsega klikates "My Computer - Properties - Advanced - Environment Variables"): muutujale PATH tuleb lisada kataloog c:\lex\bin; uuemates Windows-ites (XP) Path puudub, sel juhul tuleb lisada rida
NB! Käsitsi editeerides tuleb Windows NT-s, Windows 2000-s, Windows XT-s tuleb
autoexec.bat asemel muuta faili c:\windows\system32\autoexec.nt (kõik ülalkirjeldatud muudatused
salvestatakse selles failis).
Et need muudatused hakkaks toimima, tuleb arvuti uuesti käivitada (teha restart).
Programm flex on DOS-aknas töötav programm, seega tuleb selle kasutamiseks enne käivitada MSDOS-aken ja teha oletuskataloogiks c:\lex\bin (järgnevas eeldatakse, et see kataloog on tehtud oletuskataloogiks ja kõik kasutatavad failid asuvad selles).
Programmi flex abil leksilise analüsaatori loomiseks tuleb:
1. luua tekstifail (näiteks number.lex), milles kirjeldatakse loodav leksiline analüsaator, järgides flex-i sisendfaili struktuurireegleid; see fail tuleb samuti paigutada kataloogi c:\lex\bin
2. käivitada flex käsuga
3. Kompileerida lex.yy.c GNU c-translaatori gcc-ga, näidates võtme -o järel väljundfaili (s.t. loodava leksilise analüsaatori faili; võtme ja failinime vahel ei tohi olla tühikut); kui väljundfailiks oleks näiteks numlex.exe, siis kompileerimine toimub käsuga
4. Saadud leksilise analüsaatori numlex.exe testimiseks loome sellele mingi sisendfaili, näiteks tekstifaili number.txt; selle analüüsimiseks loodud leksilise analüsaatoriga anname käsu
Selle käsu järel ilmub leksilise analüüsi tulemus ekraanile; kui seda soovitakse saada näiteks faili numout.txt, tuleb anda käsk
Kuna nii flex kui ka gcc kirjutavad töö tulemusena
kettale uue faili, siis peab oletuskataloogiks olema tehtud kataloog, milles
kasutajal on kirjutamisõigus, s.t. TTÜ arvutisaalis - kasutaja kodukataloog.
Ülalkirjeldatud muutuja Path modifikatsioon on selleks, et
programmidele flex ja gcc viitamisel poleks
tarvis kasutada nende täpset asukohta - pikki kataloogide nimesid (kus nad on salvestatud).
TTÜ arvutisaalis AK-111 (109) on need juba lisatud - uuema versiooni jaoks.
Kui arvutisaalis AK-111 (109) tahetakse kasutada Flex-i vanemat versiooni, peab
DOS-sessiooni algul anda DOS aknas käsud, millega vanema flex-i
ja gcc kataloogid
lisatakse selle DOS-sessiooni ajal kasutatavasse PATH-i:
Kasulik abivahend formaalsete grammatikate testimiseks ja silumiseks (genereerib grammatika abil saadavaid stringe ja koostab analüüsipuu) on grammatikaeditor, mille saab maha laadida aadressilt ozark.hendrix.edu/~burch/proj/grammar/download.html. Installeerida pole vaja, kuid arvutis peab olema installeeritud java runtime.
Kasutamisel peab jälgima järgmisi reegleid:
- mitteterminalid on suurtähed (esimese rea/produktsiooni vasakul pool olev
mitteterminal on ka algussümbol),
terminalid väiketähega algavad tähti ja numbreid sisaldavad stringid
- produktsioonimärk on ->
- kõigi sümbolite (terminalide ja mitteterminalide) vahel peab olema eraldajaks
tühik.
Järgnevas on väike näide - 5-ndsüsteemis kirjutatud reaalarvu grammatika (s.t. kasutatakse ainult numbreid 0..4); kuna editor (praegu) ei võimalda kasutada muid märke, on reaalarvu eraldaks terminal punkt, arvu märk + on terminal pluss ja - terminal miinus järgumärk on e; mitteterminalide semantika: R - Reaalarv, A - algusosa (kuni punktini), L - Lõpposa, T - Täisarv, N - Number, M - märk; märgi produktsiooni viimane võimalus on tühi, s.t. märk võib ka puududa: