Откройте актуальную версию документа прямо сейчас
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение В
(справочное)
Система синтаксических обозначений Паскаля
В приложении принята система обозначений для описания синтаксиса ПАСКАЛЯ, предложенная комитетами ИСО/ТК 97/ПК 5 для языков, используемых при иллюстрации примера концептуальной схемы в различных подходах.
Эту систему обозначений для описания синтаксиса можно использовать и для самоописания. Последовательность, с которой записываются мета утверждения, несущественна. Единственное требование к тому, чтобы описание было полным: необходимо определение метаутверждения для каждой метапеременной, появляющейся в метавыражении.
синтаксис |
= метаутверждение {метаутверждение}. |
метаутверждение |
= интервал метапеременная интервал "=" метавыражение интервал ".". |
метапеременная |
= буква {буква | цифра | "-"}. |
метавыражение |
= последовательность {или последовательность}. |
последовательность |
= интервал элемент {запятая элемент}. |
элемент |
= метапеременная | итерация | опция | гнездо | терминальный-символ. |
итерация |
= "{" метавыражение интервал "}". |
опция |
= "[" метавыражение интервал "]". |
гнездо |
= "(" метавыражение интервал ")". |
терминальный-символ |
= описание-строки | терминальный-знак. |
описание-строки |
= ограничитель-строки строка ограничитель-строки. |
ограничитель-строки |
= ' ". |
строка |
{терминальный-знак | любой-знак}. |
терминальный-знак |
= ' ' (любой-знак | ' "). |
пробел |
= " ". |
интервал |
= {пробел}. |
или |
= интервал "|". |
запятая |
= интервал ["," интервал ]. |
буква |
обозначает любую букву алфавита, более подробно здесь не определяется, |
цифра |
обозначает любую цифру от 0 до 9, более подробно здесь не определяется. |
любой-знак |
обозначает любой символ, кроме " (двойная кавычка) в наборе символов, более подробно здесь не определяется. |
Семантика в целом должна быть ясной из приведенного выше описания. Могут быть полезными следующие примечания: | |
Метасимвол |
Смысл |
= |
определено как |
| |
альтернатива |
. |
конец определения |
опция: [х] |
0 или 1 экземпляр х |
итерация: {х} |
0 или более экземпляров x |
гнездо: (х | у | z) |
любой из x или y, или z |
терминальный-символ: |
|
"xyz" |
строка xyz |
терминальный-знак: |
|
"x |
символ x |
' ' |
символ ' |
ограничитель-строки: ' " |
символ " |
Кавычка (') должна интерпретироваться следующим образом Не копировать этот символ, а взять следующий символ как он есть". |
Необходим специальный терминальный-символ, чтобы определять
- символ " в строке (' "),
- символ ' в строке (' '),
так как пустая строка определяется как " ",
Установлены "приоритеты операций":
- любой тип скобок (опция, итерация, гнездо);
- последовательность;
- выбор.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.