这是我的代码: http: //pastie.org/private/t37ectjdnplit66zidj6hq
此代码用于类似 pascal 的语言解析器。我在这些行中遇到了问题:178、181、193。当我使用关键字定义语法时:[Any],我运行成功!但是当我用特征和“案例类”之一替换该关键字时,它会通知我有一个错误!我想我不明白使用代码时的含义:解析器[???]。有人可以帮我解决这些问题吗?
line 181: def val_type : Parser[Type] = primitive| array_type | string_type
line 193: def ident_list : Parser[List[Id]] = ident ~(rep(","~> ident))
更新:以下是相应的错误:
line 181: type mismatch; found : MPRecognizer.this.Parser[Any] required: MPRecognizer.this.Parser[Type]
line 193: type mismatch; found : MPRecognizer.this.Parser[MPRecognizer.this.~[String,List[String]]] required: MPRecognizer.this.Parser[Id]