Re[2]: Свой разборщик аналога упрощённого Delphi
От: uni Россия  
Дата: 05.08.19 09:25
Оценка:
C>Есть туториал: https://github.com/rsdn/nemerle/wiki/PegGrammar

C>Не припомню чтобы кто-нибудь использовал Nemerle.PEG для паскалевидных языков. Но грамматика Паскаля отлично парсится любым способом, с помощью PEG тоже должно быть не супер сложно.

C>На основе инструмента можно сделать транслятор на другой язык. Обычно делают так: создается синтактическое дерево программы (AST), потом его обходят для анализа, или поиска ошибок, или генерации исходников на другом языке.

Отлично. Придётся восполнить моё 10 летнее отставание по теме. Дело в том, что там не совсем обычный Паскаль, но достаточно близок к нему. Промышленность живёт в параллельной реальности, которая напоминает прошлое лет 15-20 назад. Это и хорошо, и плохо. Мне приходилось работать в двух мирах программистом. Современные "удобства", когда некоторую часть "грязной" работы за тебя делает язык или среда разработки, там недоступны пока.

Поскольку c# мне больше знаком, то иметь возможность делать что-то нетривиальное с его помощью очень хочется. Я хотел бы создать среду разработки для этих вот языков, добавив правила для возможности разработки интерфейса пользователя, как это сделано в WPF. Изначально язык ST не был ориентирован на графические задачи. И сейчас это тоже так. Хочется расширить возможности, имея связь между векторной графикой и программой, чего нет в существующем стандарте. Поскольку я также и разработчик встраиваемых систем, то мне хочется иметь инструмент, который позволяет упростить разработку кода для некоторого железа (малой автоматики). По аналогии как это сделано в Arduino Framework'е. Только авторы его делали всё по-старинке, "эмулируя" С-подобный скриптовый язык при помощи шаблонов C++. Что выглядит как костыль, но этим пользуются миллионы ардуинщиков на планете. Это, кстати, тоже интересная задачка — придумать язык для Arduino. Тоже в виде транслятора можно, т.к. avr-gcc для платформы существует. Можно пойти дальше и сделать то же для ARM'а, т.к. там писать программы гораздо сложнее.

Думается в этом основной смысл всей этой затеи, насколько я это понял, — дать возможность простым смертным программистам создавать компиляторы компиляторов. Пойду искать/читать статьи за последние 10 лет по теме.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.