Re: Реализация языка программирования Mini C на Nitra
От: Arsen.Shnurkov  
Дата: 03.03.17 22:55
Оценка:
Я не в теме, но подход нитры мне кажется слегка переусложнённым.

В нитре три внутренних представления:
1) синтаксис
2) AST
3) целевая модель
и соответственно, минимум пять языков (3 языка описания и 2 языка трансформации)

Если оставить только два представления:
1) исходное;
2) конечное;

то понадобиться всего три формализма:
1) для описания синтаксисов (EBNF)
2) для описания объектных моделей (тут какой-нибудь язык запросов для ОО-СУБД)
3) язык преобразования (типа XSLT)
(ну, ещё может пригодиться язык навигации по дереву EBNF типа XPath)


UPD: Можно пойти ещё дальше.
Нам надо одну последовательность битов (исходный текст) преобразовать в другую (бинарный код).
Чем у нас описывают последовательности битов? ASN.1 XER.
Таким образом, нужно всего два формализма — этот и формализм для преобразования.
Отредактировано 04.03.2017 12:11 Arsen.Shnurkov . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.