Он работает с командами и скриптами на Tcl (потому что так привыкли клиенты).
Используется native Tcl Interpreter (а не JTcl) (потому что так решили наши индусы).
Команды реализованы на Java, но часть комманд обращается к коду на C++.
Однако же система сообщений об ошибках и предупреждениях реализована на Java.
Индусы писали используя JNI, а я связь Java с С делал на JNA
Как выглядит работа команды набранной в коммандной строке?
Java command line (jline) читает строку,
вызывает C (чтобы вызвать TCL Interpreter) через JNI
TCL обрабатывает строку, исполняет если это его команда или
Вызывает C (если команда реализована нами), чтобы вызвать Java
C вызывает Java через JNI
Исполняется команда на Java, если надо она
Вызывает C через JNI, если есть предупреждение о неверных данных, он
Вызывает Java через JNA
В следующей версии заменим Tcl на JTcl (который в системе и так есть и работает)