Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
rennnorb
9 / 9 / 6
Регистрация: 28.05.2014
Сообщений: 138
Завершенные тесты: 1
#1

Продолжаем писать маленький интерпретатор - C++

05.06.2014, 23:59. Просмотров 307. Ответов 1
Метки нет (Все метки)

Наконец то руки дошли дописать то что было тут : Маленький (команд на 10) интерпретатор на C++.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <vector>
#include <cstring>
using namespace std;
class command
{
    public:
    string name;
}comm[4];
void exe(int a,int in ,string ch)
{
    switch(a)
    {
        case 0:
        cout<<ch<<endl;
        break;
        case 1:
        cout<<in<<endl;
        break;
    }
}
int main()
{
    comm[0].name="TextOut";
    comm[1].name="NumOut";
    int i=1;
    string ch[10];
    int in[10];
    string type[10];
    for(; type[i-1]!="run"; i++)
    {
        cin>>type[i];
        if(type[i]=="TextOut")
        {
            cout<<"||";
            cin>>ch[i];
        }
        if(type[i]=="NumOut")
        {
            cout<<"||";
            cin>>in[i];
        }
    }
    cout<<"\033[2J"<<"\033[0;0f";//первое - очистка консоли, второе - возврат в верхний левый угол
    for(int a=0; a<i; a++)
        for(int b=0; b<3; b++)
        {
            if(type[a]==comm[b].name)
                exe(b, in[a], ch[a]);
        }
    return 0;
}
Теперь можно выводить текст и числа, но есть проблема : комманд (и переменных) всего десять. Можно увеличивать массивы (type, in и ch), но должен быть вариант лучше. Вроде есть векторы, но пользоваться ими я не очень умею. Следовательно вопрос - нужна либо хорощая и понятная статья про векторы, либо про динамические массивы (а еще лучше и то, и другое ), либо (если кому-то времени не жалко) усовершенствовать мой код.
http://www.cyberforum.ru/cpp-beginners/thread1191499.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2014, 23:59
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Продолжаем писать маленький интерпретатор (C++):

Продолжаем спасать мир)))
Помогите плз) чтобы получить итоговую нужно сдать 3 проги по С++. Сделать их...

Помогите писать на С++ через шаблоны. Консуле я писал, но надо писать исползуя шаблоны
В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1)...

Как лучше учиться: писать консольные приложения или оконные? И если писать оконные, то на чём лучше?
На днях я узнал про Borland c++ builder и хочу воспользоваться им, но можно и...

Интерпретатор на С++
Задание звучит так: Разработать язык программирования, позволяющий записывать и...

Интерпретатор
Почитал книгу по написанию компиляторов и интерпретаторов Dragon Book. На 90+...

1
Renji
2124 / 1483 / 453
Регистрация: 05.06.2014
Сообщений: 4,321
06.06.2014, 00:18 #2
Следовательно вопрос - нужна либо хорощая и понятная статья про векторы, либо про динамические массивы
Вектор value_type=массив value_type.
Создание пустого вектора: std::vector<value_type>my_vector;
Создание вектора размера start_size: std::vector<value_type>my_vector(start_size);
Изменение размера вектора на new_size - my_vector.resize(new_size); Деструкторы удаляемых в процессе элементов вызовутся сами собой.
Прицепить в конец вектора еще один элемент - my_vector.push_back(value);
Чтение n-го элемента вектора - my_vector[n].
Удаление вектора - само собой удалится, когда закончится секция кода с объявлением my_vector. Если очень надо руками, то my_vector.clear().
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2014, 00:18
Привет! Вот еще темы с решениями:

Интерпретатор c++ на c++
Такое задание дал препод. Из ресурсов дал одну темку на хабре, которая не очень...

Интерпретатор
Люди помогите написать ....ну очень нужно Написать программу, которая...

Написать интерпретатор
здравствуйте,ребята помогите написать интерпретатор на языке С++. у кого небудь...

Новый интерпретатор
Я написал интерпретатор выполняющий подобные коды ЦИКЛ 1 10 1 $ЗАПИСЬ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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