是否存在用于此符号转换/转换的现有算法?

Mr.*_*Boy 4 algorithm notation

系统具有将需要写像表达的符号(A+B)*C#MUL(#ADD(A,B),C).是否已有算法进行此类符号转换,以便用户可以更传统的方式输入?换句话说,一个从中缀转换的算法 - >我的符号.第一个问题是我不知道我的符号的确切名称......它类似于反向抛光但不完全相同.每个运算符都被编码为一个带参数的函数.

el.*_*ado 9

分流码算法可用于解析中缀符号.

  • @John,@ el.pescado:你真的不需要转换为AST.当通过堆栈运行RPN时,我们只需推回对应于我们需要的表达式的字符串,而不是向后推回结果.例如.4 2*5 + - >按4,2.现在,当你看到*时,弹出2,4并按下MUL(2,4).现在按5.当你看到+时,弹出5,MUL(2,4),结果是ADD(5,MUL(2,4)). (2认同)