Next:2.3
Формулы и программы
Up:2
Словарь понятий, используемых в заданиях
Previous:2.1
Графы и системы дорог
Лексикографический порядок на словах одинаковой длины определяется следующим образом: говорят, что слово предшествует слову (обозначаем ), если существует такой индекс , что и для всех Например, и
Контекстно-свободная грамматика (здесь мы будем называть ее просто грамматикой) -- это четверка , где
1) -- алфавит нетерминальных символов или нетерминалов ( нетерминалы будут обозначаться либо прописными буквами, либо курсивными словами, составленными из букв , цифр и дефиса);
2)
-- алфавит терминальных символов или терминалов ();
3)
-- начальный нетерминал;
4)
-- конечное множество правил вывода, каждое из которых имеет вид ,
где левая часть правила ,
а правая часть
-- слово в алфавите .
Как правило, мы будем рассматривать такие грамматики, в которых правые части всех правил -- непустые слова. Слово в алфавите выводимо из нетерминала , если существует его вывод из -- последовательность слов такая, что , и каждое получается из применением некоторого правила вывода из , т.е. заменой некоторого вхождения символа в на слово .
Слово выводимо в грамматике , если оно выводимо из ее начального нетерминала ; при этом соответствующий вывод называется выводом в грамматике .
Множество всех слов в алфавите терминалов , выводимых в грамматике , называется языком грамматики и обозначается .
Две грамматики и эквивалентны, если .
Грамматика называется удлиняющей, если длины слов правых частей всех ее правил больше 1.
Пример грамматики:
.
Эта грамматика -- удлиняющая, ее язык -- это все симметричные слова четной ненулевой длины в алфавите . Приведем вывод слова в этой грамматике:
Правило мы будем записывать также в виде . При записи множеств правил с одной и той же левой частью часто используют следующее сокращения:
a) вместо пишут
или
б) вместо двух правил и пишут
.
Синтаксическим анализатором внешнего представления понятия, заданного
с помощью синтаксических правил, называется такая программа, которая вводит
произвольный текст и либо печатает сообщение о том, что этот текст построен
в соответствии с правилами внешнего представления этого понятия (когда
это действительно так), либо сообщает одну или несколько причин, из-за
которых этот текст не является внешним представлением соответствующего
понятия.
Автоматная диаграмма над алфавитом задается конечным множеством вершин (среди которых выделены начальная и конечная) и набором дуг. Из каждой вершины исходит ровно дуг, помеченных попарно различными символами из . В отличие от орграфа в диаграмме одну и ту же пару вершин могут соединять несколько дуг; могут быть и петли. Всякий путь от начальной вершины к конечной задает слово в алфавите , получающееся последовательным выписыванием пометок дуг этого пути. Множество всех таких слов обозначается и называется языком автоматной диаграммы. Автоматные диаграммы и эквивалентны, если .
Рис. 11. Пример эквивалентных автоматных диаграмм: (а) и (б)
На рис. 11 приведен пример двух эквивалентных автоматных диаграмм. В диаграмме вершина 1 начальная, 2 конечная, в вершина 1 начальная, а 3 конечная.
Две вершины и автоматной диаграммы называются несклеиваемыми, если
а) либо одна из этих вершин конечная, а другая нет,
б) либо существует символ
такой, что вершины
и ,
к которым ведут помеченные символом
дуги, выходящие из вершин
и
соответственно, несклеиваемые.
Все остальные пары вершин автоматной диаграммы называются склеиваемыми. Например, в диаграмме на рис. 11 вершины 1 и 2 склеиваемые, остальные пары несклеиваемые.
-машиной называется вычислительное устройство, которое состоит из памяти, программы, счетчика команд и счетчика ячеек.
Память -- это последовательность из ячеек (переменных типа 0..1), занумерованных числами называемых адресами ячеек.
Программа -- это последовательность из команд, занумерованных числами называемых метками.
Счетчик команд -- это переменная типа которая хранит метку текущей команды.
Счетчик ячеек -- это переменная типа которая хранит адрес текущей ячейки.
Имеются команды следующего вида:
-- присваивает текущей ячейке значение .
-- увеличивает
на ,
-- уменьшает
на ,
-- устанавливает CK
равным ,
-- изменяет CK
на ,
если текущая ячейка содержит 1,
-- команда останова.
Работа -машины
начинается при СК=СЯ=1и нормально завершается командой останова.
При работе она реализует вычисление функции ,
где
-- двоичные слова длины .
Аргумент
-- это начальное состояние памяти, он допустим, если вычисление нормально
завершается. Результат
-- это содержимое памяти в момент выполнения команды останова.
Next:2.3
Формулы и программы
Up:2
Словарь понятий, используемых в заданиях
Previous:2.1
Графы и системы дорог