Ak chcete vytvoriť tlmočníka, musíte napísať syntaktický analyzátor zdrojového kódu, slučku vykonania bajtového kódu a veľké množstvo štandardného kódu knižnice. Nie je to vždy zábavné a ľahké, ak nepoužívate nástroje, ktoré vám vygeneruje kompilátor a analyzátor. S nimi bude rovnako ľahké ako škrupiny hrušiek napísať jazykového tlmočníka pre znalého človeka. Pozrime sa na príklad písania tlmočníka s JIT v PyPy.
Inštrukcie
Krok 1
Vyberte jazyk na písanie. V tomto prípade je to brainfuck. Je to veľmi jednoduché a skladá sa z pásky celých čísel, ktoré sú inicializované na nulu, a 1 ukazovateľa na aktuálnu bunku na páske. V jazyku je iba osem príkazov: „>“- presunutie ukazovateľa na ďalšiu bunku, “
Krok 2
Napíšte tlmočníka v obyčajnom jazyku Python. Počítadlo pokynov uloží ukazovatele na aktuálnu inštrukciu. Prvý výraz získa príkaz, po ktorom niekoľko príkazov určí, ako sa má vykonať. Vynechajte implementáciu operátorov „[“a „]“, pretože musia zmeniť počítadlo príkazov na pozíciu rovnakej zátvorky.
Krok 3
Implementujte triedu Tape, ktorá uchováva ukazovateľ na aktuálne číslo a celú pásku. Páska bude podľa potreby rásť. Analyzujte zdrojový kód vopred, aby sa viac komentárov nečítalo po jednom bajte súčasne. Vytvorte tiež slovník zátvoriek, aby ste v prípade potreby v ňom našli zodpovedajúce zátvorky.
Krok 4
Vykonajte def parse (program). Táto funkcia vracia reťazce iba z príkazov a zo zátvorkového slovníka.
Krok 5
Spojte všetko a máte fungujúceho tlmočníka. Spustite tlmočník Python a uistite sa, že funguje. Toto je iba jedna inštancia napísania tlmočníka pomocou najjednoduchšieho jazyka. Ak chcete, môžete písať takmer v akomkoľvek jazyku, pričom ste sa oboznámili s jeho vlastnosťami a účelom.