- 主题:碰到一个难题了字符串转表达式
最早的YACC,自己搞一套语言,用YACC解释执行。
典型的Unix,Linux有一个bc,就是表达式计算。用管道送到bc去计算即可。
【 在 anything1999 的大作中提到: 】
: 程序里面有lambda表达式,这个表达式诸如y=3+x, 其中这个3+x部分想让用户输入,用户也可以输入3*x等,然后把用户输入的字符串转为表达式,以便后续计算,之前c#有第三方库,python之类的也有eval函数(这个可能还不太一样,我不需要立即求值),c++没有找到类似的功能或者库。
: 各位有什么思路
--
FROM 221.221.50.*
那就是一种解释性语言啊,用YACC搞一个函数,表达式计算函数。
【 在 anything1999 的大作中提到: 】
: 实际上不是求值的事情,而是把字符串变成表达式(lambda或者std::function),不是立即求值,而是运行时输入x进去再求表达式的值。比如3+x,运行时给出x=10,也可能给出100, 99都行。
: 不知道我讲明白没有。
--
FROM 221.221.48.*
搞过这种东西,有时为了解释简单,表达式会有一些自己的特定要求。
【 在 bihai 的大作中提到: 】
: 4年前用过,过了一个实战面试,花了三个多星期,是一个金融公司。问题就是大量表达式求值,有变量,最后累加到账户里。
:
--
FROM 221.221.48.*