Содержание
- 2. Назначение фазы лексического анализа Лексический анализ - разбиение входного потока на лексемы. • класс лексемы, определяющий
- 3. Необходимость фазы лексического анализа 1. Замена, цепочек символов, представляющих элементарные конструкции языка, делает внутренне представление программы
- 4. Транслитератор Устройство, осуществляющее сопоставление класса с каждым отдельным символом, называется транслитератором. Наиболее типичными классами символов являются:
- 5. Грамматики и распознаватели для лексического анализа Праволинейные грамматики - конечный автомат Построение конечного автомата можно осуществить
- 6. Построение конечного автомата, по диаграмме Вирта, без нетерминалов: 1. Вход входной дуги диаграммы преобразуется в начальное
- 7. идентификатор 0 0 буква Диаграмма Вирта буква буква 1 цифра буква 1 цифра прочие end end
- 8. идентификатор буква цифра 0 1 end Минимизированная диаграмма Вирта, задающая идентификатор. Трансляторы
- 9. Связь между диаграммами Вирта и праволинейными грамматиками. Преобразование правой рекурсии в итерацию A → x A
- 10. идентификатор $ идентификатор = буква бц . $ бц = буква бц | цифра бц |
- 11. Замена правой рекурсии на итерацию в диаграммах Вирта: ∙дуга, входящая в рекурсивно определяемый нетерминал, замыкается своим
- 12. A → x A → yA A y A => x y A x => A
- 13. идентификатор $ идентификатор = буква бц . $ бц = буква бц | цифра бц |
- 14. Связь между диаграммами Вирта и грамматиками с левой рекурсией. Преобразование левой рекурсии в итерацию Преобразования в
- 15. A → x A → Ay A x A A => x => A y =>
- 16. идентификатор $ идентификатор = буква | идентификатор буква | => идентификатор цифра. идентификатор буква цифра идентификатор
- 17. Методы лексического анализа Непрямой лексический анализ, или лексический анализ с возвратами, заключается в последовательной проверке версий
- 18. Входная лента a0 a1 … ai … an Старт Символ Лексема 1 Блок управления Распознаватель 1
- 19. К достоинствам непрямого лексического анализатора следует отнести: ∙прозрачность общей регулярной структуры, которая легко может изменяться и
- 20. Входная лента ai … aj … an Старт Символ Распознаватель 1 Арбитр Лексема 1 Отказ Символ
- 21. Входная лента a0 … Группа символов 1 Группа символов 2 ai … Старт Фрагмент 1 Не
- 22. Лексический анализатор демонстрационного языка программирования Содержание Транслитератор DPL. Непрямой лексический анализатор DPL. Прямой лексический анализатор DPL.
- 23. Общая организация транслитератора 1. Класс букв: прописные и строчные буквы латинского алфавита 2. Класс цифр: объединяет
- 24. tltLetter A B C D E F G H I J K L M N O
- 25. Разработка непрямого лексического анализатора Трансляторы
- 26. IsKwAbort a IsKwBegin b IsKwWrite w kwAbort b o r t kwBegin e g i n
- 27. kwAbort IsIdOrKw tltLetter _ tltLetter =>ndKw tltDiggit _ kwBegin … kwWrite lexId б) Семантическое выделение ключевых
- 28. IsEof lexEof tltEOF Примечание 1. Лексема, порождаемая при достижении конца обрабатываемого текста. kwAbort IsIdOrKw tltLetter _
- 29. IsFloat1 tltDiggit IsFloat2 tltDiggit Е + е - Е + е - lexFloat tltDiggit lexError _
- 30. IsFloat3 tltDiggit lexFloat tltDiggit lexError _ tltLetter IsFloat4 Е tltDiggit е + tltDiggit - lexFloat lexError
- 31. IsFloat5 lexFloat tltDiggit lexError _ tltLetter Примечание 3 . Пять вариантов правил для распознавания действительного числа
- 32. IsBinary { 0 2 } 1 lexInt lexError _ tltLetter 2 3 4 5 6 7
- 33. IsOctal { 8 } 0 1 2 3 4 5 6 7 lexInt lexError _ tltLetter
- 34. IsPrefDecimal lexInt { 1 0 } IsDecimal tltDigit tltDigit lexInt lexError lexError _ tltLetter _ tltLetter
- 35. IsHex { 1 6 } a b c d e f tltDigit A B C D
- 36. IsComment / * 1 Примечание 2 остальные lexComment * / lexError tltEOF 7. Под остальными понимаются
- 37. IsSlash IsStar IsSemicolon IsComma IsLftRndBr IsRghRndBr IsLftSqBr IsRghSqBr IsPercent lexSlash / * lexStar lexSemicolon ; ,
- 38. NextLexema IsEof IsIdOrKw IsFloat1 … IsFloat5 IsBinary IsOctal IsPrefDecimal IsDecimal IsHex IsComment IsSlash IsStar IsSemicolon IsComma
- 39. IsStar IsSemicolon IsComma IsLftRndBr IsRghRndBr IsLftSqBr IsRghSqBr IsPercent IsPlus IsAssign IsColon IsArrow IsMinus IsGE IsGT IsLE
- 40. Разработка прямого лексического анализатора Трансляторы
- 41. NextLexema tltEOF tltLetter _ tltSkip tltDiggit tltIgnore / { ; , * ( ) [ ]
- 42. lexPlus + lexColon : lexAssign = lexMinus - lexArrow > lexGT > lexGE = lexLT lexLE
- 43. kwAbort IsContinueIdOrKw tltLetter =>ndKw tltDiggit _ kwBegin … kwWrite lexId lexError IsNumber lexInt tltDiggit tltDiggit Е
- 44. IsSlashComment * 1 lexSlash 2 остальные lexComment * / lexError tltEOF Трансляторы
- 45. IsPrefNumber { 0 2 } lexError 1 lexInt lexError _ tltLetter 2 3 4 5 6
- 47. Скачать презентацию