Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Saimon64
1 / 1 / 0
Регистрация: 22.04.2012
Сообщений: 17
1

Синтаксический анализатор

11.04.2013, 11:38. Просмотров 1313. Ответов 0
Метки нет (Все метки)

Нам дали задание по Молчанову, написать лексический и синтаксический анализатор, мне выпал цикл for. Лексический анализатор я написал, да и синтаксический по факту тоже, только я строил синтаксический анализатор идя напролом. То есть писал я через оператор условия if, примерно это выглядит так "если первое слово "for" а второе слово "(" а третье слово переменная .... (итд)... то выдать сообщение "Ошибок нет", иначе "ошибка"". Выглядит этот ужас вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall TForm1::Button2Click(TObject *Sender)
{
   if ((sg1->Cells [2][1] == "1") && (sg1->Cells [2][2] == "3") && (sg1->Cells [2][3] == "10")
   && (sg1->Cells [2][4] == "5") && (sg1->Cells [2][5] == "10") && (sg1->Cells [2][6] == "6")
   || (sg1->Cells [2][6] == "7") || (sg1->Cells [2][6] == "8") && (sg1->Cells [2][7] == "10")
   || (sg1->Cells [2][7] == "11") && (sg1->Cells[2][8] == "5") && (sg1->Cells [2][9] == "10")
   && (sg1->Cells [2][10] == "4")&& (sg1->Cells [2][11] == "2") && (sg1->Cells [2][12] == "10")
   && (sg1->Cells [2][13] == "9") && (sg1->Cells [2][14] == "10") || (sg1->Cells [2][14] == "11"))
   {
   ShowMessage ("Ошибок не найдено");
   }
   else
   {
   ShowMessage ("Ошибка");
   }
}
Здесь цифры в кавычках это условное обозначение лексемы, взятые из StringGrid, в который они попали при работе лексического анализатора. Вот у меня и возник вопрос есть ли способ попроще. И второй вопрос, как должно выглядеть дерево вывода строки for ( a ; a < b ; c ) do a := d ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2013, 11:38
Ответы с готовыми решениями:

Turbo C++ Синтаксический анализатор
Всем привет:) Дали значит мне задание написать синтаксический анализатор. Нужно написать...

Построить синтаксический анализатор для определяемого в словаре понятия формулировка-задачи
Для описания понятия формулировка-задачи мы снова используем грамматику: формулировка-задачи...

Простейший синтаксический анализ кода
В поле Memo или RichEdit мы загружаем текст самого простого кода С++. Мне нужно написать програмный...

Лексический анализатор
есть задание: в принципе, трудностей, как его реализовывать, нет. считываем слово, сравниваем...

Програма анализатор
Написать программу-анализатор, программа должна показывать пользователю случайную загадку,...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2013, 11:38

Анализатор С++ кода
Доброго времени суток. Задача - разработать анализатор исходного кода на языках С++ с выявлением...

Лексический анализатор
Может есть у кого то исходник программы для анализа входящей языка(любого) Очень нужен пример Найти...

Статический анализатор кода
Всем доброго времени суток! Мне поставлена задача, написать статический анализатор кода для MPI....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru