公式和数学表达式解析器算法

Sha*_*hin 4 c# algorithm math

我必须编写一个能够解析公式的程序.它应该像下面这个例子一样工作:

输入:5x + 7 ^ sin(z)/ 2T + 44
输出:输入x,z,t的值
输入:
2,1,2输出:答案是:某事


它应该支持(+,*, - ,^,%,SIN,COS)
我读过这个页面关于Shunting-yard算法

而且我也知道如何将Infix表达式转换为后缀或前缀.
这是我的算法:

1 - 给出表达.
2 - 如果括号是平衡,则转到步骤3否则显示错误转到步骤1
3 - 查找除(SIN,COS)之外的所有变量
4 - 从输入
5中提供变量 - 替换变量
6 - 前缀表达式并计算它
7 - 显示导致输出和关闭程序

是对的吗 ?我想在C#中实现它.
请建议我任何注释可能对我有用.