AMADEUS html plain
KIIRE TOIMETIARENDUS
Lugemiseks soovitatav: Amadeus, File+Import
Jüri Kiho 15.12.03
(Rapid Editor Development)
Skeemtoimeti Amadeus tutvustus
tavatekst vs. skeemtekst
Tavatekst --> grupeerimine --> skeemtekst.
Tavatekstide ja skeemtekstide võrdlevaid
näiteid:
Animator.java
Java, File+Input java
_syntax_output.txt
EKFG Tools+Sketchify
PeterAam.txt
sugupuu, Tools+Sketchify
TudTooPeafail.html
LaTex, Tools+Textualize
skeemi mõiste
Skeem ja haru, nende elemendid;
lihtsustatud ülevaade:
skeem
skeemi päis 1
kommentaar
skeemi päis 2
kommentaar
. . .
haru 1
haru 1 päis 1
kommentaar
haru 1 päis 2
kommentaar
. . .
haru 1 liige 1
haru 1 liige 2
. . .
haru liige on skeem või primitiiv
(primitiivi tekst)
kommentaar
haru 2
Skeemi (ja haru) atribuudid
Tüüp
Vaade
Baaskeel
skeemtoimeti iseloomulikke funktsioone
Toimetamine suuremate blokkide kaupa.
WYSIWYG igas vaates.
Skeemi ikoniseerimine/deikoniseerimine.
Skeemiga ümbritsemine, skeemi avamine.
Side tavatekstiga:
tekstualiseerimine, skeemistamine.
TeX/LaTeX-tugi
mõningane
käesoleva teximine
Esitlus.tex kausta tex
Toimetiarenduse ülesanne
? Millal kerkib
Teatava spetsiifilise struktuuriga tavatekst,
mille puhul on soovitav käsitleda suuremaid
konstruktsioone tervikutena
näiteid
konkreetsed, juba lahendatud (vt ka Base + Set)
Programmitekst
keele Java jaoks
LaTeX-dokument
. . .
Kontrollimist vajav mingi süsteemi
töö suurem tekstiline tulemus
näide EKFG
. . .
Sugupuu
Kerkiv ülesanne: luua vastav eritoimeti
? Lahendus
Keerulisem, kallim ja aeganõudvam:
luua vastav eritoimeti nullist alates.
Lihtsam, odavam ja kiirem:
täiendada Amadeus uue baaskeelega.
? Mida tähendab
Eeskätt vastava skeemisti ja tekstualiseerija
loomine. Need võimaldavad tavakeelset
teksti skeemtoimetamisele võtta ja vajaduse
korral jälle tavatekstina väljastada.
? Mis on aluseks
Uue, lisatava baaskeele (antud spetsiifilise
tavateksti) skeemmudel, mis fikseerib,
kuidas baaskeele konstruktsioonid peaksid
skeemidena esituma.
Mudeli sätestab kasutaja.
? Probleem
Kui tekstualiseerija teostus võtab vaid
paar tundi, siis skeemisti "käsitsi" loomine
on väga töömahukas (ja mõttetu)
Toimetiarenduse automatiseerimine
Olgu L keel, mille jaoks soovitakse saada
skeemtoimetamise võimalus.
Siin: küsimus sellest, kuidas teha skeemisti.
Koostada keele L grammatika
a) põhimõtteline, EBNF vormis;
FamilyEBNF.html
b) selle teostus JavaCC/JJTree vormis.
Family_jjt.html
Parsitav baaskeel L -> süsteemi Amadeus
Lisada uus baaskeel (L) süsteemi Amadeus,
esialgu ainult koos parsimisvõimalusega.
BaseLanguage.html, BaseLanguageFamily.html
Siluda keele L grammatika Amadeus abil
Testimine (parsimine) konkreetsete näidete
varal.
PeterAam.txt
Keele L põhimõtteline skeemmudel
FamilyModel0.html
Selle mudeli ja konkreetsete näite-
tekstide alusel täiendada grammatika
teostust elimineerimaks
parsipuus ülearuste tippude loomine.
Keele L skeemmudel ja skeemisti
FamilyModel.html
BaseLanguageFamily.html
Katsetamine. Mudel on kergesti muudetav.
FamilyModel.html
Amadeus kui sugupuu toimeti
Aam
kaust PeterAam
Kooskora
delikaatne
Allikad
J.Kiho. SKM. Sketchy Modeling of Computer Texts.
Tartu, 2000, 64 p.
J.Kiho. Sketchy Modeling for XML.
7th Symposium on Programming Languages and Software Tools.
Szeged, Hungary, June 15-16, 2001, pp. 183-197
J.Kiho, S.Solopova. Heterogeneous File Projects
in the Sketchy Modeling Environment.
The Tenth Nordic Workshop on Programming and
Software Development Tools and Techniques. IT-University,
Copenhagen, August 18-20, 2002, pp. 71-79
Kristo Heero. Java parserite generaator JavaCC ja skeem-
modelleerimine. TÜ, magistritöö, 2002
Aleksander Reitsakas. Analüüsivahend JJTree/JavaCC
ja selle rakendamine toimetiarenduses. TÜ, magistritöö, 2003
Svetlana Golovko. Projekti mõiste ja teostus süsteemis Amadeus.
TÜ, magistritöö, 2004
http://www.cs.ut.ee/~kiho/Amadeus-Jasovi/
Java lähtetekstide vaatlemine
http://www.cs.ut.ee/~kiho/Amadeus-Famibase/
Sugupuu toimetamine