![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 26.12.2012
Сообщений: 1
|
![]()
всем привет,
надо решить задачку на тему калькулятор из учебника страуструпа. вот постановка задачи: Для решения задачи за основу взять программу CALC2.CPP, реализующую транслятор и интерпретатор (вычислитель) арифметических выражений. Син-таксис арифметического выражения, реализованный в исходной программе: <expr> ::= <term> {(+|–)<term>} <term> ::= <prim> {(*|/)<prim>} <prim> ::= NUMBER | NAME [=<expr>] | - <expr> |+ <expr> | (<expr>) Здесь терминальные символы выделены полужирным шрифтом, нетерми-нальные – в угловых скобках “<” и “>”, символы “::=”, “{”, “}”, “(”, “)”, “[”, “]”, “|” являются метасимволами и не принадлежат определяемому языку (кроме круглых скобок, выделенных полужирным). сама задача: «Добавление массивов». Ввести возможность определения и использования линейных массивов. Для этого расширить синтаксис: <expr> ::= DIM NAME [<expr>] <prim> ::= NAME [<expr>][=<expr>] для определения массива и обращения к элементам массива. Реализовать эффективную древовидную структуру для операции определения массива и операции обращения к элементу массива. На этапе вычисления предусмот-реть возможность диагностирования ошибок «Слишком большой массив» и «Выход за границы массива». 1) дополнить token_value (добавить массивы - DIM) 2) изменить get_token (чтобы расползнавал массивы) 3) настроить синтаксис : <expr> ::= DIM NAME [<expr>] <prim> ::= NAME [<expr>][=<expr>] 4) порождение бинарного дерева (работа с массивами, и с элементами массива) 5) изменить eval исходник скину на мыло, кто возьмется |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Куплю код программы | Shtopor51 | Помощь студентам | 1 | 22.10.2011 15:06 |
Куплю код программы | Shtopor51 | Помощь студентам | 0 | 01.06.2011 01:16 |
Куплю решение! | vispik | Фриланс | 11 | 02.12.2008 06:11 |