用于徽标列表的Scala解析器组合器?

时间:2016-04-12 06:42:49

标签: scala parser-combinators ucb-logo

我正在尝试为UCB Logo制作基于令牌的scala解析器。我面临的问题是,在Logo中,列表中列出的UCB徽标值中的任何表达式都可以用']','[',''之一分隔。如果存在任何其他类型的分隔符,则列表中的内容应视为单词。

简而言之,我如何制作一个考虑以下内容的令牌解析器:
__exit__() - 应该是一份清单  
[ 4 3 2 ] - 应该是列表中的列表
[ [ 4 3 2 ] ] - 应该是列表中的一个词
[ 1 + 2 ] - 应该是列表中的单词

以下

[ [ 1 2 3 ] +  ]

生成这些令牌: 代币: '[' ~ rep(chrExcept('[', ']')) ~ ']'

来自List([, [1 2 3], +, ])。我相信它应该产生令牌: [ [ 1 2 3 ] + ] - >将+符号与令牌List([, [1 2 3] +, ])合并。

这是我正在使用的Lexical的当前代码:

[1 2 3]

0 个答案:

没有答案