![]() |
|
![]() ![]() ![]() |
|
AlexP11223 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 11.10.2011 Репутация: нет Всего: нет |
Подскажите что-нибудь по теме нахождения ошибок в тексте программы (языка Паскаль скорее всего). С чего начать и т.п.
т.е. мне надо написать программу, которая находит в тексте программы ошибки. Писать на Паскале или С++. |
|||
|
||||
Pavia |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: 11 Всего: 12 |
В качестве справочника советую книгу дракона.
Есть 2 подхода. 1. Рекурсивный парсер. Перебираешь грамматики с использованием ошибочных вариантов. Грамматика с ошибкой это либо отсутствие терминального символа либо не правильный терминальный символ. Грамматику при этом лучше описать на одном из языков описания грамматик такой как BNF и EBNF или свой подобный. 2.Второй вариант проверку грамматик делаешь ручками. Начинаешь от простого постепенно усложняя код. 1) Лексический анализ. 2) Разбор скобок. 3) Разбор приоритетов операторов. 4) Разбор строк разделенных точкой с запятой. 5) Разбор объявления переменных 6) Разбор объявления типов 7) Разбор выражений с учётом преобразованием типов. 8) Разбор условных переходов. 9) Разбор процедур. 10) разбор модулей программы. |
|||
|
||||
esperanto |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 194 Регистрация: 31.5.2003 Репутация: 2 Всего: 4 |
Я бы начал с формального определения ошибки.
А там и решение подоспеет --------------------
B.Sc ->M.Sc.->Microsoft SDE-> (Ph.D. student + Intel SDE + psyсhology B.A) - > Skype SDET |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |