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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
baranka941
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 34
#1

Разработать интерпретатор с поддержкой определяемых пользователем функций - C++

25.01.2014, 19:40. Просмотров 302. Ответов 3
Метки нет (Все метки)

помогите пожалуйста мне нужно разработать интерпритатор с поддержкой определяемых пользователем функций. сам интерпритатор я написала а вот как написать с поддержкой определяемых пользователем функций не знаю. объясните хоть как можно это написать а дальше сама просто не понимаю как это релизовать
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2014, 19:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разработать интерпретатор с поддержкой определяемых пользователем функций (C++):

использование функции определяемых пользователем - C++
Ни как понять не могу как после создания функции пользователем , вызывать в нужный момент в блоке main(). даже код накидал но он...

Программа, которая использует три определяемых пользователем функции - C++
Помогите понять, что не так или...? Напишите программу на С++, которая использует три определяемых пользователем функции (включая...

Программа, которая использует три определяемых пользователем функции - C++
Только начал изучать C++ и столкнулся с такой вот задачкой: "Напишите программу, которая использует три определяемых пользователем...

Напишите программу, которая использует три определяемых пользователем функции (включая main ()) - C++
Напишите программу на C++, которая использует три определяемых пользователем функции (включая main ()) и генерирует следующий вывод: ...

Задание: разработать "Интерпретатор языка". С чего начать? - C++
Здравствуйте, вручили темку на курсовик, ну точнее как вручили, не успел взять то, что хотел - пришлось брать то, что осталось. Плоховато...

Разработать перегрузку функций - C++
Добрый вечер! Вот задание: Разработайте перегрузки функций, в которые передаются массивы типов int, char, float, что возвращают количество...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
somebdy
7 / 7 / 1
Регистрация: 30.04.2013
Сообщений: 25
25.01.2014, 23:33 #2
Вот смотри, допустим есть функция:
C++
1
2
3
int f(int a, int b) {
    <код>
}
Нам понадобится контейнер (массив например) в который нужно сохранить имя функции, тип возвращаемого значения, список параметров (аргументов), а также тело функции.
Можно эту информацию хранить так: [ {<имя>, <возвр. тип>, <параметры>, <код>}, ... ], где <код>, в свою очередь, также будет являтся контейнером.
Если у вас уже есть работающий интерпретатор, то выполнение <код>-а больших проблем составлять не должно.
Переметры это, по сути, объявление переменных.
С именем и типом думаю всё и так ясно. Имя будем искать в таблице при вызове функции, а тип нужен для возврата значения.

Перейдем к вызову функции.
C++
1
int c = f(1, 2);
Что нам необходимо сделать здесь? Нам нужно увидеть что мы присваиваем переменной c. значение функции f.
Идем в табличку функций, ищем необходимую функцию, сравниваем тип переменной и тип значения функции, и если они одинаковы, либо совместимы (например int и double), то переходим к выполнению тела функции, перед этим объявив переменные, являющиеся параметрами, и присвоив им переданные при вызове функции значения. Выполнив <код>, нам нужно сохранить результат функции в переменную c.

Примерно так я это вижу.
1
baranka941
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 34
26.01.2014, 16:41  [ТС] #3
ну в общем это так но не для курсача:-(

Добавлено через 6 минут
спасибо но это подходит только для интерпритатора си. а мой просто интерпритатор арифметических выражений
0
somebdy
7 / 7 / 1
Регистрация: 30.04.2013
Сообщений: 25
01.02.2014, 10:14 #4
Цитата Сообщение от baranka941 Посмотреть сообщение
спасибо но это подходит только для интерпритатора си. а мой просто интерпритатор арифметических выражений
Сишный код я просто для примера взял. Вот если бы увидеть пример работы вашего интерпретатора, то можно было бы и что-то поконкретнее подсказать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2014, 10:14
Привет! Вот еще темы с ответами:

Разработать библиотеку функций по условию - C++
а) создает и возвращает указатель на динамический массив, состоящий из последовательных цифр целого числа. Преобразуемое число...

Разработать программу создания динамического массива с использованием функций - C++
Разработать программу создания массива с использованием функций Элементы матрицы заполняются псевдослучайными числами. В программе...

Разработать программу, которая вычисляет факториал и состоит из функций - C++
я ее сделал но меня есть вопрос: 1. я сделал массив из ста элементов, а можно его сделать полностью динамический чтобы пользователь...

Разработать шаблон функций, позволяющий вводить координаты точек - C++
Разработать шаблон функций, который бы решал задачу для массива точек, координаты которых заданы целыми / действительными числами.Сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.02.2014, 10:14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru