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

Синтаксис математического выражения С++ - C++

Восстановить пароль Регистрация
 
Xfaider
11 / 11 / 1
Регистрация: 27.10.2012
Сообщений: 26
14.12.2013, 15:59     Синтаксис математического выражения С++ #1
Задание звучит так :
"Создать программу, анализирующую правильность записи арифметического выражения с точки зрения синтаксиса С++. Арифметическое выражение задается строковой переменной и вводится с клавиатуры компьютера."
Самое проблемное это ++ -- и сокращенные присваивания, ибо до этой задачи я даже не пытался компилировать такой ужас как:
C=a+++b;
C*=a/=a-=(a- --b);
C=--(a*=((++b)--));
Понимаю, что с точки зрения логики нет смысла печатать такую ересь, но задание есть задание, и это компилируется.
Есть какие-нибудь идеи по поводу алгоритма проверки данных операций?
Создаю в MS Visual C++ Express 2010;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gazlan
2859 / 1807 / 271
Регистрация: 27.08.2010
Сообщений: 4,891
Записей в блоге: 1
14.12.2013, 18:02     Синтаксис математического выражения С++ #2
expression
Xfaider
11 / 11 / 1
Регистрация: 27.10.2012
Сообщений: 26
15.12.2013, 18:54  [ТС]     Синтаксис математического выражения С++ #3
gazlan, Извините, но я не настолько еще умен, чтобы понять, что вы имели ввиду
gazlan
2859 / 1807 / 271
Регистрация: 27.08.2010
Сообщений: 4,891
Записей в блоге: 1
15.12.2013, 19:58     Синтаксис математического выражения С++ #4
Если вы получили такое задание, то, надо полагать, с формальными грамматиками уже знакомы. Я привел ссылку на грамматику C++ - посмотрите, как в ней определено выражение. Этот разбор вам и надо реализовать.

"++" и "--" - такие же лексемы, как и любые другие - и совершенно неважно, сколькими символами они записаны - это проблема лексического анализатора (и влегкую решается жадным алгоритмом).
Yandex
Объявления
15.12.2013, 19:58     Синтаксис математического выражения С++
Ответ Создать тему
Опции темы

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