53 / 7 / 1
Регистрация: 06.10.2020
Сообщений: 221
1

Небольшой язык программирования

30.08.2022, 10:42. Показов 805. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Этот язык программирования довольно простой, немного похож на ассемблер и является интерпретируемым. Но функции я решил пока не реализовывать. Там будет 16 регистров, поделённых на 4 группы (целочисленные, логические, с плавающей запятой и строковые). Также я решил там использовать map с указателями на функции (чтобы было проще добавлять функции).
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream>
#include <fstream>
#include <string>
#include <map>
using namespace std;
 
//массив указателей на функции
map<string, void(*)()> func;
 
//Регистры (целочисленные, логические, с плавающей запятой, строковые)
int RegInt[4] = {0,0,0,0};
bool RegBool[4] = { false,false,false,false };
double RegDouble[4] = { 0.0,0.0,0.0,0.0 };
string RegString[4] = { "","","","" };
 
//строка, хранящая в себе команду
string command = "";
//переменная, хранящая номер строки
unsigned int number = 0;
//условие для выхода из цикла
bool exit_program = false;
 
//Все функции в языке программирования (Можно легко добавлять при помощи массива функций)
void _add_() { cout << "add" << endl; }
void _sub_() { cout << "sub" << endl; }
void _mul_() { cout << "mul" << endl; }
void _dvs_() { cout << "dvs" << endl; }
void _mdvs_() { cout << "mdvs" << endl; }
void _copy_() { cout << "copy" << endl; }
 
void _and_() { cout << "and" << endl; }
void _or_() { cout << "or" << endl; }
void _xor_() { cout << "xor" << endl; }
void _not_() { cout << "not" << endl; }
 
void _swap_() { cout << "swap" << endl; }
void _set_() { cout << "set" << endl; }
void _clear_() { cout << "clear" << endl; }
void _input_() { cout << "input" << endl; }
void _output_() { cout << "output" << endl; }
void _goto_() { cout << "goto" << endl; }
 
void _if_() { cout << "if" << endl; }
void _else_() { cout << "else" << endl; }
void _loop_() { cout << "loop" << endl; }
void _start_() { cout << "start" << endl; }
void _exit_() { exit_program = true; }
 
int main()
{
    setlocale(0, "RU_ru");
    //инициализация массива функций
    func["add"] = _add_; func["sub"] = _sub_; func["mul"] = _mul_; func["dvs"] = _dvs_;
    func["mdvs"] = _mdvs_; func["copy"] = _copy_; func["and"] = _and_; func["or"] = _or_;
    func["xor"] = _xor_; func["not"] = _not_; func["swap"] = _swap_; func["set"] = _set_;
    func["clear"] = _clear_; func["input"] = _input_; func["output"] = _output_; func["goto"] = _goto_;
    func["if"] = _if_; func["loop"] = _loop_; func["start"] = _start_; func["exit"] = _exit_;
    func["else"] = _else_;
 
    while (!exit_program)
    {
        cin >> command;
        if (func.find(command) != func.end()) {
            func[command]();
                        number++;
        }
        else
        {
            cout << "Error command\n";
        }
    }
}
После реализации основных функций я буду работать над динамической памятью (в языке можно будет использовать свои переменные). Как думаете, что туда ещё можно добавить?
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.08.2022, 10:42
Ответы с готовыми решениями:

Какой язык программирования лучше всего выбрать для бизнеса С+ С++?
какой язык программирования лучше всего выбрать для бизнеса с+ с++?

Как называется движение программирования или теория программы считывающая др. язык программирования
Не знал, как по другому задать вопрос, и также назвать тему, но буду краток: Допустим я хочу...

Есть ли вообще аналогичные языки программирования только с уровнем изучения легкий чем язык программирования С
Язык программирования С очень сложный есть ли вообще аналогичный язык программирования только...

Новые ЯП: существует ли язык программирования лучше чем C++, а если нет, то появится ли через 2-3 года такой язык?
Привет, зашёл на сайт, увидел C++ и подумал: Существует ли ЯП лучше чем C++, или появится ли через...

0
30.08.2022, 10:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.08.2022, 10:42
Помогаю со студенческими работами здесь

Небольшой транслятор на язык C++. Подкиньте идей
Сейчас начал делать транслятор, сделал его буквально за 5 минут. Закончились идеи, что добавить...

Язык программирования
Добрый день. Учусть в институте на 2 курсе. На первом курсе изучал язык с++ и с#, основы. Теперь у...

Язык программирования С++
Доброго времени суток, Уважаемые Форумчане! Я учусь в БГУИР на инженер-программиста (Минск). И...

Что за язык программирования?
Доброго времени суток!Не подскажете господа,что за язык программирования на этой картинке? ...

Язык программирования компилятора в C++
Добрый день! Разглядывая новые возможности С++11 (С++14) и читая статьи, посвященные шаблонам, мне...

Основы программирования язык С
Здравствуйте, у меня такая проблема, необходимо писать программы в turbo c запускаю через...

скачать язык программирования С
где я могу скачать язык программирования С


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru