owl icon indicating copy to clipboard operation
owl copied to clipboard

A parser generator for visibly pushdown languages.

Results 11 owl issues
Sort by recently updated
recently updated
newest added

If I try to implement another "built-in token class" like hexinteger (I will follow the implementation for other builtins), would the PR be excepted? Unfortunately for my usecase I can...

It occurs to me that a C-based custom token matcher is overkill in most cases. For example: ``` .token hex '0x0BADCAFE' '0x248c' .token oct '0644' '0777771' .token bin '11001011b' '10b'...

Cleaned up the automata diagrams a bit. They should be the semantically identical to the originals. ![base-automaton](https://user-images.githubusercontent.com/19777816/43458000-d497d6d4-94c8-11e8-8f0e-8e07048df8be.png) ![bracket-automaton](https://user-images.githubusercontent.com/19777816/43457993-cee59ba4-94c8-11e8-930f-70298666f8d7.png)

This is a really nice project, I am considering porting a shell scripting language to a formal owl definition and an owl-based parser as I really like the design of...

Hi there, Awesome project. I love the strict approach taken to validation and the `owl` utility is really nifty and makes writing a definition for an existing language a breeze....

According to https://github.com/ianh/owl/issues/43#issuecomment-1814917290, call and return symbols need to be disjoint. Therefore, https://github.com/ianh/owl/issues/38 is not possible because string literals viewed as a VPL would have an identical call and return...

Hello @ianh, This is essentially the same issue [as this one](https://github.com/mdaines/grammophone/issues/25). I've used that feature to collect a bunch of grammars [here](https://github.com/mdaines/grammophone/issues/26). I think it would be useful if the...

Hello @ianh, I'm wondering, do you have any insights into incremental parsing where VPLs could offer some kind of advantage over, e.g., parsing context free languages using, e.g., LR/LL parsing?...

Owl is awesome, thank you! My proposals: * `range(cp1, cp2)` or `range[cp1, cp2]` - `cp1` and `cp2` are codepoints here (hex or decimal) * `block(name)` - Unicode's script name (`Basic_Latin`,...

I very much like Owl but there's a single feature I miss. In [Lark](https://lark-parser.readthedocs.io/en/stable/json_tutorial.html#part-3-shaping-the-tree) python parsing library there's a neat `?` operator which replaces a node in resulting tree with...