Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Цепочки символов. Операции над цепочками символов




Формальные языки и грамматики

Вопросы

Построение конечного автомата по регулярной грамматике

 

Конечный автомат является хорошей математической моделью для представления алгоритмов распознавания лексем в лексическом анализаторе. При этом источником, по которому строится конечный автомат, является регулярная грамматика (а не регулярное выражение).

Если задана регулярная грамматика G = <N, T, P, S>, правила вывода которой имеют вид: А –> аВ или А–>а, где А, В ∈ N, а ∈ Т. Тогда конечный автомат А= <V, Q, δ, q0 , F>, задающий тот же самый язык, что порождает регулярная грамматика G, строится следующим образом:

1) V=T;

2) Q=N U {Z}, Z- заключительное состояние КА, не принадлежит N и T;

3) q0= {S};

4) F={Z}

5) Отображение δ строится по правилам:

- каждому правилу подстановки в грамматике G вида А –> аВ ставится в соответствие команда (А,а) –> В;

- каждому правилу подстановки в грамматике G вида А –> а ставится в соответствие команда (А,а) –> Z.

Допустим обратный переход: конечному автомату А= <V, Q, δ, q0 , F>можно поставить в соответствие регулярную грамматику G = <N, T, P, S>, у которой:

1) T=V;

2) N=Q;

3) S={ q0};

4) Множество правил подстановки Р строится таким образом: каждой команде автомата (qi, a) –> qk ставится в соответствие правило подстановки qi –> а qk, если qk ∈Q, либо qi –> а, если qk ∈Z, где Z – заключительное состояние.

 

1. Что называется регулярным выражением?

2. Какая существует взаимосвязь между регулярным выражением и распознаваемой лексемой?

3. Что такое регулярное множество?

4. Как можно доказать эквивалентность двух регулярных выражений?

5. Как можно доказать эквивалентность двух языков?

 

Цепочка символов – это произвольная последовательность символов, записанных один за другим. Понятие символа (или буквы) является базовым в теории формальных языков.

Цепочки символов обозначаются греческими буквами: a, b, g.

Цепочка – это последовательность, в которую могут входить любые допустимые символы. Цепочка – это необязательно некоторая осмысленная последовательность символов. Последовательность «аввв..аагрьь,.. лл» - тоже пример цепочки символов.

Для цепочки символов важен состав и количество символов в ней, а также порядок символов в цепочке. Один и тот же символ может произвольное число раз входить в цепочку, Поэтому цепочки «а» и «аа», а также «аб» и «ба» - это различные цепочки символов. Цепочки символов a и b равны (совпадают), a= b, если они имеют один и тот же состав символов, одно и тоже их количество и одинаковый порядок следования символов в цепочке.

Количество символов в цепочке называется длиной цепочки. Длина цепочки символа a обозначается как |a|. Очевидно, что если a=b, то и |a| =|b|.

Основной операцией над цепочками символов является операция конкатенации (объединения или сложения) цепочек.

Конкатенация (сложение, объединение) двух цепочек символов - дописывание второй цепочки в конец первой. Конкатенация цепочек a и b обозначается как ab. Выполнив конкатенацию цепочек просто: например, если a= «аб», а b= «вг», то ab = «абвг».

Так как в цепочке важен порядок символов, то операция конкатенации не обладает свойством коммутативности, то есть в общем случае a и b такие, что ab≠ba. Также очевидно, что конкатенация обладает свойством ассоциативности, то есть (ab)g=a(bg).

Еще одна операция - итерация (повторение) цепочки n раз, где nÎ N, n>0-это конкатенация цепочки самой с собой n раз. Итерация цепочки a n раз обозначается как aⁿ. Для операции повторения справедливы следующие равенства ∀ a: a¹ =a, a²=aa, a³=aaa, …и т.д.

Среди всех цепочек символов выделяется одна особенная - пустая цепочка. Пустая цепочка символов – это цепочка, не содержащая ни одного символа. Пустую цепочку обозначают греческой буквой l (в литературе ее иногда обозначают латинской буквой e или греческой ε).

Для пустой цепочки справедливы следующие равенства:

1. │ l│=0;

2. ∀a: la=al=a;

3. l1=l;

4. ∀ n ≥ 0: lⁿ=l;

5. ∀ a:aº=l.

 




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 3412; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.