participle icon indicating copy to clipboard operation
participle copied to clipboard

A parser library for Go

Results 37 participle issues
Sort by recently updated
recently updated
newest added

Hi there again @alecthomas, I'm already using this great parser in a large project (a GoLang implementation of Jinja, will be open sourced eventually) and one of the things that...

If custom capture generate an error, then user will receive an error message with full struct name. ``` diff --git a/_examples/ini/main.go b/_examples/ini/main.go index be6ec9e..e483923 100644 --- a/_examples/ini/main.go +++ b/_examples/ini/main.go @@...

Node of type "strct" or "union" looses information from child nodes during formatting of error message Error message before fix: `/dev/stdin:1:5: unexpected token "a" (expected Value)` Error message after fix:...

Description: A new method that starts the parser as usual, but returns: - (State, Resumption, Error) State is either "Incomplete" (the structure isn't fully parsed) or "Complete" (the structure is...

enhancement

Hello, it seems there is a difference between the "raw" and "parse" tag syntax? The following repro shows what I stumbled upon. ```go package tagsyntax import ( "testing" "github.com/alecthomas/assert/v2" "github.com/alecthomas/participle/v2"...

Repetitions will be unbounded. Everything else should be computable.

Hey, while working on [parser code generation](https://github.com/alecthomas/participle/issues/213) and implementing lookahead error recovery, I noticed a bug. Consider this example: ``` type BugStructCapturesInBadBranch struct { Bad bool `parser:"(@'!'"` A BugFirstAlternative `parser:"...

In moderately complex grammars it's fairly common to see duplicate patterns emerge. For example, when matching a dot-separated identifier (eg. `foo.bar`) the pattern `(Ident { "." Ident })` is used...

proposal

Please support Join and sub-queries for the SQL parser. It's a test of expressiveness and limitation of participle. Thanks

Since Participle already has access to the grammar, it can do grammar-driven fuzzing, which could integrate nicely with Go 1.18's new fuzz tests. Usagewise, it would prolly be something like...