Каковы шаги, необходимые для оценки внешнего DSL в scala и какие библиотеки доступны для них?библиотеки для внешней оценки DSL в Scala
После того, как я раскошелился, я могу создать AST из классов case с использованием комбинаторов парсера. Каковы следующие шаги в этом процессе? Я посмотрел на kiama (https://code.google.com/p/kiama/), но это неясно из документации (возможно, из-за моих ограниченных знаний по обработке langauage), как поддерживать таблицы символов, как связывать действия с операциями dsl и т. Д.
Из моего опыта кривая обучения Киамы действительно довольно крутая. Тем не менее, он поставляется с множеством хороших примеров, иллюстрирующих, среди прочего, использование таблиц символов. Я только реализовал интерфейс для небольшого языка, но действительно наслаждался использованием Kiama. –
Вы пробовали играть с шаблоном g8? https://github.com/inkytonik/kiama.g8 –
Kiama красивый. Я работал только с основанным на стратегии модулем терминов-переписывания, но это был огромный отрыв от работы с логическими преобразованиями первого порядка. –