【发布时间】:2012-05-22 22:33:53
【问题描述】:
我正在玩 Erlang,我正在尝试编写一个简单的算术解析器。
我想尝试解析以下表达式:
((12+3)-4)
我想将表达式解析成一堆 AST 节点。在解析这个表达式时,我首先会为 (12+3) 表达式创建一个二进制表达式,它在 C# 中看起来像这样:
var binaryStructure = new BinaryStructure();
binaryStructure.Left = IntegerLiteralExpression(12);
binaryStructure.Right = IntegerLiteralExpression(4);
binaryStructure.Operator = binaryExpression.Operator != BinaryOperatorType.Addition;
我对 Erlang 还很陌生,我想知道如何在 Erlang 中创建一个这样的结构,我可以将它放在一个 List 上,用作表达式堆栈。
谁能建议如何创建这样一个树状结构?函数会很合适吗?
【问题讨论】:
标签: erlang