Несколько поясню свои мысли об универсальном XML-формате представления процедурных языков.
Или управляющего графа программы. Правда, расширенного передачами управления через временной интервал, и параллелизмом.
Цитата:
<module>
<derevo> не обязательно называть "деревом", можно "процедурой" или "функцией", кому как нравится
<lineinyi_uchastok> аналогично - название подлежит согласованию
<action>
... У действия может быть ссылка на внешнее XML-описание
</action>
<action>
... Или параметры задаваться прямо здесь
</action>
<uslovie>
... Здесь прописываются ID линейных участков, куда передается управление в случае ложности и
... истинности условия и дается ссылка на описание условия, либо оно описывается здесь же
</uslovie>
<lineinyi_uchastok>
</derevo>
<derevo>
</derevo>
</module>
Далее. Помимо <derevo> соответствующего "шампурам" Паронджанова, можно использовать.
Цитата:
<siluet>
<vetka>
...
</vetka>
<siluet>
Среди разрешенных действий должны быть вызов на выполнение другого дерева, ветки, и вызов по истечении заданного временного интервала.
Помимо этого - можно описать параллельное выполнение, например, подобным образом:
Цитата:
<parallel>
<derevo>
<derevo>
<derevo>
</parallel>
Подобное представление можно визуализировать разными способами (сверху-вниз, слева-направо), используя различные графические примитивы для обозначения действий и условий ("иконы" по Паронджанову), с разбиением на листы различного размера.
Подобное представление можно (с добавленной декларативной частью) превращать в программу на почти любом процедурном языке программирования высокого и низкого (ассемблер) уровня. Причем делать это автоматически, параметрически настраиваемым генератором (настроечный файл может опять же базироваться на XML).
Призываю Степана Митькина и Геннадия Тышова подумать о поддержке примерно подобного формата "высокого уровня" в своих редакторах.