解析方程 erlang

Parsing an equation erlang

最近在学习erlang,有一个疑问

我有一个这样的等式 (~(2+1))。 我想解析以完善符号?例如。{unaryMin{add,2,1}}

我该如何开始?

如果你想解析一些东西,从简单的公式到编程语言,你应该从学习 grammar, language and Compiler-compiler 开始。学习如何解析和 translate/interpret 一些东西到另一种格式是任何程序员的一项非常常见的任务(几乎所有东西都有一个 compiler/interpreter,甚至你的图像查看器、网络浏览器等......)所以它非常了解这些东西很重要。

对于 Erlang,LYSE 有一章是关于制作反向抛光符号计算器的 here, and for converting from an infix equation to a prefix/postfix one, you should read about Shunt-Yard algorithm。 Erlang 也有自己的 yacc 和 lex 版本:yecc, leex.