ここに私のコードがあります: http://pastie.org/private/t37ectjdnplit66zidj6hq
このコードは、パスカルに似た言語パーサー用です。これらの行に問題があります: 178 、 181 、 193. キーワード [Any] で定義された文法がある場合、正常に実行されます! しかし、そのキーワードを特性と「ケースクラス」の1つに置き換えると、間違いがあることが通知されます! コード : parser[???] を使用するときの意味が理解できないと思います。これらの問題を解決するのを手伝ってくれる人はいますか?
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]