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

Интерпретатор ВТР.

Созданный в редакторе граф можно интерпретировать. Запуск нтерпретатора осуществляется инструментами, описанными ниже. Когда интерпретатор находится в какой-то вершине, то эта вершина и дуга, по которой будет происходить дальнейшее движение,  выделяются на

Р-схеме жирным.

tr1

Условия и Действия записываются на языках интерпретирования. В текущей реализации поддерживается только язык QtScript. Он выбран потому, что его производные довольно популярны ( например JavaScript) , гибок и его легко встраивать в другие системы.

Примеры записи «условий» на языке QtScript:

(a==b)

(‘abcd’[3]==’d’)

(3).toString()==’3’

При интерпретации запись «условие» приводится к типу Boolean.

Примеры записи «действий» на языке QtScript:

ui.log(’Hello, World!’);

ui.log(Math.cos(Math.PI));

function tg(a){return Math.sin(a)/Math.cos(a);}

ui.log(”Tan:”+tg(3.1415));

Запись «действия» - выполняется.

В нижней части редактора находится поле “Сообщения”. Оно предназначено для вывода ошибок анализа условий и действий, отметок о начале и конце интерпретирования. Поскольку  в языке QtScript отсутствуют средства вводавывода, в него была добавлена функция ui.message(s), которая выводит строку s в поле “Сообщения”.

tr2

Для управления работой интерпретатора  существуют инструменты:  tr3

«Запустить» – запускает интерпретирование первой Р-схемы текущего документа, начиная с левой вершины;

«Пауза» – приостанавливает интерпретирование Р-схемы;

«Остановить» – останавливает интерпретирование и возвращает все объекты в начальное состояние.

«Шаг» – выполняет один переход из текущей вершины согласно «условиям» и приостанавливает программу.

«Запустить без  задержек» - интерпретирует первую Р-схему текущего документа без задержек после перехода в новую вершину.

Выполнение останавливается, если нет следующей вершины для перехода.

tr4

Для слежения за глобальными  объектами языков интерпретирования существует дерево «Глобальные объекты» в левой части редактора. В квадратных скобках отображены имена  глобальных объектов, а после двоеточия – их строковые значения. Стандартные объекты языка QtScript сгруппированы в ветвь “other”.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>