Форум программистов, компьютерный форум CyberForum.ru

Семантический анализтор - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка операции [][] для класса Матрица http://www.cyberforum.ru/cpp/thread220677.html
Добрый день. Возможно, кто нить знает, как правильно перегрузить операцию для класса Матрица. Класс описан так class matrix { private: float **matr; //матрица int n;
C++ Рисуем граф на mfc Кто знает как рисовать линии со стрелками. Суть такова я с файл считываю матрцу смежности, и на основе ее соеденяю соответствующие вершинки. Но так как у меня граф ореентированый мне нужно указать стрелкаой направление. Как это сделать?? http://www.cyberforum.ru/cpp/thread220619.html
Нужно переделать код C++
нужно переделать код на delphi....так как в си я ничего не смыслю :( помогите плиииззззз /Разместить на шахматной доске максимальное количество слонов и ладей //так, чтобы они не находились друг у друга " под боем" . #include <stdio.h> #include <conio.h> #include <dos.h> char b;
C++ Создание нового класса
Доброго времени суток!! Задание: 1. Определить пользовательский класс "компьютер". 2. Определить в классе следующие конструкторы: без параметров, с параметрами, копирования. 3. Определить в классе деструктор. 4. Определить в классе компоненты-функции для просмотра и установки полей данных. 7. Написать демонстрационную программу, в которой создаются и разрушаются объекты пользовательского...
C++ Как создать? http://www.cyberforum.ru/cpp/thread220361.html
Как создать чтобы при запуске появлялось окно и в нем была картинка (приблизительно как внизу) нажимаешь на пуск работала программа нажимаешь на выход выходил из программы. Помогите срочно надо... Заранее большое спасибо
C++ нужно написать програмки.... Пожалуйста помогите разобраться с программами на С++, завтра зачёт, а я всё сдал, осталось только С++, а в неё вообще ничего не знаю.....(((((....... Вариант № 1.8 Составить программу для вычисления функции y=f(x), графическое представление которой приведено на рисунке. Аргумент функции и ее значение – вещественные. Значение аргумента ввести с клавиатуры. На экран вывести значение аргумента и... подробнее

Показать сообщение отдельно
EVP
319 / 241 / 43
Регистрация: 14.12.2010
Сообщений: 461
26.12.2010, 23:50     Семантический анализтор
После лексического и синтаксического анализаторов получаем на выходе абстрактное синтаксическое дерево (AST). Но в нём могут содержаться неправильные семантические выражения. В задачи семантического анализатора входит проверка и восстановление необходимой информации для последующих стадий обработки. Проверка имен идентификаторов и функций в соответствующих областях видимости, соответствия типов - всё это задачи семантического анализатора. Обычно, это третья фаза обработки исходного кода программы.

В твоём случае требуется восстановить лишь тип идентификатора (скорее всего переменной) по готовому синтаксическому дереву. Все бинарные операции разрешаются согласно правилам приведения типов (к большему типу), что на выходе даёт некоторый результирующий тип операции. Пробегая по всему синтаксическому дереву выражения, получаешь результирующий тип выражения. Присваивая значение выражения переменной, можно сравнить результирующий тип выражения с типом переменной (если он был задан) или восстановить тип переменной для дальнейшего анализа.

В задании сказано, грамматика арифметических выражений, но введены массивы (операция[]), структуры (операции '.' и '->'), что побочно ставит задачу учёта и имён идентификаторов переменных и их типов в семантическом анализаторе Ещё бы функции ввести, и тогда бы добавились области видимости переменных и перегрузки А так, одна область видимости и конкретное дерево выражения.

Может пригодится intuit.ru.
 
Текущее время: 16:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru