Resultados da pesquisa a pedido "parsec"

3 a resposta

Parsec como encontrar "correspondências" dentro de uma string

Como posso usar o parsec para analisar todas as entradas correspondentes em uma string e descartar o restante? Exemplo: Eu tenho um analisador de números simples e posso encontrar todos os números se souber o que os separa: num :: Parser Int ...

1 a resposta

Como analisar uma tupla (String, Int) em Haskell usando parsec

Eu acho que já consegui analisar cadeias de caracteres para cadeias de caracteres e cadeias de caracteres para Ints, mas também preciso analisar um tipo (String, Int), pois userRatings está em ordem para ler corretamente um textFile e estou ...

4 a resposta

No Parsec, existe uma maneira de impedir que o lexeme consuma novas linha

Todos os analisadores emText.Parsec.Token educadamente uselexeme para comer espaço em branco após um token. Infelizmente para mim, o espaço em branco inclui novas linhas, que eu quero usar como terminadores de expressão. Existe uma maneira de ...

1 a resposta

ramáticas recursivas no FParsec

Decidi dar uma olhada no FParsec e tentei escrever um analisador para expressões λ. Acontece que a ansiedade dificulta a análise recursiva. Como posso resolver isso Código open FParsec type λExpr = | Variable of char | Application of λExpr * ...

2 a resposta

Estado do usuário em Parsec

Estou analisando uma expressão usando o Parsec e quero acompanhar as variáveis nessas expressões usando o estado do usuário no Parsec. Infelizmente, eu realmente não entendo como fazê-lo. Dou o seguinte código: import Data.Set as Set inp = "$x ...

5 a resposta

Quais são os benefícios da análise aplicativa sobre a análise monádica?

Parece haver um consenso de que você deve usar o Parsec como um aplicativo e não como uma mônada. Quais são os benefícios da análise de aplicativos sobre a análise monádica? estildesempenhabstraçã A monádica está analisando?

4 a resposta

Usando o Parsec para analisar expressões regulares

Estou tentando aprender Parsec implementando um pequeno analisador de expressões regulares. No BNF, minha gramática se parece com: EXP : EXP * | LIT EXP | LIT Eu tentei implementar isso em Haskell como: expr = try star <|> try litE <|> lit ...