grappa icon indicating copy to clipboard operation
grappa copied to clipboard

Write parsers for arbitrary text inputs, entirely in Java, with no preprocessing phase

Results 19 grappa issues
Sort by recently updated
recently updated
newest added

When using firstOf() with only String arguments and if one String has length 1, then parser generation fails with a reference to trie(). This is incorrect for two reasons: I...

bug

Hi, I've been looking for some good examples of extracting parsing errors but can't seem to find any anywhere. any chance you can help out?

The following grammar contains three rules. Each of these rules should match inputs "a" or "b", optionally followed by spaces. rule1 explicitly matches the trailing whitespace with zeroOrMore(sp()). This rule...

anyOf(Characters.ALL) does match even if no more input is available. It should not match because no input character is available and thus no input character could have been consumed. The...

A rule that is declared "static" causes a "java.lang.VerifyError" during parser generation. Instead Grappa should either support this or else should generate a proper error message. ``` $ gradle :compileJava...

bug

When adding an element to a collection inside a method that creates a rule, a NullPointerException occurs during "createParser". Example: ``` java package test; import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List;...

When using rules that have parameters, @Cached can be used to allow recursive calls. The generated caching code then checks all parameters for equality when reusing rules. This mechanism works...

When attaching a label to a Rule via method `.label("some label")` it is not correctly applied to the rule. Attaching a label via annotation `@Label` works fine. Example: ``` java...

bug