SFA = simple frontend for ast4gen
- Реализация universal language (предок scriptscript) через meta_block_gen
- Пример языка в gen_sfa.coffee
- Он сгенерирует
tok.gen.coffee
иgram.gen.coffee
- Пока есть генератор tokenizer'ов и грамматик языка (еще не всё портировано на блоки, грамматика в виде gram2 )
- Он сгенерирует
- Зачем оно надо
- Это "frontend" для ast4gen (еще не хватает транслятора с
Node
в ast) - Если нужен новый DSL, то накидал себе фич, вот и язык. А не надо раздирать на части scriptscript с его спагетти.
- Собственно даже для scriptscript. Что б не городить спагетти.
- Локализовывать плохие решения в рамках одного блока, который легко изымается.
- Добавлять эксперименты в виде блоков, которые потом легко вынуть.
- Добавлять опции, которые сейчас надо в одном проекте и не надо в другом. (код на 90% похож, отличается только в деталях, значит надо дедуплицировать. А значит написать генератор с опциями)
- Мне на соревновании нужно на чем-то писать. Я не хочу конструировать AST. Я не хочу прописывать везде типы ручками.
- Это "frontend" для ast4gen (еще не хватает транслятора с
- Пока в модуле мало чего есть. Будут обновления (и не факт, что обновления документации).