LINUX.ORG.RU

Язык описания диаграмм, API

 


1

1

Посоветуйте для программной генерации язык описания диаграмм. Например, БНФ или подобных.

Чтобы рендеринг в растр или PDF был незатруднителен.

Не слишком ли сложен классический формат для Dia?

Я думаю, SVG или TeX здесь будет оверхэдом.

Ответ на: комментарий от necromant

graphviz

Я пока в раздумьях насчёт .dot

Мне он кажется негодным для чтения человеком.

Хотелось бы формат, который легко читался бы с листа, и его можно бы было написать на листочке бумаги по памяти.

Вот на Go [d2lang] - годная вещь, но я не готов ставить go ради одного пакета рендеринга векторного формата. Go собирается из исходников - вечность на классическом компе.

i_am_not_ai
() автор топика
Последнее исправление: i_am_not_ai (всего исправлений: 1)
Ответ на: комментарий от no-such-file

plantuml

Странный сайт у них. В середине окна появляется неубираемый баннер с предложением пожертвовать на беспилотники для националистов.

Вряд ли воспользуюсь.

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

i_am_not_ai
() автор топика

в коллекцию:

в SQLite есть свой «язык разметок» и генератор. Результат работы думаю все видели - в документации. Или тут можно глянуть https://wiki.tcl-lang.org/page/Generating+Syntax+Diagrams+Using+Tk

исходник тут https://www.sqlite.org/docsrc/finfo?name=art/syntax/bubble-generator.tcl

MKuznetsov ★★★★★
()
Последнее исправление: MKuznetsov (всего исправлений: 1)
Ответ на: комментарий от i_am_not_ai

формат, который легко читался бы с листа, и его можно бы было написать на листочке бумаги по памяти.

Это зависит от знания человеком формата, см пример Awodey. Category Theory. вопрос по доказательству o UMP в начале книги , те кто выучили значения символов, с первого взгляда понимают о чём речь, невежи же обтекают и крестятся.

Я пока в раздумьях насчёт .dot. Мне он кажется негодным для чтения человеком.

Противоречите себе же, как и в D2, в graphviz весь граф можно нарисовать через конструкции вида A -> B, куда уж проще. А проще только в https://asciiflow.com/

Ещё есть такой, довольно распространённый в софте и инете, формат для диаграмм: Mermaid

mydibyje ★★★
()
Последнее исправление: mydibyje (всего исправлений: 5)
Ответ на: комментарий от itn

Прям под заголовком «PlantUML in a nutshell» висит баннер, который при наведении на себя распахивается на всё окно. Возможно, просто контекстная реклама такая.

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

Для Ъ: Pikchr

и действительно, нахренато переехали на pikchr ;-)

теперь хоть форк buble-generator делать, потому как описание в стиле

  column-constraint {
    stack
      {optx CONSTRAINT /name}
      {or
         {line PRIMARY KEY {or nil ASC DESC} 
               conflict-clause {opt AUTOINCREMENT}
         }
         {line NOT NULL conflict-clause}
         {line UNIQUE conflict-clause}
         {line CHECK ( expr )}
         {line DEFAULT 
            {or
                signed-number
                literal-value
                {line ( expr )}
            }
         }
         {line COLLATE /collation-name}
         {line foreign-key-clause}
         {line {optx GENERATED ALWAYS} AS ( expr )
            {or nil STORED VIRTUAL}}
      }
  }

мягко говоря проще пишется и генерится чем аналогичный *.pikchr , а рендерится в .ps и прочие одинаково..

MKuznetsov ★★★★★
()