Помощь в учёбе, очень быстро...
Работаем вместе до победы

Описание правил на метаязыке

РефератПомощь в написанииУзнать стоимостьмоей работы

Version = «2» и операция удаление = результат изменено graphics или результат = конечный_результат Если в это выражение добавить скобки: «(изменено graphics или version = „2“) и операция удаление», порядок действий изменится: Проверка наличия приложенного файла описывается служебной конструкцией «приложен файл». Эта конструкция является условием, дополнительные параметры и операторы сравнения… Читать ещё >

Описание правил на метаязыке (реферат, курсовая, диплом, контрольная)

В схеме маршрутизации запрос проходит путь от начального состояния («создан») до конечного («обработан» или «отклонён») через множество промежуточных состояний, определённых администратором системы при настройке схемы. Состояния запроса определяют роль, которой этот запрос доступен для обработки. По умолчанию промежуточные состояния пропускаются системой, но при необходимости администратор системы может описать правила остановки для конкретных состояний, при выполнении условий которых запрос будет останавливаться в них для обработки пользователем.

Документация по использованию метаязыка приведена ниже.

Общие положения.

Правило — набор условий соединённых между собой логическими операторами с определённым порядком выполнения действий с помощью скобок.

Условие — выражение, сравнивающее значение некоторого поля объекта запроса с заданным пользователем или проверяющее определённые параметры запроса.

Описание условий.

Условие может проверять следующее:

Операция над объектом Изменение значения поля Наличие изменённых полей кроме заданного Пустое поле Вложение Значение поля Интерпретатор распознаёт следующие служебные слова: «операция», «изменено», «пустое», «приложен файл». Нераспознанные слова интерпретатор будет воспринимать как название поля.

Проверка операции над объектом.

Для того чтобы задать проверку операции над объектом необходимо написать служебное слово «операция» (без кавычек), далее через пробел задать оператор сравнения: либо «=» либо «» и после этого обозначить тип операции — один из: «добавление», «редактирование» или «удаление».

Пример: операция = удаление операция редактирование операция=добавление — ошибка Примечание: очень важно соблюдать пробелы между словами и операторами, так как слитно написанную строку интерпретатор воспримет как одно слово и выдаст ошибку. Регистр в свою очередь не имеет значения, поэтому пользователь может написать «Операция» или «УДАЛЕНИЕ». Эти правила распространяются на все остальные служебные слова и конструкции, в том числе и на логические операторы.

Проверка изменённого или пустого значения поля.

Служебными словами для проверки изменённого или пустого значения поля являются «изменено» и «пустое» соответственно. Следующее слово после служебного будет определено как названия поля объекта. Важно, чтобы название поля являлось одним словом (т.е. без пробелов) и соответствовало имени атрибута объекта в базе данных.

Пример: изменено number.

пустое street_name.

изменено full address — ошибка Проверка наличия изменённых полей кроме заданного.

Конструкция проверки наличия изменённых полей кроме заданного состоит из служебного словосочетания «изменено кроме» и названия атрибута объекта. Разделение оператора и имени поля также осуществляется с помощью пробела.

Пример: изменено кроме graphics.

изменено_кроме street_name — ошибка Проверка наличия приложенного файла.

Проверка наличия приложенного файла описывается служебной конструкцией «приложен файл». Эта конструкция является условием, дополнительные параметры и операторы сравнения не требуются.

Пример: Приложен файл приложенФайл — ошибка Сравнение значений полей.

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

= - равно.

— не равно.

> - больше.

< - меньше.

>= больше или равно.

<= - меньше или равно Пример: number «20».

street_name = «ул. Арбат».

full_number = 10/17 — ошибка Примечание: При описании правил запрещено использовать символы «~» и «|», так как они являются служебными и требуются для разбора строки правил.

Описание правил.

При описании правил используются логические операторы «и», «или», отрицание «не», а также скобки для установки порядка вычисления выражения. Операторы могут стоять соединять как простые условия, так и целые логические выражения, заключённые в скобки. Отрицание также может стоять перед условием или выражением в скобках.

При вычислении логического выражения сначала вычисляется отрицание («не»), затем конъюнкция («и»), и последней — дизъюнкция («или»). Порядок действий вычисляется слева направо.

В выражении «изменено graphics или version = „2“ и операция удаление» будет следующий порядок действий:

version = «2» и операция удаление = результат изменено graphics или результат = конечный_результат Если в это выражение добавить скобки: «(изменено graphics или version = „2“) и операция удаление», порядок действий изменится:

изменено graphics или version = «2» = результат результат и операция удаление = конечный_результат Далее следуют несколько примеров описания правил:

не пустое structure или full_number = «20а».

  • (изменено graphics или version = «2») и операция удаление
  • (Приложен файл и version > 1) не пустое number — ошибка (между закрывающей скобкой и отрицанием должен стоять оператор)

И операция = удаление и не приложен файл — ошибка (логический оператор «и» не может стоять в начале выражения).

Показать весь текст
Заполнить форму текущей работой