A Supernova programozási nyelv

SuperNOVA alkalmazások

A SuperNOVA alkalmazások általában a következő három részre tagolódnak:

Az adatszótár

Az adatszótár tartalmazza a mezők és táblák formális jellemzőit, amelyek az alkalmazásban használt adatmodellt alkotják. Az adatszótárban definiálhatók a mező objektumok és tábla objektumok, melyeket az alkalmazás használ. A SuperNOVA adatfogalma a Codd által megalkotott relációs adatbázis modellen alapul. A mezők tulajdonképpen az alkalmazás változói (minden változó globális). Egy tábla oszlopait a mezők határozzák meg. Tábla definiálásakor meg kell adni a típusát, amely meghatározza azt az adatbázis-kezelő rendszert, amelyet az adathozzáféréshez használunk.
Példák mezők deklarálására:

FIELD nev string(30) FIELD sorrend int(1) FIELD clock time(8) FMT=HH:MM:SS
Példa tábla deklarálására:
TABLE Tszemely TYPE=cat FILE=szemely PATH=TABLE COLUMNS { kod KEY # A kod lesz a kulcsmező. nev # Mj.: a tabla minden oszlopának cim # mezőként deklarálva kell lennie. tel megj }

A grafikus felhasználói felület

A grafikus felhasználói felület biztosítja a kapcsolatot a felhasználó és az alkalmazás között. A felhasználói felület különböző típusú és kinézetű ablakokból áll, melyek adatbekérésre (edit-mező) és adatmegjelenítésre (sztring) szolgálnak. A felület tartalmazhat speciális objektumokat is (pl. gomb, listadoboz, menü stb.), amelyeket grafikus felhasználói felület (GUI) objektumoknak neveznek. Ezek az objektumok teszik a grafikus kezelőfelület használatát könnyűvé és kényelmessé, mivel egyszerűen és gyorsan létrehozhatóak, igazi 4GL-re jellemző módon. Tetszés szerint lehet változtatni méretüket, megjelenésüket, színüket, betűtípusukat stb. Az objektumok elnevezésénél célszerű betartani a SuperNOVA konvenciókat, mert ezáltal olvashatóbbá tehető a forráskód.
Példa (részlet a pelda01 programból):

DIALOG Dkod ATLINE=10 ATCOL=26 LINES=12 COLS=40 MODAL FONT=4H_DIALOG { STRING DkodSszoveg Y=10 X=20 TEXT='Kérem az azonosítót és a jelszót!' FONT=4H_HEADER STRING DkodSazon Y=35 X=50 TEXT=Azonosító: EDIT DkodEazon Y=35 X=180 WIDTH=150 FIELD=azonosito STRING DkodSjelszo Y=60 X=65 TEXT=Jelszó: EDIT DkodEjelszo Y=60 X=180 WIDTH=120 FIELD=jelszo WONLY BUTTON DkodBok Y=85 X=40 WIDTH=150 TEXT=OK DEFAULT BUTTON DkodBkilep Y=85 X=210 WIDTH=150 TEXT=Kilépés }

Az alkalmazás logika

Tulajdonképpen az alkalmazás logika határozza meg a program működését. Az alkalmazás logika olyan függvények sorozata, melyek mindig valamilyen objektumra vonatkoznak. A logika folyamát a függvény sikeres vagy sikertelen végrehajtása befolyásolja. Sikertelen végrehajtáskor úgynevezett alternatívák végrehajtására van lehetőség. Az alkalmazás logika segítségével lehet megjeleníteni az ablakokat a képernyőn, adatforgalmat lebonyolítani a táblák és az ablakokban szereplő objektumok között, és a felhasználó által generált eseményeket lekezelni. A nyelvben megtalálható parancsokat és belső függvényeket is az alkalmazás logikában lehet használni, itt van lehetőség felhasználói függvények megírására és felhasználására.

Egy parancs felépítése: <folyam> <függvény> <objektum> <argumentum>
<folyam>: A folyam definiálja a függvény végrehajtásának módját.
A következő kulcsszavak egyike lehet: once, repeat, void, fail, not, continue, basic.
<függvény>: A függvény neve, amelyet az objektumon végre kell hajtani.
Lehet alapvető vagy felhasználó által definiált függvény is.
<objektum>: Az objektum neve, amelyre a függvényt alkalmazni kell. Lehet mező, tábla, BASE, dialógus stb.
<argumentum>: Néhány alapvető függvény igényel vagy elfogad argumentumokat, melyek hossza maximum 150 karakter. Ha a függvény elfogad egynél több argumentumot, akkor azokat legalább egy szóközzel kell elválasztani.