![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Компьютеры, Программирование
Программирование, Базы данных
Построение формального языка L |
Построение формального языка LWHILE( ) []; WHILE - входной терминальный символ - условное выражение - некоторая функция, которая может отсутствовать - параметры функции, которые тоже могут отсутствоватьПример правильного синтаксиса:WHILE(A>4444 = != а O O O O -O /O а () а Б{Б Ц} а Ц{Ц} а (: а while( ) []; а < > = != а O O O O -O /O а () а Б{Б Ц} а Ц{Ц} а () а к Сделаем замену нетерминальных символов: а Z а A а B а C а D а E а F а G Сделаем замену терминальных символов: WHILE а a ( а b ) а c ; а d Ц а f Б а g , а h Gd Aа B A B A = B A != B B а C B C B C B C B-C B/C C а bAc E F E а g{g f} F а f{f} D а Eb - контекстно-свободная грамматика. Выбор метода анализа Хотя однозначность в общем случае для контекстно-зависимых грамматик не доказана, ее использование возможно для грамматик в которых однозначность очевидна. Наиболее хорошо разработанным методом анализа, для данного типа грамматик является, метод рекурсивного спуска.Диагностика и нейтрализация ошибок Разработанный алгоритм относится к общеизвестному методу синтаксического разбора, предложенный Айронсом. Основная идея метода состоит в том, что по контексту без возврата отбрасываются те символы, которые привели в тупиковую ситуацию и разбор продолжается. Приведем пример синтаксического разбора: While (A > ) cls(); Z а abAcd Aа B A B A = B A != B B а C B C B C B C B-C B/C C а bAc E F E а g{g f} F а f{f} D а Ebc G а E F к Z ab A c D B A E CB g{g} bGc ECк gE gWhile ( A > ) cls ( ) ;тупиковая ситуацияТестирование на цепочках Протокол работы синтаксического распознавателя оператора цикла while языка С. Обрабатываем строчку - While(a>)cls(); Найден While проверка началась с символа - ( Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - a Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - ) Проверка на ЦБЗ, текущий символ - ) Проверка на FU C, текущий символ - c Проверка на IDE , текущий символ - c Найденные ошибки в строке While(a>)cls(); Предупреждение: Отсутствует условие () Не найден идентификатор или ЦБЗ Обрабатываем строчку - while(13 (ewqw () we) rscr(456,345,r gr ,345444r r,) Отсутствует ( Отсутствует ) Предупреждение: Отсутствует условие () Отсутствует ; после функции Параметр функции не может начинатся с цифры Неизвестный идентификатор(ы) - 435, 4, Не найден идентификатор или ЦБЗ Идентификатор не может начинаться с цифры Не найден или не верный параметр Неизвестная знаковая конструкция Обрабатываем строчку - scr(eee,qee>445--- ;Найден While проверка началась с символа - ( Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - 4 Проверка на ЦБЗ, текущий символ - 4 Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - 4 Проверка на ЦБЗ, текущий символ - 4 Проверка на ERM Проверка на O Проверка на IDE , текущий символ - Проверка на ЦБЗ, текущий символ - Проверка на FU C, текущий символ - ; Проверка на IDE , текущий символ - ; Найденные ошибки в строке while(4545>>445--- ; Отсутствует ) Предупреждение: отсутствует имя функции Не найден идентификатор или ЦБЗ Неизвестная знаковая конструкция Обрабатываем строчку - while(i>=0);Найден While проверка началась с символа - ( Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - i Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - 0 Проверка на ЦБЗ, текущий символ - 0 Проверка на FU C, текущий символ - ; Проверка на IDE , текущий символ - ; Найденные ошибки в строке while(i>=0); Предупреждение: отсутствует имя функции Обрабатываем строчку - while(i>=0) 544();Найден While проверка началась с символа - ( Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - i Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - 0 Проверка на ЦБЗ, текущий символ - 0 Проверка на FU C, текущий символ - Проверка на IDE , текущий символ - 5 Найденные ошибки в строке while(i>=0) 544(); Отсутствует ; после функции Предупреждение: отсутствует имя функции Обрабатываем строчку - whilei>=0) clrscr();13Найден While проверка началась с символа - i Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - i Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - 0 Проверка на ЦБЗ, текущий символ - 0 Проверка на FU C, текущий символ - Проверка на IDE , текущий символ - c Найденные ошибки в строке whilei>=0) clrscr();13 Отсутствует ( Предупреждение: Отсутствует условие () Обрабатываем строчку - whiler 3432 23432)Найден While проверка началась с символа - ( Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - d Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - 3 Проверка на ЦБЗ, текущий символ - 3 Проверка на ERM Проверка на O Проверка на IDE , текущий символ - 2 Проверка на ЦБЗ, текущий символ - 2 Проверка на FU C, текущий символ - Проверка на IDE , текущий символ - Найденные ошибки в строке while(dd>>3432 23432) Отсутствует ; после функции Предупреждение: отсутствует имя функции Неизвестная знаковая конструкцияЛистинг программыВАРИАHТ # 10 Синтаксический распознователь оператора цикла While Файл программы - А513.c
строение формального языка LWHILE( ) []; WHILE - входной терминальный символ - условное выражение - некоторая функция, которая может отсутствовать - параметры функции, которые тоже могут отсутствоватьПример правильного синтаксиса:WHILE(A>4444 = != а O O O O -O /O а () а Б{Б Ц} а Ц{Ц} а (: а while( ) []; а < > = != а O O O O -O /O а () а Б{Б Ц} а Ц{Ц} а () а к Сделаем замену нетерминальных символов: а Z а A а B а C а D а E а F а G Сделаем замену терминальных символов: WHILE а a ( а b ) а c ; а d Ц а f Б а g , а h Gd Aа B A B A = B A != B B а C B C B C B C B-C B/C C а bAc E F E а g{g f} F а f{f} D а Eb - контекстно-свободная грамматика. Выбор метода анализа Хотя однозначность в общем случае для контекстно-зависимых грамматик не доказана, ее использование возможно для грамматик в которых однозначность очевидна. Наиболее хорошо разработанным методом анализа, для данного типа грамматик является, метод рекурсивного спуска.Диагностика и нейтрализация ошибок Разработанный алгоритм относится к общеизвестному методу синтаксического разбора, предложенный Айронсом. Основная идея метода состоит в том, что по контексту без возврата отбрасываются те символы, которые привели в тупиковую ситуацию и разбор продолжается. Приведем пример синтаксического разбора: While (A > ) cls(); Z а abAcd Aа B A B A = B A != B B а C B C B C B C B-C B/C C а bAc E F E а g{g f} F а f{f} D а Ebc G а E F к Z ab A c D B A E CB g{g} bGc ECк gE gWhile ( A > ) cls ( ) ;тупиковая ситуацияТестирование на цепочках Протокол работы синтаксического распознавателя оператора цикла while языка С. Обрабатываем строчку - While(a>)cls(); Найден While проверка началась с символа - ( Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - a Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - ) Проверка на ЦБЗ, текущий символ - ) Проверка на FU C, текущий символ - c Проверка на IDE , текущий символ - c Найденные ошибки в строке While(a>)cls(); Предупреждение: Отсутствует условие () Не найден идентификатор или ЦБЗ Обрабатываем строчку - while(13 (ewqw () we) rscr(456,345,r gr ,345444r r,) Отсутствует ( Отсутствует ) Предупреждение: Отсутствует условие () Отсутствует ; после функции Параметр функции не может начинатся с цифры Неизвестный идентификатор(ы) - 435, 4, Не найден идентификатор или ЦБЗ Идентификатор не может начинаться с цифры Не найден или не верный параметр Неизвестная знаковая конструкция Обрабатываем строчку - scr(eee,qee>445--- ;Найден While проверка началась с символа - ( Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - 4 Проверка на ЦБЗ, текущий символ - 4 Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - 4 Проверка на ЦБЗ, текущий символ - 4 Проверка на ERM Проверка на O Проверка на IDE , текущий символ - Проверка на ЦБЗ, текущий символ - Проверка на FU C, текущий символ - ; Проверка на IDE , текущий символ - ; Найденные ошибки в строке while(4545>>445--- ; Отсутствует ) Предупреждение: отсутствует имя функции Не найден идентификатор или ЦБЗ Неизвестная знаковая конструкция Обрабатываем строчку - while(i>=0);Найден While проверка началась с символа - ( Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - i Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - 0 Проверка на ЦБЗ, текущий символ - 0 Проверка на FU C, текущий символ - ; Проверка на IDE , текущий символ - ; Найденные ошибки в строке while(i>=0); Предупреждение: отсутствует имя функции Обрабатываем строчку - while(i>=0) 544();Найден While проверка началась с символа - ( Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - i Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - 0 Проверка на ЦБЗ, текущий символ - 0 Проверка на FU C, текущий символ - Проверка на IDE , текущий символ - 5 Найденные ошибки в строке while(i>=0) 544(); Отсутствует ; после функции Предупреждение: отсутствует имя функции Обрабатываем строчку - whilei>=0) clrscr();13Найден While проверка началась с символа - i Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - i Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - 0 Проверка на ЦБЗ, текущий символ - 0 Проверка на FU C, текущий символ - Проверка на IDE , текущий символ - c Найденные ошибки в строке whilei>=0) clrscr();13 Отсутствует ( Предупреждение: Отсутствует условие () Обрабатываем строчку - whiler 3432 23432)Найден While проверка началась с символа - ( Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - d Проверка на AB Проверка на ERM Проверка на O Проверка на IDE , текущий символ - 3 Проверка на ЦБЗ, текущий символ - 3 Проверка на ERM Проверка на O Проверка на IDE , текущий символ - 2 Проверка на ЦБЗ, текущий символ - 2 Проверка на FU C, текущий символ - Проверка на IDE , текущий символ - Найденные ошибки в строке while(dd>>3432 23432) Отсутствует ; после функции Предупреждение: отсутствует имя функции Неизвестная знаковая конструкцияЛистинг программыВАРИАHТ # 10 Синтаксический распознователь оператора цикла While Файл программы - А513.c
Так, в предложении «Лошади кушают овёс» при описании по 1-му способу составляющими будут: всё предложение I , каждое отдельное слово и словосочетание С = «кушают овёс» (рис. 1 ; стрелки означают «непосредственное вложение»); описание по 2-му способу даёт схему, показанную на рисунке 2 . Математические объекты, возникающие при таком описании структуры предложения, называются деревом составляющих (1-й способ) и деревом синтаксического подчинения (2-й способ). Другой раздел М. л., занимающий в ней центр, место, — теория формальных грамматик, возникшая главным образом благодаря работам Н. Хомского . Она изучает способы описания закономерностей, которые характеризуют уже не отдельный текст, а всю совокупность правильных текстов того или иного языка. Эти закономерности описываются путём построения «формальной грамматики» — абстрактного «механизма», позволяющего с помощью единообразной процедуры получать правильные тексты данного языка вместе с описаниями их структуры. Наиболее широко используемый тип формальной грамматики — так называемая порождающая грамматика, или грамматика Хомского, — упорядоченная система G = <V, W, I , R>, где: V и W — непересекающиеся конечные множества; I — элемент W; R — конечное множество правил вида j®y, где j и y — цепочки (конечные последовательности) элементов V и W
1. Разработка и отладка формального языка
2. Разработка программы на языке LISP для построения кривых Серпинского i-го порядка
3. Принцип построения налога на добавленную стоимость
4. Билеты по всемирной истории для 11 класса на украинском языке
5. Понятие, структура и методики построения страховых тарифов
9. Введение новых правил в орфографии в немецком языке
10. Топики по английскому языку за 11 класс
11. Алкоголь(на немецком языке)
12. Топики по английскому языку на тему "Я ученый"
13. Образцы писем делового характера по английскому языку
14. Билеты по немецкому языку за 11 класс (2001 год)
15. Использование интегрированных курсов при изучении иностранного языка
16. Категория "противоположность" в английском языке
17. Куча топиков по английскому языку
18. Переводы по английскому языку из учебника Л.Н. Адрианова
19. Политическая система государства /на англ. языке/
21. Топики для сдачи экзаменов по английскому языку
25. Грамматические трансформации при устном переводе с русского языка на английский
27. Учебное сотрудничество как средство оптимизации обучения иностранному языку
28. Способы перевода просторечия, использованного в романе А. Силлитоу "Ключ от двери", на русский язык
29. Формирование навыка говорения на иностранном языке и критерии его автоматизированности
30. Контрольная работа по английскому языку (Тюмень)
31. Билеты по английскому языку для 9 класса (2002г.)
32. Региональная культура и история на уроках немецкого языка в средней школе
33. Роль поэзии в обучении немецкому языку
35. Поле запаха в немецком языке на примере романа П.Зюскинда ПАРФЮМЕР
36. Фразеологический анализ ФЕ с компонентом-соматизмом Mund/рот в немецком и русском языках
37. Лекции Л. И. Городнего по лексикологии английского языка
42. Особенности языка и стиля английской научной прозы
44. Структурно - семантические особеннности спортивной фразеологии современного английского языка
45. Научно-педагогическое обоснование урока английского языка в 8“б” классе Лингвистической гимназии №3
46. Русские заимствования в английском языке (Russian borrowings in English language)
47. Билеты по методике обучения иностранным языкам
48. Темы по английскому языку (English topics)
49. Лингвистические основы обучения произношению английского языка в каракалпакской школе
50. Лексико-семантическое поле "женщина" в современном английском языке
51. Синтаксические функции герундия в испанском языке. Проблема атрибутивного герундия
53. Формы обращения в английском языке
58. Русский язык
60. Речевой этикет в современном русском языке
61. Глагольное управление в селькупском языке
62. Приемы комического в языке произведений П.Г. Вудхауза
63. Структурные и понятийные аспекты языка
64. Диалектологический словарь русского языка
66. Книга Г.О. Винокура "О языке художественной литературы"
69. Проза Д.И. Фонвизина в истории русского литературного языка
75. Графика русского языка до и после Кирилла
76. Шпаргалка по русскому языку
77. Поле запаха в немецком языке на примере романа П.Зюскинда ПАРФЮМЕР
78. Лекции Л. И. Городнего по лексикологии английского языка
79. Функциональные стили в русском языке
80. Реализация функций языка в ФЗ "О прокуратуре РФ"
81. Особенности языка и стиля английской научной прозы
82. Русские заимствования в английском языке (Russian borrowings in English language)
83. Сравнительное описание слоговых структур английского и каракалпакского языков
84. Аббревиация в разноструктурных языках
85. Английский язык в Южной Африке
89. Русская эмиграция во Франции (на русском языке)
90. "Вторая опора" ЕС: проблемы построения и подходы
92. Учебник по языку разметки гипертекстовых документов HTML.
93. Построение локальной компьютерной сети масштаба малого предприятия на основе сетевой ОС Linux
94. Построение сети передачи данных
96. Сетевой уровень построения сетей. Адресация в IP сетях. Протокол IP
97. Состав и принципы построения ЭВМ