Resultados de la búsqueda a petición "parsec"

3 la respuesta

Parsec cómo encontrar "coincidencias" dentro de una cadena

¿Cómo puedo usar parsec para analizar todas las entradas coincidentes en una cadena y descartar el resto? Ejemplo: tengo un analizador numérico simple y puedo encontrar todos los números si sé qué los separa: num :: Parser Int num = read <$> ...

1 la respuesta

Cómo analizar una tupla (String, Int) en Haskell usando parsec

Creo que ya pude analizar cadenas a cadenas y cadenas a Ints, pero también necesito analizar un tipo (String, Int) ya que userRatings es para leer correctamente un archivo de texto y estoy usando Parsec Este es el análisis junto con la ...

4 la respuesta

En Parsec, ¿hay alguna manera de evitar que lexeme consuma nuevas líneas?

Todos los analizadores enText.Parsec.Token usa cortésmentelexeme para comer espacios en blanco después de una ficha. Desafortunadamente para mí, el espacio en blanco incluye nuevas líneas, que quiero usar como terminadores de expresión. ¿Hay ...

1 la respuesta

Gramáticas recursivas en FParsec

He decidido revisar FParsec e intenté escribir un analizador para expresiones λ. Como resultado, el entusiasmo hace que el análisis recursivo sea difícil. ¿Como puedo resolver esto Código open FParsec type λExpr = | Variable of char | ...

2 la respuesta

Estado del usuario en Parsec

Estoy analizando una expresión usando Parsec y quiero hacer un seguimiento de las variables en estas expresiones usando el estado del usuario en Parsec. Lamentablemente, no entiendo cómo hacerlo. Dado el siguiente código: import Data.Set as ...

5 la respuesta

¿Cuáles son los beneficios del análisis aplicativo sobre el análisis monádico?

Parece haber un consenso de que debería usar Parsec como aplicativo en lugar de una mónada. ¿Cuáles son los beneficios del análisis aplicativo sobre el análisis monádico? estilactuacióabstraccióSe está analizando monádico?

4 la respuesta

Utilizando Parsec para analizar expresiones regulares

Estoy tratando de aprender Parsec implementando un pequeño analizador de expresiones regulares. En BNF, mi gramática se parece a: EXP : EXP * | LIT EXP | LIT He intentado implementar esto en Haskell como: expr = try star <|> try litE <|> lit ...