2.10.1. СИНТАКСИС

$ Тропа =

$ Условие | Присваивание | Поиск | Перестройка |

$ Хвост | Источник.

$ Условие =

$ Источник Хвост.

$ Присваивание =

$ Источник "::" ЖесткоеВыражение [ Хвост ].

$ Поиск =

$ Источник "$iter" Источник

$ [ "::" ЖесткоеВыражение ] [ Хвост ].

$ Перестройка =

$ Источник ":" Образец [ Хвост ].

$ Хвост =

$ ОгражденнаяТропа | ОтрицаниеУсловия |

$ Забор | Отсечение |

$ Тупик | ПраваяЧасть | Авария |

$ ПерехватАварий.

$ ОгражденнаяТропа =

$ "," Тропа.

$ ОтрицаниеУсловия =

$ "#" Источник [ Хвост ].

$ Забор =

$ "\?" Тропа.

$ Отсечение =

$ "\!" Тропа.

$ Тупик =

$ "$fail".

$ ПраваяЧасть =

$ "=" Тропа.

$ Авария =

$ "$error" Тропа.

$ ПерехватАварий =

$ "$trap" Тропа "$with" ОбразцовоеРаспутье.

$ Источник =

$ Распутье | Выбор | РезультатноеВыражение.

$ Распутье =

$ "\{" ПослТроп "}" |

$ "{" ПослТроп "}".

$ Выбор =

$ Источник ":" ОбразцовоеРаспутье.

$ ОбразцовоеРаспутье =

$ "\{" ПослПредложений "}" |

$ " {" ПослПредложений "}" |

$ ПослТроп = { Тропа ";" }.

$ ПослПредложений =

$ { Предложение ";" }.

$ Предложение = Образец [ Хвост ].

В дальнейшем мы будем обозначать тропы через Q, хвосты - через R, источники - через S, образцовые распутья - через Palt, а предложения - через Snt.

Синтаксис троп выглядит несколько запутанным. Это вызвано стремлением избавить пользователя от необходимости писать лишние разделители в тех случаях, когда в этом нет реальной необходимости.

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