Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
В интерпретаторе и компиляторе есть баг: в выражениях типа a() && b() или a() || b() всегда исполняются обе части.
Спасибо большое! Автор оставил такое на каждой странице, начиная с интерпретатора:

Циклы через рекурсию, потому что это красиво (на самом деле — нет), мегасвичи, захардкоженные операторы.
Читатель, смотри, удивляйся, но никогда так не делай в реальных проектах.
Как реализовать язык программирования на JavaScript. Часть 2: Интерпретатор