Chcete-li vytvořit tlumočníka, musíte napsat analyzátor zdrojového kódu, smyčku provádění bajtového kódu a obrovské množství standardního kódu knihovny. Není to vždy zábavné a snadné, pokud nepoužíváte nástroje, které vám kompilátor a analyzátor vygeneruje. S nimi bude stejně snadné jako ostřelování hrušek napsat tlumočníka pro znalého člověka. Podívejme se na příklad psaní tlumočníka s JIT v PyPy.
Instrukce
Krok 1
Vyberte jazyk pro psaní. V tomto případě je to brainfuck. Je to velmi jednoduché a skládá se z celých pásek, která jsou inicializována na nulu, a 1 ukazatele na aktuální buňku na pásce. V jazyce je pouze osm příkazů: „>“- přesunout ukazatel na další buňku, “
Krok 2
Napište tlumočníka v prostém Pythonu. Počítadlo instrukcí uloží ukazatele na aktuální instrukci. První výraz načte příkaz, po kterém několik příkazů určí, jak jej spustit. Vynechejte implementaci operátorů „[“a „]“, protože musí změnit čítač příkazů na pozici stejné závorky.
Krok 3
Implementujte třídu Tape, která ukládá ukazatel na aktuální číslo a pásku celých čísel. Páska se podle potřeby zvětší. Analyzujte zdrojový kód předem, aby se více komentářů nečetlo po jednom bajtu. Vytvořte také slovník závorek, abyste v něm v případě potřeby našli odpovídající závorky.
Krok 4
Proveďte def parse (program). Tato funkce vrací řetězce pouze z příkazů a slovníku v závorkách.
Krok 5
Spojte vše dohromady a máte fungujícího tlumočníka. Spusťte tlumočník Pythonu a ujistěte se, že funguje. Toto je jen jedna instance psaní tlumočníka pomocí nejjednoduššího jazyka. Pokud chcete, můžete psát téměř v jakémkoli jazyce, abyste se seznámili s jeho vlastnostmi a účelem.