🗊 Презентация 2. Лексика, синтаксис и пр

Нажмите для полного просмотра!
2. Лексика, синтаксис и пр, слайд №1 2. Лексика, синтаксис и пр, слайд №2 2. Лексика, синтаксис и пр, слайд №3 2. Лексика, синтаксис и пр, слайд №4 2. Лексика, синтаксис и пр, слайд №5 2. Лексика, синтаксис и пр, слайд №6 2. Лексика, синтаксис и пр, слайд №7 2. Лексика, синтаксис и пр, слайд №8 2. Лексика, синтаксис и пр, слайд №9 2. Лексика, синтаксис и пр, слайд №10 2. Лексика, синтаксис и пр, слайд №11 2. Лексика, синтаксис и пр, слайд №12 2. Лексика, синтаксис и пр, слайд №13 2. Лексика, синтаксис и пр, слайд №14 2. Лексика, синтаксис и пр, слайд №15 2. Лексика, синтаксис и пр, слайд №16 2. Лексика, синтаксис и пр, слайд №17 2. Лексика, синтаксис и пр, слайд №18 2. Лексика, синтаксис и пр, слайд №19 2. Лексика, синтаксис и пр, слайд №20 2. Лексика, синтаксис и пр, слайд №21 2. Лексика, синтаксис и пр, слайд №22 2. Лексика, синтаксис и пр, слайд №23 2. Лексика, синтаксис и пр, слайд №24 2. Лексика, синтаксис и пр, слайд №25 2. Лексика, синтаксис и пр, слайд №26 2. Лексика, синтаксис и пр, слайд №27 2. Лексика, синтаксис и пр, слайд №28 2. Лексика, синтаксис и пр, слайд №29 2. Лексика, синтаксис и пр, слайд №30 2. Лексика, синтаксис и пр, слайд №31 2. Лексика, синтаксис и пр, слайд №32 2. Лексика, синтаксис и пр, слайд №33 2. Лексика, синтаксис и пр, слайд №34 2. Лексика, синтаксис и пр, слайд №35 2. Лексика, синтаксис и пр, слайд №36 2. Лексика, синтаксис и пр, слайд №37 2. Лексика, синтаксис и пр, слайд №38 2. Лексика, синтаксис и пр, слайд №39 2. Лексика, синтаксис и пр, слайд №40 2. Лексика, синтаксис и пр, слайд №41 2. Лексика, синтаксис и пр, слайд №42 2. Лексика, синтаксис и пр, слайд №43 2. Лексика, синтаксис и пр, слайд №44 2. Лексика, синтаксис и пр, слайд №45 2. Лексика, синтаксис и пр, слайд №46 2. Лексика, синтаксис и пр, слайд №47 2. Лексика, синтаксис и пр, слайд №48 2. Лексика, синтаксис и пр, слайд №49 2. Лексика, синтаксис и пр, слайд №50 2. Лексика, синтаксис и пр, слайд №51 2. Лексика, синтаксис и пр, слайд №52

Содержание

Вы можете ознакомиться и скачать презентацию на тему 2. Лексика, синтаксис и пр. Доклад-сообщение содержит 52 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Языки программирования Язык – знаковая система
Описание слайда:
Языки программирования Язык – знаковая система

Слайд 2


Языки программирования Лексика Орфография Морфология Синтаксис Грамматика Пунктуация
Описание слайда:
Языки программирования Лексика Орфография Морфология Синтаксис Грамматика Пунктуация

Слайд 3


