Друкарня від WE.UA

λanguage: Як реалізувати мову програмування на JavaScript

Цей переклад статті є спробою донести інформацію про створення мови програмування на JavaScript до українського читача. Оригінальна стаття була опублікована на блогі автора. Сподіваюся, що цей переклад буде корисним для тих, хто цікавиться створенням власних мов програмування та розвитком у ІТ галузі.
Автор: Joan Gamell. Опубліковано на Unsplash

Це навчальний посібник з реалізації мови програмування. Якщо ви коли-небудь писали інтерпретатор або компілятор, то, ймовірно, тут немає нічого нового для вас. Але якщо ви використовуєте регулярні вирази для "розбору" чогось, що схоже на мову програмування, то, будь ласка, прочитайте хоча б розділ про синтаксичний аналіз. Давайте писати менше помилок!

Ви завжди можете звернутися назад, якщо щось не зрозуміли. Крім того, питання і відгуки дуже вітаються! [[email protected]]

Цільова аудиторія - середній JavaScript / NodeJS програміст.

Що ми будемо вивчати:

  1. Що таке парсер і як його писати.

  2. Як писати інтерпретатор.

  3. Продовження (continuations) і чому вони важливі.

  4. Написання компілятора.

  5. Як перетворити код на стиль передачі продовження (continuation-passing style).

  6. Кілька базових технік оптимізації.

  7. Приклади того, що нового принесе наша мова порівняно з простим JavaScript.

Протягом цього часу я буду аргументувати, чому Lisp - велика мова програмування. Однак мова, над якою ми працюватимемо, не є Lisp. Вона має більш розгалужений синтаксис (класичний інфіксний запис, який знає кожен) і буде приблизно такою ж потужною, як Scheme, за винятком макросів. На жаль або на щастя, макроси - це останній бастион Lisp, щось, що іншим мовам просто не вдається завоювати (якщо вони не називаються діалектами Lisp). [Так, я знаю про SweetJS..., але не цілком.]

Але спочатку давайте вигадаємо мову програмування.

Статті про вітчизняний бізнес та цікавих людей:

  • Як модні бренди формують культуру та впливають на глобальні fashion-тренди

    Модні бренди часто стають символами ідентичності. Вони впливають на вибір способу життя не тільки в одязі — розкішні годинники, парфуми, товари для дому та враження підкріплюють культурні наративи успіху, смаку та вишуканості.

    Теми цього довгочиту:

    Мода
  • Створити блог на Друкарні - швидко, легко та безкоштовно

    Друкарня - це зручне та безкоштовне середовище для ведення власного блогу. В даній статті ми розповідаємо про основні переваги та функціональні можливості для того, щоб зацікавити нових авторів створити власний блог на Друкарні. Будь ласка, поширте цю інформацію.

    Теми цього довгочиту:

    Друкарня
  • Чому Google Merchant Center може заблокувати обліковий запис?

    Одним з найбільш ефективних каналів продажів є система Google Merchant Center. Правда, акаунт в ній може бути несподівано заблокований, якщо при його налаштуванні були порушені правила системи. У статті розглянемо підводні камені і дамо відповідь як уникнути блокування

    Теми цього довгочиту:

    Google Merchant Center
  • Бухгалтерський супровід ФОП: сучасний підхід до обліку

    Завдяки розвитку інформаційних технологій, впровадженню сучасних рішень і сервісів процес ведення бухобліку бізнесу став значно простішим і зручним. З іншого боку, ті ж технології додали бухгалтерам роботи – з обліком онлайн-продажів і надходжень у валюті, CRM-системами та ін.

    Теми цього довгочиту:

    Бухгалтерський Облік Фоп
  • Пилосос як базова техніка для щоденного прибирання

    Підтримання чистоти в оселі потребує зручних і продуманих рішень, особливо коли йдеться про догляд за різними поверхнями. У домашньому побуті пилосос залишається базовою побутовою технікою, що поєднує сухе та вологе очищення без зайвих зусиль.

    Теми цього довгочиту:

    Пилососи
Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Romashka
Romashka@Romashka we.ua/Romashka

Створюю інтерпретатор Mash Src

11Довгочити
210Прочитання
1Підписники
На Друкарні з 16 березня

Більше від автора

  • Mash Script: Рядки, string

    Стаття охоплює різні аспекти роботи з рядками в мові Mash Script, включаючи їхній літеральний запис, методи, рядки-шаблони та інше.

    Теми цього довгочиту:

    Mash Script
  • Mash Script: Оголошення функцій

    Ця публікація охоплює основи роботи з функціями в мові програмування Mash Script: оголошення, використання опціональних параметрів, повернення значень, продвинуту типізацію та створення анонімних функцій.

    Теми цього довгочиту:

    Mash Script
  • Mash Script: Базовий синтаксис

    Опис базової структури програми написаної мовою Mash Script

    Теми цього довгочиту:

    Programming

Це також може зацікавити:

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Це також може зацікавити: