我是Scala的新手,我正在尝试将其应用于可以看作树的递归结构中。主要问题是不是二叉树。语法看起来像这样:
<Tree> := <Node> {"[" {<Tree>}+ "]"}?
Node是一个文字。问题是我不知道如何使用Scala组合器解析器制作这种递归上下文自由语法,我甚至不知道这是否可行。基本上,可以选择使用子树,但树的子树数可以有多少。
我查看了stackoverflow,但没有找到任何关于Tree结构的信息。我们的想法是解析字符串以获取表示它的数据结构(使用Node属性和子列表)