Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > программа для проверки ошибок


Автор: DDT15051991 2.11.2006, 23:16
Программа: работает в консольном приложении, описание работы программы: вводим любой код на С++, нажимаем каку-то кнопку, программа проверяет наличие ошибок.Спасибо

Автор: nickless 2.11.2006, 23:54
g++ пойдет?
А вообще этим любой компилер занимается (например встроенный в любой IDE)

Edit: исправил gcc на g++

Автор: DDT15051991 3.11.2006, 13:32
А что такое g++, я занимаюсь только visual с++ 6.0, мне препод задал такую задачу, я вообще не представляю как такую смастерить на консольном приложении, да шоб она ещё и ошибки проверяла.

Автор: MAKCim 3.11.2006, 16:12
DDT15051991
При чем тут тогда UNIX? если работаешь с VS
Хотя если есть библиотека CygWin, то gcc/g++ там точно есть
gcc - в узком смысле GNU компилятор C
g++ - соответственно С++
Не знаю как в M$, но думаю там тоже можно создать процесс, запустить в нем приведенные выше программы и дать им на вход файл программы на С/С++

Автор: DDT15051991 5.11.2006, 19:59
UNIX тут совсем не причём просто случайно ошибся темой. Я только первый год занимаюсь Visual C++, так что если тебе не трудно , то можешь просто скопировать код на эту страничку, а то я совсем заблудился в gcc/g++.

Автор: MAKCim 6.11.2006, 10:33
Цитата

так что если тебе не трудно , то можешь просто скопировать код на эту страничку, а то я совсем заблудился в gcc/g++. 

какой код?

Автор: DDT15051991 6.11.2006, 22:25
Ну мне программа вышеперечисленная нужна. Вводишь в консольном приложении код на С++ и программа выдаёт количество ошибок.

Автор: MAKCim 6.11.2006, 22:55
DDT15051991
что издеваешься?
код компилятора тут выложить?
http://gcc.gnu.org

Автор: DDT15051991 7.11.2006, 22:21
Я не издеваюсь, не нужно выкладывать прямо уж весь компилятор. Я просто совсем не врубаюсь. Нужна программа, которая проверяет ошибки только в консольном приложении и не более, с учётом того, что я занимаюсь С++ только с сентября этого года и закончили мы на перегрузке операторов(уже пройдены темы: массивы->виртуальные функции->указатели->наследодвание.) Я прошу выложить код только по этому разделу.

Автор: JackYF 8.11.2006, 16:36
Ага, будто здесь все компиляторы писали! Это далеко не такая уж и легкая штука...
Если я неправ и кто-то писал - буду только рад.

Автор: powerfox 8.11.2006, 18:45
Если на то пошло, то нужен не компилятор ;) А проверка синтаксиса, в терминологии не силён, названия не помню.

Автор: Kuvaldis 8.11.2006, 18:53
DDT15051991, 
советую взять книжку "Шилдт. Справочник по С". ТАм последняя глава посвящена реализации интерпретатора С. Думаю, что тебе будет полезно.
В данной главе есть реализация синтаксического анализатора (имхо, намного проще, чем компиляторовидную программу делать)

Автор: likehood 8.11.2006, 18:54
DDT15051991, а ты уверен, что правильно понял задание? Уж больно круто, если вы только начали учить С++.

Автор: Daevaorn 8.11.2006, 20:00
А может просто программно вызвать cl.exe с опцией /Zs. stdout перенаправить в буффер. А потом проанализировать буффер на сигнатуры ошибки?

Автор: skyboy 8.11.2006, 20:36
Цитата(MAKCim @  3.11.2006,  15:12 Найти цитируемый пост)
Не знаю как в M$, но думаю там тоже можно создать процесс, запустить в нем приведенные выше программы и дать им на вход файл программы на С/С++

Цитата(Daevaorn @  8.11.2006,  19:00 Найти цитируемый пост)
А может просто программно вызвать cl.exe с опцией /Zs. stdout перенаправить в буффер. А потом проанализировать буффер на сигнатуры ошибки?

обращаю внимания автора на эти посты. мне кажется, реализация компилятора - не совсем то, чего хотел преподаватель smile

Автор: Kuvaldis 8.11.2006, 23:26
DDT15051991, 
Цитата

обращаю внимания автора на эти посты. мне кажется, реализация компилятора - не совсем то, чего хотел преподаватель

лучше уточни у препода, что он именно хочет.
Возможно, все сводится к банальной проверке сбалансированности скобок и похожим несложным действиям...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)