Содержание
- 2. Лексический анализатор Синтаксический анализатор Семантический разбор и т.п. Исходная программа Таблица символов Токен запрос следующего Дерево
- 3. Токены, шаблоны, лексемы
- 4. Пример результирующего набора лексем 1. Лексема id («Идентификатор») с номером лексемы и таблицу с именами идентификаторов.
- 5. Пример обработки входного потока if distance >= speed * (endtime-starttime) then distance := distance – delta;
- 6. Простейший вариант конечного автомата
- 7. Атрибуты лексем Атрибуты – это способ хранения дополнительной информации о лексеме (например, конкретное значение константы, имя
- 8. Пример: bool c; int a=1,b=2; c = a>b>>2; Последний оператор порождает следующую последовательность лексем и их
- 9. Таблица представлений Место хранения экземпляров (по одному) всех внешних представлений идентификаторов (и, возможно, также для всех
- 10. Разработка лексера с Coco/R Coco/R использует метод рекурсивного спуска для анализа LL(1)-грамматик, т.е. грамматик, для которых
- 11. Грамматика Pascal для Coco/R COMPILER Pascal IGNORE CASE CHARACTERS eol = CHR(13) . letter = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
- 12. Разработка лексера с lex/Flex Инструмент для создания лексически анализаторов – Lex, состоящий из Lex-языка и Lex-компилятора.
- 13. Грамматика Pascal для lex %{ #include #include "y.tab.h" int line_no = 1; %} A [aA] B
- 14. {A}{N}{D} return(AND); {A}{R}{R}{A}{Y} return(ARRAY); {C}{A}{S}{E} return(CASE); {C}{O}{N}{S}{T} return(CONST); {D}{I}{V} return(DIV); {D}{O} return(DO); {D}{O}{W}{N}{T}{O} return(DOWNTO); {E}{L}{S}{E} return(ELSE);
- 15. ":=" return(ASSIGNMENT); '({NQUOTE}|'')+' return(CHARACTER_STRING); ":" return(COLON); "," return(COMMA); [0-9]+ return(DIGSEQ); "." return(DOT); ".." return(DOTDOT); "=" return(EQUAL);
- 16. "(*" | "{" { register int c; while ((c = input())) { if (c == '}')
- 17. while (1) { fix=i; switch(s[i]) { case '"': // Распознавание строковой константы ". . ." с
- 18. Подсчет числа слов и строк в файле /***************** Раздел определений *********************/ NODELIM [^" "\t\n] /* NODELIM
- 19. Специальные конструкции и функции Lex yytext – указатель на отождествленную цепочку символов, оканчивающуюся нулем; yyleng –
- 21. Скачать презентацию