您将如何处理以下字符串:
[p('WHITE'),p('GREEN'),p('GREEN','RED'),p('GREEN','YELLOW'),p('GREEN','YELLOW','RED')]
获取答案中建议的节点列表。
答案 0 :(得分:4)
这取决于表达式的复杂程度。我肯定会为它编写一个合适的解析器,因为只有这样我才能确信它能够正确地完成它。另外,我将字符串解析为一个抽象语法树,以便最后我将自动建立一个很好建模的对象树:
class Node { ... }
class StringLiteral extends Node {
public String getValue() { ... }
}
class Term extends Node {
public String getName() { ... }
public int getArity() { ... }
public Node getArgument(int index) { ... }
}