Virtuális+gépi+kód

A virtuális gépi utasítások az algml nyelvvel leírt algoritmusnak a szerver oldalán történő előfeldolgozásnak az eredménye. Az algml-el szemben nem az algoritmus logikai szerkezetét rögzíti, hanem a konkrét futás során elvégzendő utasításokat.

Célja
Lehetőséget biztosít arra, hogy a rendszerhez több fajta kliens is implementálható legyen, mivel egyszerűsíti az algoritmust végrehajtó kliens oldali rendszer szerkezetét.

Előállítása

 * 1) az algml kiegészítése (pl: egyedi azonosítókkal, a névtelen elemeket generált névvel), az ezekhez tartozó adatszerkezetek előkészítése
 * 2) az algml kód lefordítása kiterjesztett vgk-ra
 * 3) külső függvények importálása (egy üres elem kerül be a gyökér alá, ide bekerül annak már előfordított kódja [változónevek és entry pontok prefixálásával] )
 * 4) a belépési pontok szinkronizációja ( Az entry parancsokat kiszedjük, csinálunk belőlük egy táblát, és minden goto $entry; helyére a $entry-t lecseréljük egy [i1,i2 ... i_n] azonosítósorra, ahol i1...i_n-1 a tartalmazó algml elem azonosítója, az i_n pedig azt jelöli, hogy hanyadik utasítás után következik a belépési pont.)

Szerkezete
A virtuális gépi utasításokat praktikus módon az algml elemek két argumentumaként ('precode','postcode') tárolhatjuk. Az utasítások egyszerűek, mivel nem kell optimalizációs kérdésekkel foglalkoznunk Az utasítások szerkezete, szintaxisa: opcode paraméter1 paraméter2; opcode paraméter; ...

Végrehajtása
Ha nem történik ugrás, akkor a végrehajtás sorrendje: precode, a gyermekek végrehajtása sorrendben, postcode további részletek: algml interpreter

Vgk klisék

 * Csak hívásra lefutó elemek:

Névadási konvenció
code -e-#-varname code code -f-$name code code -c-varname-# code
 * A kötőjellel kezdődő nevek a rendszer számára vannak fenntartva.
 * Az egyes algml elemek privát változói ( a # elemszámú függvényhívás ##. paramétere ):
 * Függvények belépési pontjai ( a $name nevű függvény ):
 * Összetett változók részei ( a #. része ):

Példák

 * Minimumkeresés algml kódja vgk kiegészítésekkel (3. lépés után)
 * Euklideszi algoritmus algml kódja vgk-val