Как преобразовать текст условия в условное выражение «если»? - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь написать в Visual C ++, чтобы преобразовать текст условия в простое условное выражение «если» с арифметическими операторами, круглыми скобками.

Например: text: "(((a + b)> 0) или (c == 10)) и (d! = E)) "или" (a> b) xor (c == d) "и т. Д ...

у нас обычно вc ++ style:

int a,b,c,d,e;
...
...    
char text[]="(((a+b)>0)or(c==10))and(d!=e))";
if(text_to_if(text)) { .... }
...
...

буквы a, b, c, d, e в тексте соответствуют существующим целочисленным или переменным числам.

1 Ответ

0 голосов
/ 27 января 2019

Обратите внимание, что C ++ не является интерпретируемым языком.Вы не можете изменить код, включая операторы if, во время выполнения.Если вы хотите выполнить оценку кода во время выполнения, вы можете попробовать JavaScript с его eval() функцией 1 .

В дальнейшем вы не сможете получить имена переменных из вашегокод (кроме случаев отладки).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...