Компилятор на nodeJS?
Возможно ли создать компилятор на NodeJS? Если такое возможно, то какие модули или библиотеки понадобятся для разработки?
|
Цитата:
Цитата:
Есть уже готовые компиляторы ничего не мешает использовать из из NodeJS по сути это просто выполнение простой команды в консоле. |
Понимаете... "Великолепная" система образования просит меня сделать компилятор, и я так понимаю всё это нужно как-то связать с машинным кодом и прочее. Так как с java у меня плохие отношения, то я бы хотел сделать это на языке с которым имел и буду иметь дела (NodeJS).
Вот перечень заданий который нужно выполнить при создание компилятора: Компилятор рекомендуется построить из следующих составных частей: 1. Лексический анализатор. 2. Синтаксический анализатор. 3. Оптимизатор. 4. Генератор результирующего кода. Для построения компилятора рекомендуется использовать методы, освоенные в ходе выполнения лабораторных работ по курсу «Системное программное обеспечение». Цитируя моего преподавателя: "Чтобы уметь кататься на велосипеде, нужно знать как он работает и из чего он состоит." (логично? НИ КАПЛИ!) |
Основные вопросы остались открыты.
Компилятор чего? какой язык компилировать На какую платформу? x86 ARM или какая другая регистровая машина. а может для стековой машины? или на какую нибудь извращенскую виртуальную архитектуру вроде Java или .NET без конкретики дальше никуда. А проще загуглить готовое решение какого нибудь простого скриптового языка по сути это тот же компилятор для виртуальной архитектуры. |
Retro_1477,
Вот это я понимаю задали домашку 80-го лэвэла! Не то что остальным, скрипт приветствия или калькулятор через промпт. =) Компилятор одна из самых сложных программ. |
Я сам не вижу большого смысла в создание собственного компилятора, но всё же вышка и проходная тройка мне нужна)
Нашёл интересную статью, похоже то что мне нужно. https://habr.com/post/351906/ Досадно, что это единственное что я нашёл на просторах интернета :( |
Скорее всего уже неактуально, но есть неплохая книга Let's Build a Compiler, доступна бесплатно в разных форматах. Используемый в ней язык Turbo Pascal легко перекладывается в JavaScript.
|
Часовой пояс GMT +3, время: 13:29. |