Alex Badics
Alex Badics
Then again, at that point it might be better to create a separate library (or use an existing one) that does precedence climbing simply and reliably, and then just pulling...
Again, with left recursion you can have the following grammar: ```ebnf Expression = left:*Expression (op:Add | op:Sub) right:*Expression | left:*Expression (op:Mul | op:Div) right:*Expression | left:*Expression op:Power right:*Expression | "("...
I've been playing with left recursion this afternoon, and it's very difficult to get right. See a left-recursive calculator here: https://github.com/badicsalex/peginator/blob/eade5ae60f777e101df173ac95b5509ec235e55f/peginator_test/src/calculator_example/grammar.ebnf The main problem is that you _cannot_ use `Expression`...
Yeah, you convinced me. I'll definitely implement this when I have the time. Right now a bunch of other projects have more priority. PRs are welcome too, of course :)
How about something like the following syntax: ```ebnf Rule = prefix:Prefix (field:>Number | field:>Point | field:Null); Prefix = "data:"; @string Number = '0'..'9'; Point = "(" x:Number "," y:Number ")"...
The resulting struct in #7 could be improved: ```ebnf Expression = @:>Additive | @:>Multiplicative | @:>Power | @:>Group | @:Number; Additive = left:*Expression (op:>Add | op:>Sub) right:*Expression; Multiplicative = left:*Expression...
As I mentioned in #7, for proper parsing you need to have different enum rules for different precedence levels, and the above grammar _will not_ work properly. If this `:>`...
I have to admit, I never tried the code on windows. This seems like an issue with the `hidapi` crate, and should probably be debugged there. It might be worthwhile...
@kkota1 It's really weird that "not detaching" the kernel driver helps. I don't really know what that even means on windows, because I never dove that deep into libusb. Which...
Hi! Sure, it would be great if someone implemented (and maintained :) ) fusion! I'd gladly help review or maybe even test it. Do you want to contribute it to...