metaclass: (Default)
[personal profile] metaclass
Все-таки, несмотря на то, что функциональные языки (F#, в моем случае) очень удобны для кодогенерации - кодогенераторы получаются не очень адекватными.
Или огромные классы для описания AST целевых языков и сборка из них нужного кода, затем его pretty-printing или тупой вывод текста по шаблонам. В обоих случаях - код очень малочитабелен.
Для кодогенерации нужен какой-то специфический DSL, да еще с адаптацией под целевые языки.
В случае с метапрограммированием вроде его роль выполняет quasi-quotation, но там в итоге получается код только на том же языке на котором пишешь.

Date: 2011-07-19 12:56 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Так это ж парсеры, а я наоборот вроде код генерирую)
Впрочем тут и бизон оккультен.

Date: 2011-07-19 04:18 pm (UTC)
From: [identity profile] permea-kra.livejournal.com
Не, ну вот тут гугль брешет, что CoCo/R умеет attribute grammars. Т.е не вижу проблемы, это вполне мейнстрим.

Date: 2011-07-19 04:19 pm (UTC)
From: [identity profile] permea-kra.livejournal.com
А, хотя нет. Он attributeD grammar.

Date: 2011-07-19 04:24 pm (UTC)
From: [identity profile] permea-kra.livejournal.com
Хе, а вот anltr (который умеет сишарп) вроде бы умеет.

xttp://www.antlr.org/blog/attribute.grammar.notes.tml

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 29th, 2025 06:54 pm
Powered by Dreamwidth Studios