Skip to content

Token, grammar, etc generators in block_gen style

License

Notifications You must be signed in to change notification settings

hu2prod/lang_gen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lang_gen

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. Я не хочу прописывать везде типы ручками.
  • Пока в модуле мало чего есть. Будут обновления (и не факт, что обновления документации).

About

Token, grammar, etc generators in block_gen style

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published