LINUX.ORG.RU

DSL-фреймворк под python с генератором документации или без

 , ,


0

1

работаю над декларативным Domain-Specific Language. Задача - описывать свойства сущностей некоторого количества классов. Классы, по идее, нужно будет засунуть в свою иерархию.

Пример:

...
class fish:
    inherits creature
    swims
    lives_in_water
 

fish blowfish:
    imageset 1
    image blowfish.png
    size 10cmX12cmX14cm
    danger low

...
PS: вместо отступов можно и скобочки, пофиг

Язык будет наращиваться. Парситься будет из python(3) и, возможно, C.

Может, есть какие-то готовые фреймворки, которые позволят не изобретать велосипед? Вообще супер, если эти фреймворки еще и документацию к языку сгенерят, и позволят встроить в язык тот же генератор документации. Ох, сколько требований^Wпожеланий много.

Пока планирую посмотреть flex, хз пока что это

Спасибо

PS Не хочу использовать json, yaml и прочее, так как хочется свободы вертеть синтаксисом как взбредет в голову. xml вообще не предлагайте даже.

★★★★★

ANTLR вроде есть для питона, сам правда не смотрел.

ebantrop
()
Ответ на: комментарий от gh0stwizard

списковые значения не нужны будут. из соображений производительности хотя бы, от них придется избавляться на стадии проектирования

MyTrooName ★★★★★
() автор топика

Может, есть какие-то готовые фреймворки, которые позволят не изобретать велосипед

Есть, масса их. Protocol Buffers, Thrift, IDL, ASN.1, XML Schema, XML RelaxNG, XML DTD. A также, JSON и YAML, но к ним нет устоявшихся генераторов схем.

Все, ЧСХ, унылы до бесконечности.

Macil ★★★★★
()
Ответ на: комментарий от Macil

про json, yaml и xml я уже объяснил. остальные тоже можно не смотреть?

MyTrooName ★★★★★
() автор топика

хочется свободы вертеть синтаксисом как взбредет в голову

контекстно-зависимая грамматика tcl спасёт отца русской демократии :)

MKuznetsov ★★★★★
()
Ответ на: комментарий от MyTrooName

а можно пример?

а ты его уже написал :) В исходном сообщении, как только «PS: вместо отступов можно и скобочки, пофиг» получил программу на tcl над своими данными :)

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

и это можно будет интерпретировать и питоном, и сишечкой? как насчет генерации документации?

MyTrooName ★★★★★
() автор топика
Ответ на: комментарий от MyTrooName

и это можно будет интерпретировать и питоном, и сишечкой?

для С даже готовый интерпретатор есть :)

как насчет генерации документации?

генери если надо.

ps. сначала с данными разберись - что ты там описываешь и как с этим работаешь. Синтаксис DSL`я дело десятое.

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

благодарю

сначала с данными разберись

да, так оно лучше будет. сам DSL отложил до лучших времен, когда интерпретатор «байткода» будет.

MyTrooName ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.