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


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

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

        Во втором случае источником команд для обработки служит указанный дисковый файл. В обоих режимах интерпретатор будет работать до тех пор, пока не будут удалены все окна приложения, или пока на стандартный вход не поступит символ конца файла.

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

        wish ?fileName arg arg ...?

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

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

        Когда wish запускается с первым аргументом fileName, то аргумент считается именем файла со скриптом. Интерпретатор обработает файл fileName (создающий преимущественно интерфейс пользователя) в пакетном режиме и затем будет откликаться на события до тех пор, пока все окна не будут удалены. Команды со стандартного входа считываться не будут. В этом случае автоматической обработки файла .wishrc не делается, но если это необходимо, то файл скрипта может сослаться на него сам.

        Wish автоматически обработает все необязательные аргументы arg командной строки из нижеприведенного списка.

        -colormap new — указывает на то, что окно должно иметь новую собственную цветовую схему (colormap), а не использовать цветовую схему, заданную по умолчанию.

        -display display — задает дисплей (и экран) для отображения окна.

        -geometry geometry — задает начальную геометрию для использования в окне. Если этот параметр задан, то его значение сохраняется в глобальной переменной geometry интерпретатора Tcl, работающего с приложением.

        -name name — задает использование name в качестве заголовка окна и имени интерпретатора для использования в командах send.

        -sync — задает синхронное исполнение команд X сервера, так что все ошибки докладываются немедленно. Это приведет к гораздо более медленному исполнению, но такой режим полезен при отладке.

        -use id — дает директиву встроить главное окно приложения в окно с идентификатором id, а не создавать его как отдельное самостоятельное окно верхнего уровня. Идентификатор id необходимо описать таким же образом, как и значения параметра -use для примитивов верхнего уровня (т.е., в форме, возвращаемой командой winfo id).

        -visual visual — описывает используемый для окна visual. Этот параметр может иметь любую форму, поддерживаемую процедурой Tk_GetVisual.

        -- -дает директиву передать все остальные параметры в переменную скрипта argv без интерпретации. Это обеспечивает способ передачи аргументов в скрипт вместо интерпретации их wish.

        Любые аргументы командной строки не из этого списка передаются скрипту с помощью переменных argc и argv.

        Имя и класс приложения

        Имя приложения (используемое для таких целей, как команды send) берется из параметра -name, если он был задан. В противном случае оно берется из fileName, если оно было указано, или из командной строки, вызвавшей wish. В последних двух случаях, если имя содержит символ «/» (слеш), то только символы после последнего слеша используются в качестве имени приложения.

        Класс приложения (используемый для таких целей, как описание параметров при помощи свойства RESOURCE_MANAGER или файла .Xdefaults) совпадает с его именем за исключением первой буквы, которая делается заглавной.

        Переменные

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

        argc, argv0, tcl_interactive — эти три переменные выполняют для wish точно такую же роль, какую выполняют одноименные переменные для интерпретатора Tclsh.

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

        geometry — если параметр -geometry был задан, то wish копирует его значение в эту переменную. Если после обработки fileName эта переменная еще существует, то wish использует значение этой переменной в команде wm geometry для задания геометрии главного окна.
Hosted by uCoz