初心者の質問で申し訳ありません-定義されたものを解析したい
Exp ::= Mandatory_Part Optional_Part0 Optional_Part1
私はこれができると思った:
proc::Parser String
proc = do {
;str<-parserMandatoryPart
;str0<-optional(parserOptionalPart0) --(1)
;str1<-optional(parserOptionalPart1) --(2)
;return str++str0++str1
}
オプションの部分が存在する場合は str0/str1 を取得したいです。そうでない場合、str0/str1 は "" になります。ただし、(1) と (2) は機能しません。optional() では、そのパラメーター (この場合は parserOptionalPart0/parserOptionalPart1) から結果を抽出できないためです。
今それを行う適切な方法は何ですか?
どうもありがとう!
ビリー・R