Анализатор выражений
|
|
Demeron | Дата: Понедельник, 22 Августа 2011, 22:16 | Сообщение # 1 |
User created in C++
Сейчас нет на сайте
| Здравствуйте. Объясню коротко: Захотелось сделать движок и я его сделал (GEGE). Но наступила проблема: работает только под MVS, а она есть не у всех, да и под другие ЯП (не все же на C++) писать мало того что лень, так еще и не знаю как. Вот у меня и возникла идея сделать что-то типо своего конструктора, на основе движка. Вот за сегодня я состряпал что-то похожее на анализатор команд (решение простых уравнений типо 100-69*6/2).
Собственно вопрос: 1) Ничего так для начала? (сделал за час или полтора) 2) Будет ли кому-нибудь нужен простой скриптовый движок для создания 2D игр?
Скачать мой анализатор команд можно ТУТ!
|
|
| |
мотоблох | Дата: Понедельник, 22 Августа 2011, 22:23 | Сообщение # 2 |
Придворный программист
Сейчас нет на сайте
| 1. Наверное. Я бы не смог 2. ДА!
|
|
| |
|
Demeron | Дата: Вторник, 23 Августа 2011, 11:30 | Сообщение # 4 |
User created in C++
Сейчас нет на сайте
| up. Что? Только 2 высказались и всё?
|
|
| |
Angus | Дата: Вторник, 23 Августа 2011, 15:45 | Сообщение # 5 |
MS Visual C#
Сейчас нет на сайте
| Само то что ты что-то написал, это уже + 1) Не скачивал(т.к инет тупит) 2) ДУмаю да, некоторым нужно будет
Учу PHP and Python
|
|
| |
Demeron | Дата: Вторник, 23 Августа 2011, 16:03 | Сообщение # 6 |
User created in C++
Сейчас нет на сайте
| Quote (Angus) 1) Не скачивал(т.к инет тупит) А зря... Тем более файл весит ~4кб.
|
|
| |
Rumata | Дата: Вторник, 23 Августа 2011, 16:28 | Сообщение # 7 |
почетный гость
Сейчас нет на сайте
| Ввёл 10+2/2*4, получил 6. Каким таким образом? Если считать по порядку действий, получаем 2/2=1, 1*4=4, 10+4=14
|
|
| |
Йакуд | Дата: Вторник, 23 Августа 2011, 16:45 | Сообщение # 8 |
участник
Сейчас нет на сайте
| Самое простое выражение 2+2*2; Говорит 8. Но мне что-то так не кажется!)) Расставь приоритеты на выполнение математических операций. Сначала обрабатываются выражения в скобках, затем, умножение и деление и т.д...
"Хороший художник – копирует, гениальный – ворует!" — Pablo Picasso .blanco 2.0
|
|
| |
Demeron | Дата: Вторник, 23 Августа 2011, 16:54 | Сообщение # 9 |
User created in C++
Сейчас нет на сайте
| Rumata, считает по порядку, то есть как говорит Йакуд 2+2*2 будет 8. Йакуд, позже расставлю...
|
|
| |
noTformaT | Дата: Вторник, 23 Августа 2011, 16:55 | Сообщение # 10 |
Ukrainian independent game developer
Сейчас нет на сайте
| Demeron, ты не использовал полиз?
@noTformaT
|
|
| |
Demeron | Дата: Вторник, 23 Августа 2011, 16:57 | Сообщение # 11 |
User created in C++
Сейчас нет на сайте
| Quote (noTformaT) Demeron, ты не использовал полиз? Нет. Я даже не знаю что это такое)
|
|
| |
noTformaT | Дата: Вторник, 23 Августа 2011, 16:59 | Сообщение # 12 |
Ukrainian independent game developer
Сейчас нет на сайте
|
@noTformaT
Сообщение отредактировал noTformaT - Вторник, 23 Августа 2011, 17:00 |
|
| |
Demeron | Дата: Вторник, 23 Августа 2011, 17:00 | Сообщение # 13 |
User created in C++
Сейчас нет на сайте
| Разобрался что это такое, но думаю он мне пока что не нужен...
|
|
| |
noTformaT | Дата: Вторник, 23 Августа 2011, 17:02 | Сообщение # 14 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (Demeron) Разобрался что это такое, но думаю он мне пока что не нужен... будешь обычными ифами расматривать приоритет операций?
@noTformaT
|
|
| |
Demeron | Дата: Вторник, 23 Августа 2011, 17:07 | Сообщение # 15 |
User created in C++
Сейчас нет на сайте
| Quote (noTformaT) будешь обычными ифами расматривать приоритет операций? Моя цель не сделать нормальный калькулятор, а сделать анализ текста, попутно его выполнив. В конце-концов хочу сделать что-то такое: Code $myvar; $pos; set(pos,vector); myvar="Hello World"; msg("Caption",myvar);
begin.MainFunc if (GetKeyState(VK_LEFT)) {pos.x-=1;} if (GetKeyState(VK_DOWN)) {pos.y+=1;} end;
run_app(MainFunc);
|
|
| |
noTformaT | Дата: Вторник, 23 Августа 2011, 17:15 | Сообщение # 16 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (Demeron) сделать анализ текста, попутно его выполнив. В конце-концов хочу сделать что-то такое: ммм, я хз что ты за код привел, а не легче в двигу присобачить любой скриптовый интерпретатор (питон, луа, перл, тцл и т.д), чем изобретать велосипед ?
@noTformaT
|
|
| |
Demeron | Дата: Вторник, 23 Августа 2011, 17:28 | Сообщение # 17 |
User created in C++
Сейчас нет на сайте
| Quote (noTformaT) я хз что ты за код привел типо будущий язык) Quote (noTformaT) а не легче в двигу присобачить любой скриптовый интерпретатор (питон, луа, перл, тцл и т.д), чем изобретать велосипед ? легче... я может так и сделаю если надоест или если ничего не получится.
|
|
| |
Rumata | Дата: Вторник, 23 Августа 2011, 17:31 | Сообщение # 18 |
почетный гость
Сейчас нет на сайте
| Demeron, я рассматривал вариант, что он считает по порядку, но ведь при 10+2/2*4, получаем 10+2=12, 12/2=6, 6*4=24, а не 6 (скажите, если я не прав)! Я, разумеется, понимаю, что конечная цель - не калькулятор, но хотелось бы, чтобы арифметические операции выполнялись без ошибок)
|
|
| |
Demeron | Дата: Вторник, 23 Августа 2011, 17:41 | Сообщение # 19 |
User created in C++
Сейчас нет на сайте
| Rumata, ты в конце знак ';' поставил? Если нет - то поставь и увидишь результат.
|
|
| |
Apati | Дата: Вторник, 23 Августа 2011, 17:54 | Сообщение # 20 |
заслуженный участник
Сейчас нет на сайте
| Quote (Demeron) 1) Ничего так для начала? (сделал за час или полтора) 2) Будет ли кому-нибудь нужен простой скриптовый движок для создания 2D игр? 1) Для начала это плохо. У тебя даже приоритета операций нет. 2) Мне хватает и Lua.
|
|
| |