Оглавление
Терминальные и нетерминальные символы
-
Терминальные и нетерминальные символы в формальных языках
- Терминальные символы – элементарные символы, составляющие формальную грамматику.
- Нетерминальные символы (синтаксические переменные) заменяются группами терминальных символов.
- Терминалы и нетерминалы образуют разные наборы символов.
-
Терминальные символы
- Терминальные символы не могут быть изменены правилами грамматики и появляются в выходных данных.
- Пример грамматики с терминальным символом B и нетерминальным символом Ψ.
- Ψ может быть заменен на ΨΨ или Ψ.
- Формальный язык, определенный грамматикой, состоит только из терминальных символов.
-
Нетерминальные символы
- Нетерминальные символы могут быть заменены и называются синтаксическими переменными.
- Начальный символ грамматики – это элемент из набора нетерминалов.
- Контекстно-свободные грамматики имеют только одно нетерминальное правило в левой части.
- Контекстно-свободные языки распознаются недетерминированными автоматами и являются основой синтаксиса программирования.
-
Производственные правила
- Производственные правила определяют, какие символы могут заменять другие.
- Правила записываются в виде head → body, где head – левая часть, а body – правая часть.
- Грамматика состоит из конечного множества нетерминальных и терминальных символов, а также конечного набора правил.
-
Пример грамматики
- Пример грамматики в форме Бэкуса-Наура для представления целых чисел.
- В примере используются терминальные символы (.mw-parser-output .monospaced{семейство шрифтов:monospace,моноширинный}-,0,1,2,3,4,5,6,7,8,9) и нетерминальные символы (<цифра> и <целое число>).
-
Дополнительные ресурсы
- Ссылки на другие статьи по теме, включая иерархию Хомского и рекурсивные грамматики.
Полный текст статьи: