0 / 0 / 1
Регистрация: 18.10.2011
Сообщений: 37
|
||||||
1 | ||||||
Калькулятор. Ввести возможность определения и использования структур (записей)20.10.2012, 11:53. Показов 930. Ответов 7
Метки нет (Все метки)
Собственно есть сделанная программма,реализующая "калькулятор"
Немогу теперь с ней сделать следущеее задание: «Добавление структур». Ввести возможность определения и использования структур (записей). Для этого расширить синтаксис: <expr> ::= RECORD TYPENAME (<field>{,<field>}) <field> ::= NAME <prim> ::= DEFVAR TYPENAME NAME | NAME.<field> для определения записей и обращения к полям записи. Реализовать эффек-тивную древовидную структуру для операции определения записи и опера-ции обращения к полю записи.
0
|
20.10.2012, 11:53 | |
Ответы с готовыми решениями:
7
Реализовать поиск элемента в массиве записей(структур) по заданному значению какого-либо свойства. Значение ввести с кла Возможность использования БД удалённо Возможность использования Java 8 в Android Возможность использования разных баз даннных |
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
|
|
20.10.2012, 12:42 | 2 |
вы калькулятор страуструпа пытаетесь довести до ума ?
0
|
0 / 0 / 1
Регистрация: 18.10.2011
Сообщений: 37
|
|
20.10.2012, 13:03 [ТС] | 3 |
именно)вот поставлена так задача была.нужно коем-то образом ее реализовать)
0
|
5056 / 3116 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
24.10.2012, 11:22 | 4 |
DeFeND, ну так что, собственно, вам не понятно?
0
|
0 / 0 / 1
Регистрация: 18.10.2011
Сообщений: 37
|
|
05.12.2012, 14:50 [ТС] | 5 |
silent_1991, совсем немогу разобраться(
0
|
5056 / 3116 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
05.12.2012, 15:16 | 6 |
DeFeND, как пробовали разбираться? И на каком этапе "разбирательств" возникают сложности?
0
|
0 / 0 / 1
Регистрация: 18.10.2011
Сообщений: 37
|
|
05.12.2012, 15:25 [ТС] | 7 |
silent_1991, В каком из разделов собственно ,нужно расширить синтаксис
0
|
5056 / 3116 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
05.12.2012, 15:43 | 8 |
DeFeND, ваш синтаксический анализатор основан на методе рекурсивного спуска. Метод этот замечателен тем, что, помимо лёгкости ручной реализации и "человечности" анализа (мы, когда анализируем какую-то информацию, тоже пытаемся разбить её на небольшие блоки и сова (рекурсивно) применить к каждому из них тот же метод), ещё и позволяет сопоставить с каждым нетерминалом функцию, а с каждым элементом цепочки вывода этого нетерминала - какие-либо элементарные действия: если элемент этот - терминал, то следует просто вытащить его из входного потока и сравнить фактический терминал с ожидаемым; если же это нетерминал - нужно применить с куску входного потока рекурсивный вызов обработчика этого нетерминала. Таким образом, мы естественным образом записываем грамматику на языке программирования.
У вас модификации в грамматике уже приведены. Таким образом, вам нужно модифицировать функции expr и prim и написать функцию field. Также вам надо модифицировать перечисление token_value, поскольку у вас теперь вводится возможность определять идентификаторы, а также функцию лексического анализатора get_token.
0
|
05.12.2012, 15:43 | |
05.12.2012, 15:43 | |
Помогаю со студенческими работами здесь
8
ADO - Возможность использования на разных ПК одну БД Возможность определения цвета любой точке на экране Возможность использования в проектах DLL, собранных средствами MS VS Объявления и определения структур Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |