Pokud vím, tak Inform kompiluje do Z-machine i do Glulx. Do Z-machine ale dokáže zkompilovat jen menší hry, protože formát má svá omezení. V podstatě zvádne jen určité počty objektů atp. Podpora staršího formátu je daná hlavně historicky (Glulx vzniklo až z potřeby provozovat složitější hry) a také hraje roli kompatibilita (Z-machine je tu od počátku a tak je přeci jen větší nabídka interpretrů vč. historických platforem).
A ano, Z-machine i Glulx jsou poměrně nízkoúrovňové virtuální mašiny, vůbec se to neblíží vysokoúrovňovému jazyku, je to spíš takový "assembler". Nicméně oproti strojovému kódu určenému pro HW mikroprocesor se bytekód určený k vykonání SW virtuální mašinou přeci jen liší a občas má sklony k instrukcím vyšší úrovně abstrakce. U té Z-machine je např. vidět operační kód "tokenise", který provede rozložení příkazu zadaného hráčem na jednotlivé tokeny a zadaná slova porovná se slovníkem hry a připraví tabulku shod.
Zbytek parseru, tedy sémantická analýza zadaného příkazu, se už neprovádí v interpretru, ale v programu spuštěném na dané virtuální mašině. Takže ano, můžete mít stokrát to samé, ale v praxi to tak nebude zcela. Každá z těch 100 her může mít trochu jiný parser, třeba jen lehce upravený a doladěný podle dané hry, ale třeba i úplně jiný, pokud je hra vytvořena v jiném nástroji, který také kompiluje do .z6. To samé platí pro ten zbytek, tedy model světa. Opět záleží na nástrojích, ve kterých hry vznikají a i v rámci řekněme Informu pak záleží, jaká rozšíření si autor do hry vloží, takže se může hru od hry lišit.
U TADSu, o kterém přeci jen vím podstatně více, je to s virtuální mašinou podobné, tedy interpret poskytuje tokenizaci a matchování vůči slovníku. Celý zbytek parseru je naprogramovaný přímo v jazyku TADS v knihovně a přeložený do bytekódu, takže se dá prakticky libovolně přizpůsobit potřebám hry.
VM jde ale o podstatný kus dál, než Z-machine, poskytuje TADSovému programu hromadu zabudovaných (= naprogramovaných v C++ v rámci interpretru) funkcí a tříd (intrinsics), které kromě zprostředkování běžných věcí, jako vstup a výstup na obrazovku a do souborů nabízí různé datové struktury a kolekce (list, pole, bigint,...), regulární výrazy a i třeba zmíněnou infrastrukturu pro síťovou komunikaci. Co se týče instrukční sady VM, tak kromě těch instrukcí, které připomínají assembler, jsou zde i takové zajímavosti, jako instrukce, která provede volání metody na polymorfním objektu nebo třeba instrukci pro vyvolání výjimky.