Calculator from "Programming: Principles and Practice Using C++" by @BjarneStroustrup
Основано на калькуляторе из книги Бьярне Страуструпа "Программирование: принципы и практика с использованием C++", упражнения в конце главы 7.
Эта программа реализует основные выражения калькулятора.
Ввод осуществляется из потока cin; вывод - в потом cout.
Грамматика для ввода:
Вычисление:
Инструкция
Вывод
Выход
Вычисление Инструкция
Инструкция:
Объявление
Объявление_константы
Выражение
Объявление:
let Имя = Выражение
# Имя = Выражение
Объявление константы:
const Имя = Выражение
Вывод:
;
Выход:
quit
exit
Выражение:
Терм
Выражение + Терм
Выражение - Терм
Терм:
Первичное_выражение
Терм * Первичное_выражение
Терм / Первичное_выражение
Терм % Первичное_выражение
Первичное_выражение:
Число
( Выражение )
- Первичное_выражение
+ Первичное_выражение
Имя
sqrt ( Выражение )
pow ( Выражение , Выражение )
Имя = Выражение
Число:
Литерал_с_плавающей_точкой
Имя:
Литерал_из_букв_цифр_и_подчёркивания_начинающийся_с_буквы
Ввод из потока cin через Token_stream с именем ts.