Лексика Лексема – элементарная (относительно синтаксиса) единица языка Примеры: Числа: 123.4e2, 12, 0x25 Знаки: +, !=, [,
Описание слайда:
Лексика Лексема – элементарная (относительно синтаксиса) единица языка Примеры: Числа: 123.4e2, 12, 0x25 Знаки: +, !=, [,

Слайд 4


Лексика - пример Идентификатор – последовательность букв и цифр, начинающаяся с буквы Вопросы: Кириллица? Инд2 Регистр? PersonID = PeRSoniD _?...
Описание слайда:
Лексика - пример Идентификатор – последовательность букв и цифр, начинающаяся с буквы Вопросы: Кириллица? Инд2 Регистр? PersonID = PeRSoniD _? student_count, __FILE__, _1 Длина? TheBestApproximationReachedSoFar Другие символы? IsLegal? Пробелы? Min X

Слайд 5


Лексика – формальное описание Регулярные выражения (_|a|…|z)(_|a|…|z|0|…|9)* Конечные автоматы
Описание слайда:
Лексика – формальное описание Регулярные выражения (_|a|…|z)(_|a|…|z|0|…|9)* Конечные автоматы

Слайд 6


Форма Бэкуса-Наура - БНФ Нетерминал – определяемое понятие Терминал – неопределяемый символ Метасимволы – ( ) ::= [ ] * Правило грамматики Нетерминал...
Описание слайда:
Форма Бэкуса-Наура - БНФ Нетерминал – определяемое понятие Терминал – неопределяемый символ Метасимволы – ( ) ::= [ ] * Правило грамматики Нетерминал ::= последовательность терминалов и нетерминалов

Слайд 7


Пример БНФ буква ::= _ буква ::= a ... буква ::= z цифра ::= 0 … цифра ::= 9
Описание слайда:
Пример БНФ буква ::= _ буква ::= a ... буква ::= z цифра ::= 0 … цифра ::= 9

Слайд 8


Регуляризованная БНФ - РБНФ Альтернатива разное ::= вариант1 ... разное ::= вариантn Эквивалентно разное ::= вариант1 | ... | вариантn Пример буква...
Описание слайда:
Регуляризованная БНФ - РБНФ Альтернатива разное ::= вариант1 ... разное ::= вариантn Эквивалентно разное ::= вариант1 | ... | вариантn Пример буква ::= _ | a | … | z

Слайд 9


Регуляризованная БНФ - РБНФ Необязательный элемент – возможное отсутствие можетбыть ::= можетбыть ::= нечто Эквивалентно можетбыть ::= [ нечто ]...
Описание слайда:
Регуляризованная БНФ - РБНФ Необязательный элемент – возможное отсутствие можетбыть ::= можетбыть ::= нечто Эквивалентно можетбыть ::= [ нечто ] Пример букры ::= [ букра букры ]

Слайд 10


Регуляризованная БНФ - РБНФ Итерация – повторение ноль или более раз (звезда Клини) много ::= много ::= нечто много Эквивалентно много ::= (нечто)*...
Описание слайда:
Регуляризованная БНФ - РБНФ Итерация – повторение ноль или более раз (звезда Клини) много ::= много ::= нечто много Эквивалентно много ::= (нечто)* Пример букры ::= (букра)*

Слайд 11


Регуляризованная БНФ - РБНФ Ненулевая итерация – повторение один или более раз (плюс Клини) много ::= нечто много ::= нечто много Эквивалентно много...
Описание слайда:
Регуляризованная БНФ - РБНФ Ненулевая итерация – повторение один или более раз (плюс Клини) много ::= нечто много ::= нечто много Эквивалентно много ::= (нечто)+ Пример букра (букра)* экививалентно (букра)+ (букра)* экививалентно [(букра)+]

Слайд 12


Пример РБНФ буква ::= _ буква ::= a ... буква ::= z цифра ::= 0 … цифра ::= 9
Описание слайда:
Пример РБНФ буква ::= _ буква ::= a ... буква ::= z цифра ::= 0 … цифра ::= 9

Слайд 13


Пример РБНФ буква ::= _|a|…|z цифра ::= 0|…|9
Описание слайда:
Пример РБНФ буква ::= _|a|…|z цифра ::= 0|…|9

Слайд 14


Пример РБНФ буква ::= _|a|…|z цифра ::= 0|…|9
Описание слайда:
Пример РБНФ буква ::= _|a|…|z цифра ::= 0|…|9

Слайд 15


Лексика Разделители Пробелы, переводы строк, табуляции Значащие позиции: с 7 по 72 Комментарии: /*…*/ // до конца строки Вложенные комментарии...
Описание слайда:
Лексика Разделители Пробелы, переводы строк, табуляции Значащие позиции: с 7 по 72 Комментарии: /*…*/ // до конца строки Вложенные комментарии Максимальность лексемы: a+++++b,

Слайд 16


Лексика – национальные версии (Алгол 60) проц НОД(x,y,z); знач x,y; цел x,y,z; начало цел проц ОСТ(A,B); знач A,B; цел A,B; ОСТ := A – (A % B) * B;...
Описание слайда:
Лексика – национальные версии (Алгол 60) проц НОД(x,y,z); знач x,y; цел x,y,z; начало цел проц ОСТ(A,B); знач A,B; цел A,B; ОСТ := A – (A % B) * B; начало цел u; для u := ОСТ(x,y) пока u ≠ 0 цикл начало y := x; x := u конец; конец; z := x конец

Слайд 17


Лексика – национальные версии (проблемы) Для «правильного» перевода нужно менять не только лексику, но и синтаксис, структуру фраз Русские имена...
Описание слайда:
Лексика – национальные версии (проблемы) Для «правильного» перевода нужно менять не только лексику, но и синтаксис, структуру фраз Русские имена могут не допускаться окружающей обстановкой Использование «иноязычных» библиотек Изображение данных: числа: десятичная точка или десятичная запятая даты: 09/01/04 или 04/01/09 Неудобство набора текста опасность совпадения разных букв по начертанию

Слайд 18


Лексика Результат – поток лексем Тип лексемы: идентификатор, строка, число... Значение лексемы: изображение, значение числа,....
Описание слайда:
Лексика Результат – поток лексем Тип лексемы: идентификатор, строка, число... Значение лексемы: изображение, значение числа,....

Слайд 19


Синтаксис Правила построения фраз из лексем Контекстно-свободный - структура фразы не зависит от окружения Контекстно-зависимый Пример (Algol-68): .A...
Описание слайда:
Синтаксис Правила построения фраз из лексем Контекстно-свободный - структура фразы не зависит от окружения Контекстно-зависимый Пример (Algol-68): .A x := 2 Описание переменной с инициализацией, если А – тип Присваивание 2 по адресу (.A x), если .A - операция

Слайд 20


Контекстно-свободный синтаксис Пример (РБНФ) выр ::= перем | конст | (+ | -) выр | выр (= |
Описание слайда:
Контекстно-свободный синтаксис Пример (РБНФ) выр ::= перем | конст | (+ | -) выр | выр (= |

Слайд 21


Синтаксический вывод - дерево разбора Выражение: x + 2 * y Задача: найти последовательность правил вывода для заданной цепочки терминалов
Описание слайда:
Синтаксический вывод - дерево разбора Выражение: x + 2 * y Задача: найти последовательность правил вывода для заданной цепочки терминалов

Слайд 22


Синтаксический вывод (неоднозначность) Выражение: x + 2 * y
Описание слайда:
Синтаксический вывод (неоднозначность) Выражение: x + 2 * y

Слайд 23


Синтаксический вывод (избыточность) Допускается «лишнее» Пример: A < B + C < D + - + 2 X + - Y
Описание слайда:
Синтаксический вывод (избыточность) Допускается «лишнее» Пример: A < B + C < D + - + 2 X + - Y

Слайд 24


Контекстно-свободный синтаксис Пример – улучшенный вариант выр ::= прост-выр [(= |
Описание слайда:
Контекстно-свободный синтаксис Пример – улучшенный вариант выр ::= прост-выр [(= |

Слайд 25


Синтаксический вывод - дерево разбора Выражение: x + 2 * y
Описание слайда:
Синтаксический вывод - дерево разбора Выражение: x + 2 * y

Слайд 26


Неоднозначность if if (x > 0) if (x < 2) x = x+1; else x = x-1;
Описание слайда:
Неоднозначность if if (x > 0) if (x < 2) x = x+1; else x = x-1;

Слайд 27


Неоднозначность if
Описание слайда:
Неоднозначность if

Слайд 28


Синтаксические диаграммы Структурированный ориентированный граф с одним входом и одним выходом, вершинами которого являются нетерминалы и терминалы...
Описание слайда:
Синтаксические диаграммы Структурированный ориентированный граф с одним входом и одним выходом, вершинами которого являются нетерминалы и терминалы Допускает цепочку терминалов на пути от входа к выходу с «заходом» в диаграммы нетерминалов.

Слайд 29


Синтаксические диаграммы Вход: Выход: Обязательный: Необязательный Игнорируемый:
Описание слайда:
Синтаксические диаграммы Вход: Выход: Обязательный: Необязательный Игнорируемый:

Слайд 30


Синтаксические диаграммы Выбор: Необязательный выбор:
Описание слайда:
Синтаксические диаграммы Выбор: Необязательный выбор:

Слайд 31


Синтаксические диаграммы Повторение: Повторение через разделитель:
Описание слайда:
Синтаксические диаграммы Повторение: Повторение через разделитель:

Слайд 32


Синтаксические диаграммы идент ::= A..Z [(A..Z | 0..9)*]
Описание слайда:
Синтаксические диаграммы идент ::= A..Z [(A..Z | 0..9)*]

Слайд 33


Синтаксические диаграммы - пример «Плохая» грамматика
Описание слайда:
Синтаксические диаграммы - пример «Плохая» грамматика

Слайд 34


Синтаксические диаграммы - пример Улучшенная грамматика выр ::= прост-выр [(= |
Описание слайда:
Синтаксические диаграммы - пример Улучшенная грамматика выр ::= прост-выр [(= |

Слайд 35


Синтаксические диаграммы - пример прост-выр ::= [+ | -] слаг ((+ | -) слаг)* слаг ::= множ ((* | /) множ)*
Описание слайда:
Синтаксические диаграммы - пример прост-выр ::= [+ | -] слаг ((+ | -) слаг)* слаг ::= множ ((* | /) множ)*

Слайд 36


Синтаксические диаграммы - пример множ ::= перем | конст | ( выр )
Описание слайда:
Синтаксические диаграммы - пример множ ::= перем | конст | ( выр )

Слайд 37


Синтаксические диаграммы – понятность пользователю Критерии чтобы не было слишком большим (умещалось на странице) чтобы не было слишком много диаграмм
Описание слайда:
Синтаксические диаграммы – понятность пользователю Критерии чтобы не было слишком большим (умещалось на странице) чтобы не было слишком много диаграмм

Слайд 38


Устойчивость синтаксиса Случайные ошибки и опечатки должны обнаруживаться Разные конструкции должны визуально различаться Примеры:
Описание слайда:
Устойчивость синтаксиса Случайные ошибки и опечатки должны обнаруживаться Разные конструкции должны визуально различаться Примеры:

Слайд 39


Контекстно-зависимый анализ Идентификация – сопоставление определений объектов с их использованиями Статический анализ типов – определение (вывод)...
Описание слайда:
Контекстно-зависимый анализ Идентификация – сопоставление определений объектов с их использованиями Статический анализ типов – определение (вывод) типов объектов и выражений и проверка типовой правильности.

Слайд 40


Семантика Что делает данная программа? Функциональная семантика – функция, реализуемая программой Операционная семантика –последовательность...
Описание слайда:
Семантика Что делает данная программа? Функциональная семантика – функция, реализуемая программой Операционная семантика –последовательность (содержательных) действий выполняемая программой Аксиоматическая семантика – следствие постусловий из предусловий

Слайд 41


Стиль Лесенка - иногда обязательна (Occam), иногда поддерживается автоматически. int l1 = busy_class(cl, d*lessons_per_day + t1); if (t1==t || l1==-1...
Описание слайда:
Стиль Лесенка - иногда обязательна (Occam), иногда поддерживается автоматически. int l1 = busy_class(cl, d*lessons_per_day + t1); if (t1==t || l1==-1 || lessons[l1]-> share[0].teacher != tch) continue; if (t1 < t-1 || t1>t+1) ++ not_sequence; else {++ total_class_overload; sum += B_CLASS_OVERLOAD; } Неправильно

Слайд 42


Стиль Лесенка int l1 = busy_class(cl, d*lessons_per_day + t1); if (t1 == t || l1 == -1 || lessons[l1]->share[0].teacher != tch) continue; /* Не...
Описание слайда:
Стиль Лесенка int l1 = busy_class(cl, d*lessons_per_day + t1); if (t1 == t || l1 == -1 || lessons[l1]->share[0].teacher != tch) continue; /* Не скупитесь на пробелы */ if (t1 < t-1 || t1 > t+1) ++ not_sequence; else { ++ total_class_overload; sum += B_CLASS_OVERLOAD; }

Слайд 43


Стиль Лесенка else if плохо if (x >=1000) …. else if (x > 0) … else if (x == 0) … else if (x > -1000) … else // x
Описание слайда:
Стиль Лесенка else if плохо if (x >=1000) …. else if (x > 0) … else if (x == 0) … else if (x > -1000) … else // x

Слайд 44


Стиль Лесенка else if if (x >=1000) …. else if (x > 0) … else if (x == 0) … else if (x > -1000) … else // x
Описание слайда:
Стиль Лесенка else if if (x >=1000) …. else if (x > 0) … else if (x == 0) … else if (x > -1000) … else // x

Слайд 45


Стиль Содержательные, мнемоничные идентификаторы int n1, n2; for (int index_of_outer_loop = 0; index_of_outer_loop < n1; index_of_outer_loop ++) for...
Описание слайда:
Стиль Содержательные, мнемоничные идентификаторы int n1, n2; for (int index_of_outer_loop = 0; index_of_outer_loop < n1; index_of_outer_loop ++) for (int intIndexJ = 0; intIndexJ < n2; intIndexJ ++) … Неправильно

Слайд 46


Стиль Содержательные идентификаторы int PersonCount, ExamCount; for (int p = 0; p < PersonCount; p++) for (int j = 0; j < ExamCount; j ++) … Длина...
Описание слайда:
Стиль Содержательные идентификаторы int PersonCount, ExamCount; for (int p = 0; p < PersonCount; p++) for (int j = 0; j < ExamCount; j ++) … Длина идентификатора пропорциональна размеру области его действия

Слайд 47


Стиль Неиспользование умолчаний int cnt = 0; unsigned char line[128] FILE * file; … while ( fgets(line, 127, file) != NULL) cnt ++;
Описание слайда:
Стиль Неиспользование умолчаний int cnt = 0; unsigned char line[128] FILE * file; … while ( fgets(line, 127, file) != NULL) cnt ++;

Слайд 48


Комментарии Совсем без комментариев – плохо int max = 0; for (int i = 0; i < n; i++) if (M[i] > max) max = M[i];
Описание слайда:
Комментарии Совсем без комментариев – плохо int max = 0; for (int i = 0; i < n; i++) if (M[i] > max) max = M[i];

Слайд 49


Комментарии С плохими комментариями – ещё хуже /* начальник приказал написать комментарии к каждой строчке – ему же хуже будет :-[ */ int max = 0; //...
Описание слайда:
Комментарии С плохими комментариями – ещё хуже /* начальник приказал написать комментарии к каждой строчке – ему же хуже будет :-[ */ int max = 0; // присвоить 0 // перебираем i=0..n-1 for (int i = 0; i < n; i++) if (M[i] > max) // сравниваем с max max = M[i]; // обновляем, если надо

Слайд 50


Комментарии Комментарии облегчают понимание /* * Нахождение максимума max в массиве M */ int max = 0; // предполагается, что все M[i] > 0 for (int i...
Описание слайда:
Комментарии Комментарии облегчают понимание /* * Нахождение максимума max в массиве M */ int max = 0; // предполагается, что все M[i] > 0 for (int i = 0; i < n; i++) if (M[i] > max) max = M[i];

Слайд 51


Прагматика Использование конструкций языка согласно их предназначению
Описание слайда:
Прагматика Использование конструкций языка согласно их предназначению

Слайд 52


Преемственность Fortran -> Fortran IV -> Fortran 77 -> Fortran 90 K&R C -> ANSI C -> C++ -> C# Обратная совместимость
Описание слайда:
Преемственность Fortran -> Fortran IV -> Fortran 77 -> Fortran 90 K&R C -> ANSI C -> C++ -> C# Обратная совместимость



Похожие презентации
Mypresentation.ru
Загрузить презентацию