🗊Презентация Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6)

Нажмите для полного просмотра!
Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6), слайд №1Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6), слайд №2Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6), слайд №3Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6), слайд №4Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6), слайд №5Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6), слайд №6Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6), слайд №7Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6), слайд №8Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6), слайд №9Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6), слайд №10Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6), слайд №11Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6), слайд №12Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6), слайд №13Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6), слайд №14Генератор лексического анализатора и генератор синтаксического анализатора языков программирования. (Глава 6), слайд №15

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

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


Слайд 1





ГЛАВА 6
Генератор лексического  анализатора
Описание слайда:
ГЛАВА 6 Генератор лексического анализатора

Слайд 2





Архитектура
Описание слайда:
Архитектура

Слайд 3





Определение
Описание слайда:
Определение

Слайд 4





Секции
Описание слайда:
Секции

Слайд 5





Замечания
Описание слайда:
Замечания

Слайд 6





Секция подпрограмм
Описание слайда:
Секция подпрограмм

Слайд 7





ПРИМЕР
Описание слайда:
ПРИМЕР

Слайд 8





Полезные функции
char yytex – буфер в котором накапливается выделяемая процедура.
int yyleng – длина цепочки, которая находится в буфере.
FILE * yyin – из него читается информация
FILE * yyout – в него записывается информация
Функции обработки символов
int input() – читает информацию из yyin.
input (int) – помещает символ во входной поток.
output (int) – помещает символ в выходной поток.
yymore – следующее значение заносится в буфер yytext
yyless(n) – она возвращает последние n распознанных символов цепочки во входной поток.
ECHO – выводит распознанную цепочку в выходной поток.
REJECT – немедленный переход к следующему правилу без изменения YYTEXT.
Описание слайда:
Полезные функции char yytex – буфер в котором накапливается выделяемая процедура. int yyleng – длина цепочки, которая находится в буфере. FILE * yyin – из него читается информация FILE * yyout – в него записывается информация Функции обработки символов int input() – читает информацию из yyin. input (int) – помещает символ во входной поток. output (int) – помещает символ в выходной поток. yymore – следующее значение заносится в буфер yytext yyless(n) – она возвращает последние n распознанных символов цепочки во входной поток. ECHO – выводит распознанную цепочку в выходной поток. REJECT – немедленный переход к следующему правилу без изменения YYTEXT.

Слайд 9





Еще пример. Калькулятор
Описание слайда:
Еще пример. Калькулятор

Слайд 10





ГЕНЕРАТОР СИНТАКСИЧЕСКОГО АНАЛИЗАТОРА
ГЛАВА 6
Описание слайда:
ГЕНЕРАТОР СИНТАКСИЧЕСКОГО АНАЛИЗАТОРА ГЛАВА 6

Слайд 11





Yet Another Compiler Compiler
Описание слайда:
Yet Another Compiler Compiler

Слайд 12





Разрешение конфликтов
Если приоритеты альтернативных действий определены и различны, то выполняется действие с большим приоритетом.
Если приоритеты альтернативных действий определены и одинаковы, то в случае левой ассоциативности производится свёртка, а в случае правой – сдвиг. Если они не ассоциативны возбуждается ошибочная ситуация.
Если приоритеты хотя бы одной из действий не специфицированы, то в случае конфликтной свёртки-сдвига выполняется сдвиг, а в случае  конфликта свёртка-свёртка выполняется свёртка по правилу определённому выше по тексту в конкретной ситуации.
Также можно указать приоритет свёртки указав в конце правила директиву prec.
Описание слайда:
Разрешение конфликтов Если приоритеты альтернативных действий определены и различны, то выполняется действие с большим приоритетом. Если приоритеты альтернативных действий определены и одинаковы, то в случае левой ассоциативности производится свёртка, а в случае правой – сдвиг. Если они не ассоциативны возбуждается ошибочная ситуация. Если приоритеты хотя бы одной из действий не специфицированы, то в случае конфликтной свёртки-сдвига выполняется сдвиг, а в случае конфликта свёртка-свёртка выполняется свёртка по правилу определённому выше по тексту в конкретной ситуации. Также можно указать приоритет свёртки указав в конце правила директиву prec.

Слайд 13





Семантика
Описание слайда:
Семантика

Слайд 14





Пример. Калькулятор
Описание слайда:
Пример. Калькулятор

Слайд 15





Сборка
LEX и YACC вместе 
CC = gcc
CFLAGS = -Wall -O2
O_TARGET = calc
objs = yycalc.o llcalc.o
all_target	: $(objs)
	$(CC) -o$(O_TARGET)
Описание слайда:
Сборка LEX и YACC вместе CC = gcc CFLAGS = -Wall -O2 O_TARGET = calc objs = yycalc.o llcalc.o all_target : $(objs) $(CC) -o$(O_TARGET)



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