Содержание
- 2. Что будем рассматривать? Что такое ЯЗЫК? Какие существуют ФОРМАЛЬНЫЕ СПОСОБЫ описания языков? Что такое ЯЗЫК ПРОГРАММИРОВАНИЯ
- 3. Структура курса (учебный план 09.03.04 ) Семестр 16 недель Лекции: 32 часа (1 пара в неделю)
- 4. Лабораторные работы 1 (2 часа) Синтез КС-грамматик 2 (2 часа) КС-грамматика языка программирования 3 (2 часа)
- 5. Отчеты по работам Отчет по каждой работе в электронном виде должен быть оформлен и сдан: Отчет
- 6. Задания №1 и №2 Задание №1 (работа №1) – в учебнике. Залание №2 (работы 2-15) -
- 7. Задание по трансляторам В каждом задании описывается некоторый очень усеченный вариант известных языков программирования Java и
- 8. Пример задания по трансляторам Программа: главная программа языка С++. Допускается описание функций без параметров, функции возвращают
- 9. Обратите внимание на полноту реализации задания во всех заданиях предполагается использование составного и пустого оператора, всегда
- 10. Тема 1 Формальные грамматики и языки
- 11. Базовые понятия Алфавит - непустое конечное множество символов. Цепочка над алфавитом Σ - конечная последовательность символов
- 12. Примеры алфавита Алфавит Σ = {0,1} Σ* = {ε , 0, 1 ,00, 01, 10, 11,
- 13. Грамматика Порождающая грамматика - упорядоченная четверка G = (VT , VN ,P ,S), где VT -
- 14. Типы G = (VT , VN ,P ,S) Тип грамматики определяется сложностью правил P ={u ?
- 15. Пример грамматики G = (VT ,VN ,P ,S), где VT = {0,1,…,9,x,a,…f} VN = {S, H,
- 16. Обозначение нетерминалов Вариант 1 - большие латинские буквы (при условии их отсутствия в VT) G: S
- 17. Правила КС-грамматики G = (VT ,VN ,P ,S) конструкция правила ? Пример S ? SaB |
- 18. КС-грамматика и дерево вывода Правила вывода в КС-грамматике A ? ϕ A ∈ VN, ϕ ∈
- 19. Операции над языками 1) Обычные теоретико-множественные: Объединение L1 ∪ L2 Пересечение L1 ∩ L2 Разность L1
- 20. Операции – инструмент синтеза КСГ Теорема Семейство КС-языков замкнуто относительно операций объединения, произведения, итерации и усеченной
- 21. Доказательство для L1 L2 Конкатенация (умножение) Дано: G1 = (VT1 ,VN1 ,P1 ,S1), G2 = (VT2
- 22. Доказательство для L1 ∪ L2 Объединение Дано: G1 = (VT1 ,VN1 ,P1 ,S1), G2 = (VT2
- 23. Доказательство для L* Итерация Дано: G1 = (VT1 ,VN1 ,P1 ,S1) Нужна грамматика языка L(G) =
- 24. Правая рекурсия для L* Итерация Дано: G1 = (VT1 ,VN1 ,P1 ,S1) Нужна грамматика языка L(G)
- 25. Доказательство для L+ Усеченная итерация Дано: G1 = (VT1 ,VN1 ,P1 ,S1) Нужна грамматика языка L(G)
- 26. Правая рекурсия для L+ Усеченная итерация Дано: G1 = (VT1 ,VN1 ,P1 ,S1) Нужна грамматика языка
- 27. Пример: язык (ab)*c ∪ b+ G: S ? A | B // объединение (ab)*c и b+
- 28. Пример: идентификатор С++ Идентификатор – это последовательность букв и цифр, начинающаяся с буквы. Знак подчеркивания рассматривается
- 29. Симметрия в языке L = αnγβn , n >= 0 S ? αSβ | γ Вывод
- 30. Простой пример симметрии Симметричные конструкции S ? ASB | X L(S) = L(A)n L(X) L(B)n n
- 31. Пример симметрии L = a2nd(a+b*с)n+1 , n >= 0 Выделим симметрию L = a2nd(a+b*с)n+1 = (aa)n
- 32. Преобразования КСГ Подстановки Новые нетерминалы для фрагментов Неукорачивание Левая рекурсия ? правая Правая рекурсия ? левая
- 33. Левая рекурсия ? правая Были правила S ? SA | B Вывод: S ? SA ?
- 34. Левая рекурсия ? правая (Общий случай) Были правила S ? Sβ1 | Sβ2 | … |
- 35. Правая рекурсия ? левая (Общий случай) Были правила S ? β1S | β2S | … |
- 36. Рекурсия Грамматика конечна по опреледению. Язык, как правило, бесконечен. Рекурсия – единственный способ представить бесконечный язык
- 37. Рекурсия конструкций ЯП ? | | ? ; ? { } ? | | |… ?
- 38. Синтаксический анализ Задача любого транслятора – построить дерево грамматического разбора. Если язык бесконечен, а КС-грамматика конечна,
- 39. Лемма о разрастании Для любой КС - грамматики, порождающей бесконечный язык, существуют такие натуральные числа p
- 40. Следствие – теорема о языке anbncn Теорема Язык anbncn не является КС-языком. Вывод: КС-грамматика не может
- 41. Недетерминированность КСГ недопустима !!! Пусть V == a == G: V ? V+V | V-V |
- 42. Выражения Нет понятия логического, арифметического и т.п. выражения: Работает семантика контекстных условий для контроля корректности выражений:
- 43. Синтаксис выражений 1 Упорядочить группы операций по приоритетам, начиная с низкоприоритетных . 2 Каждой группе поставить
- 44. Правила для группы многократных операций Операции многократные, т.е. разрешается запись а*а*а*а Операция бинарная выполнение слева направо
- 45. Правила для группы однократных операций Операции однократные, т.е. НЕ разрешается запись а*а*а*а Операция бинарная Ai ?
- 46. Пример выражения с бинарными операциями A1 > A2 + - A3 * / A1 ? A1
- 47. Лабораторная работа №1 1. Построить КС-грамматику по заданию в учебнике (№ задания == номер в списке
- 48. Лабораторная работа № 2 1. Построить таблицу приоритетов операций языка программирования индивидуального задания 2. Построить КС-грамматику
- 49. Языки, грамматика, автоматы Грамматика порождает язык Автомат распознает язык Программист использует (1) при создании программы Транслятор
- 50. Типы автоматов при трансляции Машина Тьюринга == любой алгоритм. Требование трансляции - эффективность T(v) = O(n)
- 51. Автоматы при трансляции Конечный автомат ? лексика языка (переходит из состояния в состояние, читая символы) МП-автомат
- 52. Синтез конечных автоматов Учебное пособие (содержит теоретический материал и примеры): глава 2
- 53. Целые константы: 1) 8с/с – начинается с 0, 2) 16c/c – начинаются 0x или 0X, 3)
- 54. Целые константы
- 56. Скачать презентацию





















































Презентация на тему Геоинформационные системы(ГИС)
Программа Ехсеl: создание таблиц
Методика определения возможного ущерба и алгоритма определения уровня защищённости государственных информационных систем
Курс по основам программирования на Python. Двумерные массивы
Композиция внутренних элементов книги
Оформление презентации проекта
История развития компьютерной мыши
Как улучшить свой ПК
Урок 2. Услуги персонального стилиста. Продуктовая линейка
IT Школа Samsung. Производственная гимнастика!
Логическое проектирование
Физминутка с роботами
Образование на основе онлайновых социальных сетей
Социальные сети-мир полный опасности. Тайная сторона социальных сетей
Сообщество ВКонтакте “Клуб 27”
Техническое и информационное обеспечение информационных сиситем
Работа с электронными таблицами
Address Resolution Protocol. Работа ARP
8-2-3
Безопасность в Интернете
Презентация на тему Паскаль
Проблемы передачи информации (лекция 3)
Настройка протокола IP
Презентация на тему "Своя игра" по информатике
Базы данных ка модель предметной области
Игровые приставки Nintendo
Современный персональный компьютер
Переменные и их типы