1 | |
Наличие синтаксического и семантического анализаторов в компиляторе02.09.2015, 20:05. Показов 1042. Ответов 6
Метки нет (Все метки)
Добрый день, объясните пожалуйста, для чего нужны синтаксический и семантический анализаторы в структуре компилятора? Привидите примеры.
0
|
02.09.2015, 20:05 | |
Ответы с готовыми решениями:
6
Взаимодействие лексического и синтаксического анализаторов в структуре компилятора Подойдет ли Delphi для написания программы синтаксического и семантического анализа форума? Насчет анализаторов типа промолаб Принципы построения анализаторов качества молока |
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
03.09.2015, 03:34 | 2 |
Ferrari F1,
1
|
03.09.2015, 17:46 [ТС] | 3 |
Mikl___, можно попросить Вас ответить на вопрос так, как если бы Вам задал этот вопрос преподаватель в ВУЗе.
Я не собираюсь разрабатывать компилятор, я бы хотел лишь услышать краткий ответ.
0
|
04.09.2015, 10:03 | 4 |
1
|
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,047
|
|
05.09.2015, 01:26 | 5 |
Для получения ответов на эти вопросы задумывались книги, которые тебе порекомендовали. Там ты ответы и найдешь.
1
|
05.09.2015, 07:31 [ТС] | 6 |
У нас была всего лишь одна единственная лекция (последняя в семестре, заканчивал 1-ый курс) по ЯП в универе, на которой нам прочли краткое введение в структуру компилятора (т.е. все было рассказано очень поверхностно). Рассказали, что такое синтаксический, семантический анализатор.
Я не прошу объяснять мне все очень детально, лишь в двух словах рассказать: 1) Для чего нужен синтаксический анализатор в компиляторе 2) Для чего нужен семантический анализатор в компиляторе Не буду же я ради одной лекции читать целые тома книг, т.к. нас всего лишь знакомили с понятием компилятора и его структурой.
0
|
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,047
|
|
05.09.2015, 12:27 | 7 |
Да тебе бы и ответили бы, наверное, но
"Приведите примеры" в твоем первом сообщении резко изменило отношение к твоему вопросу. Одно дело просто спросить. Другое - использовать повелительное наклонение в вопросе. На повелительное наклонение первая и непосредственная реакция "дитынах". Добавлено через 12 минут Синтаксис - это формальные правила грамматики. Ну точно как в русском языке. Проверить синтаксис - это как в школьном сочинении проверить правильно ли расставлены запятые. Не обращая внимания на смысл написанного. В компиляторе задача синтаксического анализатора заорать в сторону программиста по поводу формальных грамматических ошибок и на этом закончить компиляцию. Пусть исправляет. Ибо если формальная грамматика языка программирования не соблюдена, то и нечего искать в написанном смысл. Семантика - это от слова смысл. Анализ семантики - это анализ смысла написанного. Начинается только если синтаксически все верно. И делается для того, чтобы порождать машинный код согласно смыслу написанного. Создатели компиляторов таким высоким понятием как "семантический анализ" не мыслят. Это чисто теоретическое понятие. Они как-то пишут компиляторы без таких высоких слов. А вот анализ синтаксиса - это нечто весьма практическое. Ибо если формальные правила грамматики языка не соблюдены, то нечего дальше компилировать. Надо уже об ошибке кричать. Добавлено через 11 минут Задача разбора смысла написанного синтаксически некорректно практически нерешаема, потому-что будет уже уровня искусственного интеллекта. Это человек может легко допереть "да у тебя тут запятая пропущена, а в остальном все верно". А написать программу, которая умела бы так допирать архисложно. Поэтому задуча упрощается - сначала проверяется синтаксис и только при безупречном синтаксисе ищется семантика в написанном. Добавлено через 4 минуты Но я книжек про компиляторы не читал. Вот писать компиляторы приходилось. Вообще, у теоретиков всегда может быть чуть иное мнение, чем у практиков. Теоретики - они такие теоретики. Поэтому не факт, что то, что я думаю - это есть то, что думает твой преподаватель.
2
|
05.09.2015, 12:27 | |
05.09.2015, 12:27 | |
Помогаю со студенческими работами здесь
7
Скоростной промежуточный кеш для лог. анализаторов. Построение лексического анализатора с использованием генератора лексических анализаторов Lex Создание семантического ядра Составление семантического ядра Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |