我正在学习递归的体面解析,并提出了一些我认为算法不起作用的场景。其中之一是,考虑到这个简单的语法:E→id \x= id + id
然后字符串id + id;在这种语法的语言中是有效的。我认为语法不是模棱两可的,因为语言id;和id + id;中只有两个字符串,每个字符串都有一个唯一的解析树。这里的一般问题是,非终端的</em
我可以删除元音,而不需要像这样的递归函数:NoVowels xs = filter f xs where f x = not (x == ’a’我尝试过这样的方法,但是当然不起作用(解析错误):NoVowels "" = error "Empty String!!"| x in (x == 'a'|| x ==