LINUX.ORG.RU

История изменений

Исправление Manhunt, (текущая версия) :

Ты просто неправильно смотришь http://blog.ppenev.com/parens.png

Детский сад какой-то.

так я новый синтаксис макросами введу

Новый синтаксис со старыми убогими скобочками? :D Это не засчитывается, я уже написал, почему.

А для более-менее нормального DSL тебе придётся нахреначить полноценный парсер (например, PEG с мемоизацией), и подцепить к нему нетривиальный бэкенд (например, кодогенератор). В таком случае вставка фрагментиков LISP/C++ кода в новый язычок будет наименьшей из проблем, и от деланья всего этого именно макросами никакого заметного профита нет. В конце концов, фрагментики LISP/C++ кода придётся как-то обрамлять на уровне DSL-синтаксиса, так что в синтаксис самих фрагментиков парсеру можно и не вникать. Бездумно выкусит эти фрагментики (т.е. всё, что находится внутри обрамления), и натравит на них нормальный компилятор C++.

Исправление Manhunt, :

Ты просто неправильно смотришь http://blog.ppenev.com/parens.png

Детский сад какой-то.

так я новый синтаксис макросами введу

Новый синтаксис со старыми убогими скобочками? :D Это не засчитывается, я уже написал, почему.

А для более-менее нормального DSL тебе придётся нахреначить полноценный парсер (например, PEG с мемоизацией), и подцепить к нему нетривиальный кодогенератор. В таком случае вставка фрагментиков LISP/C++ кода в новый язычок будет наименьшей из проблем, и от деланья всего этого именно макросами никакого заметного профита нет. В конце концов, фрагментики LISP/C++ кода придётся как-то обрамлять на уровне DSL-синтаксиса, так что в синтаксис самих фрагментиков парсеру можно и не вникать. Бездумно выкусит эти фрагментики (т.е. всё, что находится внутри обрамления), и натравит на них нормальный компилятор C++.

Исходная версия Manhunt, :

Ты просто неправильно смотришь http://blog.ppenev.com/parens.png

Детский сад какой-то.

так я новый синтаксис макросами введу

Новый синтаксис со старыми убогими скобочками? :D Это не засчитывается, я уже написал, почему.

А для более-менее нормального DSL тебе придётся нахреначить полноценный парсер (например, PEG с мемоизацией), и подцепить к нему нетривиальный кодогенератор. В таком случае вставка фрагментиков LISP/C++ кода в новый язычок будет наименьшей из проблем, и от деланья всего этого именно макросами никакого заметного профита нет. В конце концов, фрагментики LISP/C++ кода придётся как-то обрамлять на уровне DSL-синтаксиса, так что в синтаксис самих фрагментиков парсеру можно и не вникать. Бездумно выкусит эти фрагментики, и натравит на них нормальный компилятор C++.