Главная » Просмотр файлов » programming.systems.L13-14.slides

programming.systems.L13-14.slides (1119459)

Файл №1119459 programming.systems.L13-14.slides (Лекции Карпова)programming.systems.L13-14.slides (1119459)2019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

1Элементы теории трансляцииТрансляторпозволяет преобразовать программу, написанную на ЯП,отличном от машинного языка, к виду, допускающемувыполнение на ЭВМ.Компиляторна вход получает программу на некотором ЯП (немашинном), ана выходе выдает объектный модуль (программу на машинномязыке).Интерпретаторна вход получает программу на некотором ЯП (немашинном) и,считывая предложение за предложением исходной программы,анализирует их и тут же выполняет действия, указанные в этихпредложениях.2Система программирования компилирующего типаисходныеданныеисходнаяпр-ма наЯПкомпиляторпрограммана МЯрезультатПримеры: MASM, Tурбо Паскаль, gcc в UNIX3Система программирования интерпретирующего типаисходныеданныеисходнаяпр-ма на ЯПинтерпретаторрезультатПримеры: QBasic, командные интерпретаторы в UNIX -- bash, csh и др.4Смешаннаястратегияисходныеданныеисходнаяпр-мана ЯПкомпиляторпрограммана промежуточномязыке (ПЯ)интерпретаторрезультатПримеры: 1) язык Javaбайт-кодJVM (Java Virtual Machine)2) Языки на технологии .NET (Basic,C#,C++)промежуточный язык: CIL –Common Intermediate LanguageJIT-компилятор ( just-in-time)5Схема функционирования компилятораисходная программа на ЯПлексический анализпоследовательность лексемсинтаксический анализфазаанализапромежуточное представление программысемантический анализ(+ контроль контекстных условий)подготовка к генерацииобъектного модулягенерация объектного модуляобъектный модульфазасинтеза6Основные понятия теории формальных языковАлфавит:это конечное множество символов.Пример: V = {a,b,c}Цепочка символов в алфавите V :любая конечная последовательность символов этого алфавита.Пример: V = {a,b}.

Цепочка: abbbaПустая цепочка :цепочка, которая не содержит ни одного символа.Обозначение: ε(иногда для этой цели используется символ Λ)Конкатенация (сцепление) цепочек α и β:цепочка, полученная приписыванием последовательности βсправа к αОбозначение: α⋅β (или αβ)Пример: если α = ab и β = cd, тоαβ = abcd.•Для любой цепочки α верно αε = εα = α.(Аналог для чисел: ∀ x верно 1⋅x = x⋅1 = x)•Операция конкатенации ассоциативна: (α⋅β)⋅γ = α⋅(β⋅γ) длялюбых α, β, γ.•Операция конкатенации некоммутативна:например, для α = ab и β = cd α⋅β ≠ β⋅α7Обращение (или реверс) цепочки α:цепочка, символы которой записаны в обратном порядке.Обозначение: αRПример: если α = abcdef, то αR = fedcba.Для пустой цепочки: ε = εR.Рекурсивное определение:αR =ε,если α = ε;βR s, если α = s βR , где s — символ алфавита89n-я степень цепочки α (обозначается αn) :конкатенация n цепочек αα α α … α α = α nn разРекурсивное определение:ε,если n=0;αn =αn-1α, если n>010Длина цепочки :это число составляющих ее символовПример: если α = abcdefg, то длина α равна 7.Обозначение: | α ||ε|=0Рекурсивное определение:0,если α=ε;| α |=| β| +1, если α =  βs, где s — символ алфавитаОбозначение | α |s используется для числа вхождений символa s вцепочку α.11Язык в алфавите V :подмножество цепочек конечной длины в этом алфавите.V* :множество, содержащее все цепочки конечной длины валфавите V, включая пустую цепочку ε.Пример: V = {0,1},V* = {ε, 0, 1, 00, 11, 01, 10, 000, 001, 011, ...}.V+ :множество, содержащее все цепочки конечной длины валфавите V, исключая пустую цепочку ε.•V* = V+ ∪ {ε}•Для любого языка L ⊆ V*12способы описания языковЯвное перечисление:L = {ab, abb,ba, baa}Язык L — конечныйФормулы:L = {an bn | n≥0}Цепочки языка L: ε, ab, aabb, aaabbb, …Порождающие грамматики ХомскогоРаспознаватели (МТ, ЛОА, конечные автоматы, МП-автоматы)Декартово произведение множеств A и B :множество { (a,b) | a ∈ A, b ∈ B}Обозначение: A × BПорождающая грамматика G :это четверка 〈T, N, P, S〉, где•••T – алфавит терминальных символов ( терминалов ),N – алфавит нетерминальных символов (нетерминалов), непересекающийся с T,P – конечное подмножество множества (T ∪ N)+ × (T ∪ N)*;элемент (α, β) множества P называется правилом вывода изаписывается в виде α → β,α содержит хотя бы один нетерминал;S – начальный символ (цель) грамматики, S ∈ N.правилаα → β2 ...

α → βnα → β1записываются сокращенноα → β1 | β2 |...| βnβi для i = 1, 2, ... ,n , - альтернатива правилавывода из цепочки α.1314Порождающая грамматика G :это четверка 〈T, N, P, S〉, где••T – алфавит терминальных символов ( терминалов ),N – алфавит нетерминальных символов (нетерминалов),T∩N=∅,P – конечное подмножество множества (T ∪ N)+ × (T ∪ N)*;элемент (α, β) множества P называется правилом вывода изаписывается в виде α → β,S – начальный символ (цель) грамматики, S ∈ N.••Пример грамматики: G1 = 〈 {0,1}, {A, S}, P, S 〉P:S → 0A10A → 00A1A→ε15Пусть β ∈ (T ∪ N)*α ∈ (T ∪ N)+β непосредственно выводима из αв грамматике G = 〈 T, N, P, S 〉,если α = ξ1γξ2,β = ξ1δξ2,где ξ1, ξ2, δ ∈ (T ∪ N)*, γ ∈ (T ∪ N)+ и γ → δ ∈ P.Обозначение: α → βПример: G1 = 〈 {0,1}, {A, S}, P, S 〉P:S → 0A10A → 00A1A→εЦепочка 00A11 непосредственно выводима из 0A1 вграмматике G1 : 0A1 → 00A11 (по правилу 0A → 00A1)Цепочка β ∈ (T ∪ N)* выводима из цепочки α ∈ (T ∪ N)+в грамматике G = 〈T, N, P, S〉,если существуют цепочки γ0, γ1, ...

, γn (n≥0), такие, чтоα = γ0 → γ1 → ... → γn= β.Обозначение: α ⇒ βВывод длины n :последовательность γ0, γ1, ... , γnЛюбая цепочка выводится сама из себя за 0 шагов: α =γ0= αG1 = 〈 {0,1}, {A, S}, P, S 〉P:S → 0A10A → 00A1A→εS ⇒ 000A111 в G1, т. к.∃ вывод S → 0A1 → 00A11 → 000A111.Длина вывода равна 3.1617Сентенциальная форма в грамматике G = 〈T, N, P, S〉 :α ∈ (T ∪ N)*, для которой S ⇒ αЯзык, порождаемый грамматикой G = 〈T, N, P, S〉 :множество L(G) = {α ∈ T* | S ⇒ α}Грамматика — это не алгоритм, а система правилподстановки, позволяющих строить выводы.18Язык, порождаемый грамматикой G = 〈T, N, P, S〉 :множество L(G) = { α ∈ T* | S ⇒ α }Пример:G1 = 〈 {0,1}, {A,S}, P, S 〉,P:(1) S → 0A1(2) 0A → 00A1(3) A → εL(G) = ?S →(1) 0A1 →(3) 01S →(1) 0A1 →(2) 00A11 →(3) 0011S →(1) 0A1 →(2) 00A11 →(2) 000A111 →(3) 000111…Предположительно:L1 = {0n1n | n>0}19Язык, порождаемый грамматикой G = 〈T, N, P, S〉 :множество L(G) = { α ∈ T* | S ⇒ α }Пример:G1 = 〈 {0,1}, {A,S}, P, S 〉,P:(1) S → 0A1(2) 0A → 00A1(3) A → εПредположительно: L1 = {0n1n | n>0}Требуется доказать:L(G1) = L1:(1) L1 ⊆ L(G1), т.е.

∀ x∈ L1 ⇒ x ∈ L(G1) (индукция по n)(2) L(G1) ⊆ L1 , т.е. ∀ x∈ L(G1) ⇒ x ∈ L1 ( индукция по длиневывода)Эквивалентность грамматик G1 и G2:L(G1) = L(G2)Пример:G1 = 〈 {0,1}, {A,S}, P1, S 〉иG2 = 〈 {0,1}, {S}, P2, S 〉P1: S → 0A1P2 :S → 0S1 | 010A → 00A1A→εL(G1) = L(G2) = {0n1n | n>0}Грамматики G1 и G2 почти эквивалентны,еслиL(G1) ∪ {ε} = L(G2) ∪ {ε}.Пример:G1 = 〈{0,1}, {A,S}, P1, S〉иG2‘= 〈{0,1}, {S}, P2‘, S〉P1: S → 0A1P2 ‘ :S → 0S1 | ε0A → 00A1A→εL(G1)={0n1n | n>0}, а L(G2 ‘) = {0n1n | n≥0}т.е. L(G2 ‘)=L(G1) ∪ {ε}2022Классификация грамматик и языков по Хомскомуграмматики классифицируются по виду их правил выводаЧетыре типа грамматик:тип 0, тип 1, тип 2, тип 3Язык, порождаемый грамматикой типа k (k=0,1,2,3),является языком типа k.23G = 〈 T, N, P, S 〉Тип 0Любая порождающая грамматика является грамматикойтипа 0.На вид правил грамматик этого типа не накладываетсяникаких дополнительных ограничений.Класс языков типа 0 совпадает с классом рекурсивноперечислимых языков (распознаваемых МТ).24Грамматики с ограничениями на вид правил выводаТип 1Грамматика G = 〈 T, N, P, S 〉 называется неукорачивающей,если правая часть каждого правила из P не короче левой части(т.

е. для любого правила α → β ∈ P выполняется неравенство| α | ≤ | β | ).В виде исключения в неукорачивающей грамматикедопускается наличие правила S → ε, при условии, что S(начальный символ) не встречается в правых частях правил.Грамматикой типа 1 будем называть неукорачивающуюграмматику.25Тип 1 в некоторых источниках определяют с помощью такназываемых контекстно-зависимых грамматик.Грамматика G = 〈 T, N, P, S 〉 называется контекстнозависимой (КЗ), если каждое правило из P имеет вид α → β, гдеα = ξ1Aξ2, β = ξ1γξ2, A ∈ N, γ ∈ (T ∪ N )+, ξ1, ξ2 ∈ (T ∪ N)*.В виде исключения в КЗ-грамматике допускается наличиеправила S → ε, при условии, что S (начальный символ) невстречается в правых частях правил.КЗ-грамматика удовлетворяет определению неукорачивающей.Неукорачивающие и КЗ-грамматики определяют один и тот же классязыков.26Тип 2Грамматика G = 〈 T, N, P, S 〉 называется контекстносвободной (КС), если каждое правило из Р имеет вид A → β, гдеA ∈ N, β ∈ ( T ∪ N ) *.В КС-грамматикахправыми частями.допускаютсяправиласпустымиЯзык, порождаемый контекстно-свободной грамматикой,называется контекстно-свободным языком.Грамматикой типа 2 будем называть контекстно-свободнуюграмматику.27Любую КС-грамматику можно преобразовать в эквивалентнуюнеукорачивающую КС-грамматику.

(т.е. КС, удовлетворяющуютакже и определению неукорачивающей)Тип 3Грамматика G = 〈 T, N, P, S 〉 называется праволинейной,если каждое правило из Р имеет вид A → wB либо A → w,где A ∈ N, B ∈ N, w ∈ T *.Грамматика G = 〈 T, N, P, S 〉 называется леволинейной, есликаждое правило из Р имеет вид A → Bw либо A → w, где A ∈ N,B ∈ N, w ∈ T *.28Праволинейные и леволинейные грамматики определяютодин и тот же класс языков.

Такие языки называютсярегулярными.Право- и леволинейные грамматики тоженазывают регулярными.29Регулярная грамматика является грамматикой типа 3.Автоматной грамматикой называется праволинейная(леволинейная) грамматика, такая, что каждое правило снепустой правой частью имеет вид: A → a либо A → aB (длялеволинейной, соответственно, A → a либо A → Ba), где A ∈ N,B ∈ N, a ∈ T.Для любой регулярной (автоматной) грамматики Gсуществуетнеукорачивающаярегулярная(автоматная)грамматика G′, такая что L(G) = L(G′).30Иерархия ХомскогоСправедливы следующие соотношения:1) любая регулярная грамматика является КС-грамматикой;2) любая неукорачивающая КС-грамматика является КЗграмматикой;3)любаянеукорачивающаяграмматикаявляетсяграмматикой типа 0.Неукорачивающие Регулярные ⊂ Неукорачивающие КС ⊂ КЗ ⊂ Тип 0(Запись A ⊂ B означает, что A является собственным подклассом класса B)31Справедливы следующие соотношения для языков:ƒ каждый регулярный язык является КС-языком, носуществуют КС-языки, которые не являются регулярными,например:L = {an bn | n > 0};ƒ каждый КС-язык является КЗ-языком, но существуют КЗязыки, которые не являются КС-языками, например:L = {an bncn | n > 0};ƒ каждый КЗ-язык является языком типа 0 (т.

Характеристики

Тип файла
PDF-файл
Размер
567,88 Kb
Тип материала
Высшее учебное заведение

Тип файла PDF

PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

Список файлов лекций

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6361
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее