Po niekoľkých neúspešných pokusoch napísať interpretér programovacieho jazyka som sa rozhodol zjednodušiť moje ponímanie slova interpretér do najjednoduchšej možnej podoby. Táto jednoduchá minimálna podoba nie je príliš užitočná, ale je jednoduché ju implementovať.
Na Obrázku
1 je kompletný interpretér spolu s programom, ktorý vypočíta hodnotu výrazu
. Pole
memory obsahuje inštrukcie a dáta. Číslo
pc — program counter — predstavuje index aktuálne vykonávanej inštrukcie. Celý interpretér je tvorený while cyklom. V cykle sa najprv vyberie aktuálna inštrukcia
ins, ktorá má index
pc v poli
memory. Potom sa na základe hodnoty
ins — inštrukcie — vykoná operácia. Program podporuje 3
operácie. Operácia
ins=0 predstavuje výpis do konzoly. Do konzoli sa vypíše číslo na pozícií, ktoré je určené ďalšou inštrukciou, preto argument
printf je
memory[memory[pc+1]]. Pretože číslo za inštrukciou
ins=0 sa používa ako index do pamäte. Druhá podporovaná operácia
ins=1 je odčítanie dvoch čísel a uloženie výsledku na vybrané miesto. Tretia operácia
ins=2 je ukončenie programu.