Пишет Роман Мишин.
Романа занимается программирование на языке Tcl, привлекает для этого ИС Дракон.
Так как Tcl не содержит оператор Goto, приходится найти возможность обойти ограничение в ИС Дракон.
В дополнение к первому письму поступили новые письма с решением возникающих проблем.
В деталях, я не смог разобраться и выкладываю письма Романа здесь, по предложению Романа.
Готовое решение для Tcl
От кого: Roman Mishin
Кому:	 Геннадий Тышов
Сегодня, 13:31
Геннадий, 
В общем, всё отлично работает - все переходы. 
Вы на форуме продублировали часть моего письма про Tcl. В там описаном виде решение не работает. 
Вот как я сейчас генерирую: 
Текст иконы модуля: 
FileTime.tcl
FileTime.drt
Tcl.lpr
Р-текст иконы модуля:
Код:
namespace eval ::ModuleName {
;# здесь можно поместить определение общих процедур
;# каких-нибудь простых, для которых схема не нужна
====
} ;# namespace ::ModuleName
::ModuleName::main
Р-текст схемы силуэт или примитив:
Код:
proc main {} {
  array set machine {
  state0 {
====
  exit -1}
  }
  set state state0
  while {1} {eval $machine($state)}
}
# здесь exit -1 это аварийный выход, до него дело не должно доходить
# где-то в схеме должны быть явные exit или return с нужным кодом
Содержимое файла Tcl.lpr:
Код:
[Operator]
Name=Tcl
Comment=;# <Comment/>
Label=} state<NN/> {
Goto=set state state<NN/> ; continue
YesGoto=if { <Usl/> } { set state state<NN/> ; continue }
NotGoto=if { ! ( <Usl/> ) } { set state state<NN/> ; continue }
Это всё, что нужно определить в ИС Дракон, но этого не достаточно, чтобы запустить код, потому что некоторые переходы (как я обсуждал в прошлых письмах) - отсутствуют. 
Задача могла бы быть решена простой заменой в файле Tcl.lpr: 
Label=} state<NN/> {
на
Label=set state state<NN/> ; continue } state<NN/> { 
но ИС Дракон не замещает второе вхождение <NN/> и поэтому результирующий код нерабочий:
set state state36 ; continue } state<NN/> { 
Для того, чтобы получить таки рабочий код я делаю последобработку генерируемого файла, которую автоматически запускаю из Dragon.bat
Я заменяю метки вида: 
} state36 { 
на метки вида: 
set state state36 ; continue
} state36 { 
таким образом выполняя явный переход на каждый следующий шаг. 
Всё - файл рабочий. 
Для пущей красоты я ещё убираю лишние переходы: 
...
set state state42 ; continue
set state state34 ; continue
} state34 {
... 
преобразую в: 
...
set state state42 ; continue
} state34 {
... 
но это уже не важно для компилятора - я делаю это просто, потому что это не трудно. 
Геннадий, если вы не против, то поправьте или дополните то сообщение на форуме.
В целом это рабочее решение для Tcl. 
--
Роман Мишин