Odpovídáte na názor ke článku Postavte si jazyk.
No já se právě ve škole a po škole zabýval vlastními parsery jazyků a nepřišel jsem na chuť automatizovaným nástrojům. Většinou je to stejně jen o dvou věcech. Lexikální analýza, tj převod textu na symboly, a "rekurzivní sestup" kdy jazyk je popsán LL(1) nebo obecně LL(n) gramatikou a není problém takovou gramatiku přímo přepsat do volání funkcí které obsahují větvení podle následujícího symbolu, nebo prostě jen symbol přijímají a ověřují.
Samotnou interpretaci jsem většinou řešil převodem textu do vyhodnocovacího stromu. Jo, výsledek bylo možné serializovat do bytecode a pak provádět zásobníkovým automatem, ale to už je jen třešnička. Vyhodnocení stromu je v zásadě totéž a často to naprosto dostačuje.
Největší problémy mi teď u návrhu jednoho skriptovacího jazyka dělá paradoxně garbage collecting odhozených proměnných. Ne že bych neuměl napsat GC, ale přijde mi to hodně pomalé.
Autor se zabývá vývojem kompilátorů a knihoven pro objektově-orientované programovací jazyky.
Přečteno 37 774×
Přečteno 26 420×
Přečteno 24 934×
Přečteno 21 278×
Přečteno 18 933×