Üzgünüz - BenParsec'te isteğe bağlı ayrıştırıcıdan nasıl değer alınır? Bir acemi sorun buysa
Exp tarafından tanımlanan bir şey ayrıştırmak istiyor :: = Mandatory_Part Optional_Part0 Optional_Part1
Ben bunu yapabileceğimi düşündüm:
proc::Parser String
proc = do {
;str<-parserMandatoryPart
;str0<-optional(parserOptionalPart0) --(1)
;str1<-optional(parserOptionalPart1) --(2)
;return str++str0++str1
}
İstiyorum İsteğe bağlı parçalar varsa str0/str1 olsun, aksi halde str0/str1 "" olacaktır. Ancak (1) ve (2), isteğe bağlı() parametresinden sonuç çıkarmaya izin vermediğinden çalışmaz, bu durumda, parserOptionalPart0/parserOptionalPart1.
Şimdi uygun yolu nasıl olurdu?
Çok teşekkürler!
Billy R
Teşekkürler Paul. Bu benim için çalıştı. –
Sadece çalışır. X7D – dmvianna