Lo siento si es una cuestión novato - Quiero analizar algo definido por¿Cómo recuperar el valor del analizador opcional en Parsec?
Exp :: = Mandatory_Part Optional_Part0 Optional_Part1
I pensé que podía hacer esto:
proc::Parser String
proc = do {
;str<-parserMandatoryPart
;str0<-optional(parserOptionalPart0) --(1)
;str1<-optional(parserOptionalPart1) --(2)
;return str++str0++str1
}
quiero obtener str0/str1 si hay piezas opcionales, de lo contrario, str0/str1 sería "". Pero (1) y (2) no funcionarán porque opcional() no permite extraer el resultado de sus parámetros, en este caso, parserOptionalPart0/parserOptionalPart1.
Ahora ¿Cuál sería la adecuada manera de hacerlo?
¡Muchas gracias!
Billy R
Gracias Paul. Esto funcionó para mí. –
Simplemente funciona. X7D – dmvianna