Стандартные интерпретаторы


Интерпретатор tclsh

        Интерпретатор tclsh представляет собой простую оболочку с алфавитно-цифровым интерфейсом пользователя. Интерпретатор может работать в интерактивном или пакетном режиме. В первом случае он считывает команды Tcl со стандартного входа: пользователь вводит команды с клавиатуры, tclsh обрабатывает их и выводит результат или сообщение об ошибке на стандартный вывод. Во втором случае источником команд для обработки служит указанный дисковый файл. Интерпретатор будет работать до тех пор, пока не будет подана команда exit, или пока на стандартный вход не поступит символ конца файла.

        Для запуска интерпретатора необходимо в ответ на приглашение операционной системы подать команду

        tclsh ?fileNamearg arg ...?

        Если никаких аргументов указано не было, то интерпретатор запустится в интерактивном режиме, изображая на дисплее приглашение для ввода команд в виде знака процента «%». В ответ на приглашение следует ввести команду Tcl и нажать клавишу Enter. Затем ввести следующую команду и снова нажать Enter.

        Если в домашнем каталоге пользователя существует файл .tclshrc, то tclsh обработает этот файл как скрипт Tcl до считывания первой команды со стандартного входа.

        Когда tclsh запускается с аргументами, то первый аргумент fileName является именем файла со скриптом, а все последующие необязательные аргументы передаются скрипту в качестве переменных. Вместо того, чтобы считывать команды со стандартного входа, интерпретатор будет работать в пакетном режиме: считывать их из указанного файла и завершит свою работу по достижении конца файла. В этом случае автоматической обработки файла .tclshrc не делается, но если это необходимо, то можно сослаться на него изнутри файла скрипта.

        Переменные

        Tclsh задает следующие переменные Tcl:

        Argc — содержит счетчик количества аргументов arg (если ни одного, то 0), исключая имя файла со скриптом.

        Argv — содержит список Tcl, элементами которого являются аргументы arg, в порядке их следования, или нулевую строку, если нет ни одного аргумента.

        Argv0 — содержит fileName, если он был задан. В обратном случае содержит имя, при помощи которого был вызван tclsh.

        tcl_interactive — содержит 1, если tclsh работает в интерактивном режиме (не было задано fileName и стандартный вход есть терминальное устройство). В противном случае содержит 0.
Hosted by uCoz