[Nitra] Сборник материалов по Nitra
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.12.15 21:16
Оценка:
#Имя: Nitra.Articles
Nitra — это языковый "верстак" (workbench). С помощью Nitra можно создавать полноценные языки программирования получая при этом автоматическую поддержку IDE. Nitra поддерживает модульность и расширяемость (в плоть до расширения правил во время парсинга). Nitra — это не просто парсер (хотя наш парсер один из лучших в мире, если не лучший), Nitra — это еще и поддержка типизации (семантического анализа). Nitra предоставляет возможности для: описания областей видимости, описания деклараций языка, автоматического (на базе деклараций) описания и создания символов, связывания имен (с символами), разрешения имен и вывода типов. Nitra решает основные проблемы связанные с разработкой языков программирования. Например, берет на себя управление порядок вычисления при типизации, хранит полную информацию о тексте (местоположение каждого элемена) и т.п.

Ниже приведен перечень статей в порядке в котором их стоит читать. Некоторые материалы устарели. Постараюсь их обновлять.

[Nitra] Introduction — общие сведения о Nitra.

[Nitra] Пример простого языка вычисляющего выражения — минимальный язык способный продемонстрировать большинство фич Nitra. В этом примере используется маппинг, области видимости, связывание имен, зависимые свойства.

Реализация языка программирования Mini C на Nitra
Автор(ы): Чистяков Владислав Юрьевич
Дата: 07.03.2017
В статье описывается реализация компилятора языка программирования Mini C на базе Nitra (под платформу .Net). Mini C — это упрощенная версия языка C. В статье описывается все этапы реализации языка от создания парсера, до генерации MSIL. И сам язык и данное описание созданы для демонстрации того как разрабатывать языки программирования на Nitra. Nitra — это средство разрабоки ЯП (language workbench). Nitra можно использовать для создания языков программирования с расширяемыми синтаксисом и семантикой, а так же языков предметной области (DSL).
— пример полностью реализованного мини-языка (парсинг, типизация, генерация кода). Репозиторий проекта Mini C.

Описание языка описания расширяемых парсеров «Nitra»
Автор(ы):


Описание подсистемы сбора информации «Nitra»
Автор(ы):


Обработка результата парсинга
Автор(ы): Чистяков Владислав Юрьевич
Дата: 18.11.2015
В статье рассматриваются различные способы обработки результатов парсинга в Nitra.
Данная статья интересна если есть желание вручную обрабатывать результаты парсинга (без применения подсистемы типизации).

[Nitra] Calculator example — очень простой пример, демонстрирующий разбор операторов с приоритетом и обработку дерева разбора без создания AST и прочих элементов типизации.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 15.01.2017 0:49 VladD2 . Предыдущая версия . Еще …
Отредактировано 14.01.2017 23:53 VladD2 . Предыдущая версия .
Отредактировано 14.01.2017 23:13 VladD2 . Предыдущая версия .
Отредактировано 14.01.2017 23:13 VladD2 . Предыдущая версия .
Отредактировано 12.01.2017 1:26 VladD2 . Предыдущая версия .
Отредактировано 12.01.2017 1:05 VladD2 . Предыдущая версия .
Отредактировано 12.01.2017 0:47 VladD2 . Предыдущая версия .
Отредактировано 12.01.2017 0:15 VladD2 . Предыдущая версия .
Отредактировано 12.01.2017 0:13 VladD2 . Предыдущая версия .
Отредактировано 04.04.2016 18:27 VladD2 . Предыдущая версия .
Отредактировано 17.12.2015 21:17 VladD2 . Предыдущая версия .
nitra
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.