Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Рисуем граф на mfc https://www.cyberforum.ru/ cpp/ thread220619.html
Кто знает как рисовать линии со стрелками. Суть такова я с файл считываю матрцу смежности, и на основе ее соеденяю соответствующие вершинки. Но так как у меня граф ореентированый мне нужно указать...
нужно написать програмки.... C++
Пожалуйста помогите разобраться с программами на С++, завтра зачёт, а я всё сдал, осталось только С++, а в неё вообще ничего не знаю.....(((((....... Вариант № 1.8 Составить программу для...
C++ Кэш.Функции Многократно вызываемая функция может запоминать результаты последнего вычисления и если то что требуется она уже делала - то не пересчитывать еще раз, а выдать из ранее посчитанного? Это означает... https://www.cyberforum.ru/ cpp/ thread220248.html C++ Ошибка сегментации при освобождении памяти Вот в упор не понимаю, почему программа вылетает уже на завершающем этапе. Пожалуйста, посмотрите, что не так // для тестирования #include <iostream> #include "vbytearray.h" using namespace... https://www.cyberforum.ru/ cpp/ thread220146.html
C++ C++ Builder6
Текс т в файле: "Если душа родилась крылатой- Что ей хоромы- и что ей хаты" Используя функции обработки строковых и символьных переменных, соединить обе строки и выделить подстроку заключённую...
C++ IPconfig в С++ https://www.cyberforum.ru/ cpp/ thread219889.html
нужна информация протокол IPconfig в С++ пути реализации + мне надо что был там исходник чтобы увидеть как обращаеться
C++ Сделайте программу на C или C++ пожалуйста!! Написать программу, которая вычисляет среднее арифметическое элементов, находящихся на побочной диагонали двумерного массива и заменяет результатом элементы, располагающиеся ниже главной... https://www.cyberforum.ru/ cpp/ thread219868.html Распараллелить с использованием MPICH на Visual C++ C++
вот есть реально работающий код на Maple > restart; > a := 6; b := 6; q := 20; n := 4; U := 10; > Summ := 0; Summ1 := 0; > for i to n+1 do for j to n+1 do x := i*a/(n+1); y :=...
C++ Распознавание речи(+ команд) https://www.cyberforum.ru/ cpp/ thread219615.html
привет!!) вопрос такой - при помощи чего можно распознавать речь, какие есть варианты?? интересует реализация прежде всего кроссплатформенная, может есть какие-нить библиотеки наподобия OPEN CV.......
C++ din Дана матрица А(4,4) 1. Найти сумму отрицательных элементов, лежащих под побочной диагональю 2. Найти минимальный элемент среди положительных элементов 1-го столбца 3. Поменять местами минимальный... https://www.cyberforum.ru/ cpp/ thread219544.html
Шифровка табличной заменой C++
Один из простейших способов шифровки текста состоит в том, что каждой букве алфавита ставится в соответствие другая буква (её шифр), выбор которой произволен. Составить шифровальную таблицу....
C++ Ищу человека который объяснит Люди добрые помогите пожалуйста. Дали задание написать прогу (не трудная) последний раз этим занимался в институте 8 лет назад сейчас читаю..вспоминаю. но время поджимает.....если кто поможет бюуду... https://www.cyberforum.ru/ cpp/ thread219082.html
510 / 272 / 60
Регистрация: 14.12.2010
Сообщений: 548
26.12.2010, 23:50 0

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

26.12.2010, 23:50. Показов 3947. Ответов 7
Метки (Все метки)

Ответ

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

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

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

Может пригодится intuit.ru.

Вернуться к обсуждению:
Семантический анализтор C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.12.2010, 23:50
Готовые ответы и решения:

Лексический и семантический анализ
Мне надо сделать лексический и семантический анализ программу в C++ Builder ПОМОГИТЕ ПОЖАЛУЙСТА

Синтаксический и семантический анализ во Flex и Bison
Здравствуйте) помогите пожалуйста написать анализ на C++ чтобы потом перевести его во Flex и...

С чего начать семантический анализ текста?
Начинаю разбираться в семантическом анализе теста(естественный язык) с помощью программирования (в...

Семантический вопрос... как называется язык-то?
По моему правильно и разумно оформлять большие куски кода в классы в стиле с++, всё...

7
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2010, 23:50
Помогаю со студенческими работами здесь

Семантический анализатор
Пишу диплом, который связан с семантическим анализом. Уже много литературы изучил, но, по-существу,...

Семантический анализ
Подскажите пожалуйста как сделать семантический анализ строк на русском языке и определить степень...

Синтаксический и семантический анализ выражения
Помогите исправить ошибки в программе. На TurboProloge запускается, а на Visual нет. Добавлено...

Синтаксический и семантический анализ арифметического выражения
Здравствуйте. Имею задание: Написать программу, которая будет выполнять синтаксический и...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru