Как написать свой язык программирования
У каждого программиста рано или поздно появляется желание создать собственный язык программирования :-) У меня это желание появилось несколько лет назад и тогда я не знал с чего начать.
На этом мастер-классе я хочу концентрированно поделиться своим опытом и показать вам на примерах, как сделать так, чтобы из исходного кода придуманного вами языка получилась работающая программа.
После мастер-класса вы будете обладать всеми знаниями, чтобы быстро продолжить свое погружение в удивительный и интересный мир языков программирования. Также эти знания позволят вам лучше понимать то, что происходит под капотом у тех языков программирования, которые вы используете каждый день.
На мастер-классе мы создадим простейший интерпретируемый язык и пройдем через несколько этапов:
- Как прочитать исходный файл (токенизация);
- Как понять, что написано в исходном файле (парсинг);
- Как из исходного файла сделать исполняемый код (компиляция);
- Как запустить исполняемый код (интерпретация).
Бонус темы:
- Как оптимизировать исполняемый код (оптимизация);
- Как проверить валидность кода (статический анализ).
В работе будем использовать JavaScript, потому что это самый общеизвестный язык программирования в веб отрасли. Подготовьтесь заранее и установите себе на компьютер стабильную LTS версию Node.js (>=6.10.0 <7.0.0).