|
Для описания синтаксических конструкций языка программирования в настоящее время наиболее распространены два формальных метода. Первый использует форму записи, предложенную Джоном Бэкусом и Питером Нау-ром, когда они описывали синтаксис языка Алгол-60. С тех пор эта форма называется Backus Naur Form, или сокращенно BNF. Другой формальный метод, наглядно представляющий синтаксические конструкции языка в графическом виде, использует синтаксические диаграммы. Популяризировал синтаксические диаграммы создатель языка Pascal H. Вирт, и поэтому их часто называют синтаксическими диаграммами Вирта. На синтаксических диаграммах используются два вида четырехугольников – с прямыми и скругленными углами (иногда их заменяют кружками или овалами). В прямоугольники заключаются элементы языка, значение которых должно быть определено (так называемые нетерминальные символы). В четырехугольниках со скругленными углами (или кружках, овалах) размещаются так называемые терминальные (базовые) символы, или иероглифы языка, значение которых в определении не нуждается. Направление движения по диаграмме при раскрытии структуры понятия, записанного при входе в диаграмму, указывают стрелки.
Чтобы получить правильные грамматические конструкции языка, используя синтаксические диаграммы, нужно идти по путям, указанным стрелками, от одного четырехугольника к другому до тех пор, пока не встретится выход. Там, где предусмотрено более одного направления движения, можно выбирать любое. Если по пути встречается ссылка к другой синтаксической диаграмме, то следует войти в эту новую диаграмму, пройти по ней, выйти из нее и возвратиться на старое место в первоначальной диаграмме. Если по пути движения встречается точка, то это означает, что данный путь характерен только для Turbo Pascal и является расширением стандарта языка. Варианты представления синтаксических конструкций языка программирования методом BNF или методом синтаксических диаграмм являются тождественными. |
Перейти к содержанию
Частые вопросы
Чем страница «Формальные методы описания синтаксических конструкций языка программирования» отличается от главной Языки программирования Pascal и Delphi?
Это отдельная карточка или рубрика, а не дубль главной. Канонический адрес — текущий URL без www и с https.
Стоит ли покупать «Формальные методы описания синтаксических конструкций языка программирования» только по этому тексту?
Нет. Текст помогает сравнить варианты, но финальный выбор зависит от вашего сценария, бюджета и актуальной оферты продавца.
Есть ли смысл читать FAQ, если уже есть рейтинг?
Да. FAQ отвечает на типовые вопросы выбора, рейтинг — на сравнение позиций. Это разные блоки одной страницы.
Что это за материал «Формальные методы описания синтаксических конструкций языка программирования»?
Это редакционный разбор на Языки программирования Pascal и Delphi: коротко, кому подходит тема, какие критерии сравнения важны и где проверить актуальные условия у поставщика.