Бесплатный компилятор или интерпретатор для команд TCL и последовательного порта TCL (COM1) - PullRequest
0 голосов
/ 26 января 2012

1) Есть ли какие-либо бесплатные программы, которые объединяют tcl-редактор и компилятор (или interpenter)?

2) После открытия последовательного соединения (COM1) с помощью fconfigure, как я могу отправить через соединение строкуиз нескольких слов?Мне нужно подключиться к некоторому HW, и я хочу иметь возможность запускать сценарии на его CLI.

Спасибо

Ответы [ 2 ]

2 голосов
/ 27 января 2012

Хотя я еще не пробовал полную IDE, мне очень нравится бесплатная версия Active State Komodo Edit, и я использую ее в комбинации tclshkit для создания исполняемых файлов в Windows.

Мне посчастливилось использовать Expect с последовательными портами для программирования коммутаторов Cisco. Возможности сопоставления с образцом в Expect сделали его довольно простым ... следующий пример работает на Windows, я еще не пробовал то же самое на * nix box:

 package require Expect
 set com "COM1"

 if { [ catch { set serial [ open "$com:" "RDWR" ]  } ] } then {
      puts  "Error! Cannot open $com!" 
      exit 1
 }
 fconfigure $serial -mode 9600,n,8,1

 spawn -leaveopen $serial
 send "somecommand\r"
 expect "someprompt"

 close $serial
2 голосов
/ 27 января 2012
  1. Есть ли какие-либо бесплатные программы, которые сочетают в себе редактор tcl и компилятор (или interpenter)?

Исходный код Tcl полностью доступен для всех.Скачайте и соберите, чтобы получить «интерпретатор» (на самом деле, он байт-код компилирует все внутри).Вы можете получить готовый дистрибутив Tcl с большинством дистрибутивов Linux (я забыл, установлен ли он по умолчанию) или найти «tclkit» (Google для него), который представляет собой дистрибутив Tcl с одним файлом, запускаемый сразуи Tk (для GUI).Существует также дистрибутив ActiveTcl от ActiveState для основных платформ;это немного коммерческий (но нулевая стоимость), но очень хороший (я использую его и многие другие пользователи Tcl тоже).

Я использую Emacs для редактирования Tcl, но все, что может редактировать обычныйтекстовые файлы будут в порядке.Я знаю, что и vim, и Eclipse имеют поддержку Tcl.

Единственные полные Tcl-компиляторы являются коммерческими.Единственное, что я бы порекомендовал, это часть TDK, продукта ActiveState.(Я знаю нескольких парней там, но не имею никакой коммерческой принадлежности). Если вам не нужна обфускация кода - например, потому что вы пишете программное обеспечение с открытым исходным кодом - тогда не беспокойтесь с компиляцией;встроенный компилятор в стандартной сборке Tcl просто отлично.(Он компилирует вещи в байт-код быстрее, чем вы можете загрузить байт-код из файла. Это странно, но приятно.) AS также делает продукт под названием Komodo, который должен быть очень хорошей Tcl IDE (плюс несколько других языков), ноЯ еще не попробовал сам.

  1. После открытия последовательного соединения (COM1) с помощью fconfigure, как я могу отправить через соединение строку из нескольких слов?Мне нужно подключиться к некоторому HW, и я хочу иметь возможность запускать сценарии на его CLI.

Последовательные порты открываются с open (duh!), сконфигурировано с fconfigure (или chan configure, если у вас достаточно новый Tcl; на самом деле это та же команда) и записано с puts.Я предупреждаю, что я понятия не имею, каковы правильные настройки для ваших последовательных устройств:

set serPort [open "COM1" r+]
fconfigure $serPort -mode 9600,n,8,1
puts $serPort "Yo there, serial device!"

Затем вы прочитаете строку с устройства следующим образом:

set line [gets $serPort]

И закройте порт, как только закончите:

close $serPort

Возможно, вам нужно знать еще кое-что.Просто задайте дополнительные вопросы на этом сайте, и кто-то постарается помочь.

...