lemon-rs icon indicating copy to clipboard operation
lemon-rs copied to clipboard

LALR(1) parser generator for Rust based on Lemon + SQL parser

Results 14 lemon-rs issues
Sort by recently updated
recently updated
newest added

The following input crashes the parser because of an invalid UTF8 sequence [bad-utf8.txt](https://github.com/gwenn/lemon-rs/files/14605850/bad-utf8.txt)

https://rust-lang.github.io/rust-clippy/master/#large_enum_variant

(a) from official test suite, we need to have both DDL and statement. (b) introduce `rusqlite` as a test dependency ? (c) check `Cmd#column_count` vs `sqlite3_column_count` (d) check `Cmd#readonly` vs...

Sqite has a rather flexible syntax for joins, and the parser should support them. This PR alleviate the restriction on joins, and make them more flexible. see: https://www.sqlite.org/lang_select.html#strange_join_names

duplicate

I'm trying to build an online yacc/lex (LALR(1)) grammar editor/tester to help develop/debug/document grammars the main repository is here https://github.com/mingodad/parsertl-playground and the online playground with several non trivial examples is...

I am wondering how hard it would be to have spanned AST node. It would be very useful to retrieve the subslice of the original string that an AST node...

enhancement

```sh % rg -FN 'sqlite3ErrorMsg(pParse, "' sqlite3.c ``` ```C sqlite3ErrorMsg(pParse, "misuse of aliased aggregate %s", zAs); sqlite3ErrorMsg(pParse, "misuse of aliased window function %s",zAs); sqlite3ErrorMsg(pParse, "row value misused"); sqlite3ErrorMsg(pParse, "%s: %s.%s.%s",...

See [translate_code](https://github.com/gwenn/lemon-rs/blob/6f0d9012b1531f05c4bc2015746655f4a1a8e494/third_party/lemon/lemon.c#L3752) Maybe we can keep original C code untouched: access `YYMINORTYPE` like an union but then translate this pseudo-code in valid Rust code with a proc_macro which wraps [yy_reduce](https://github.com/gwenn/lemon-rs/blob/master/third_party/lemon/lempar.rs#L684)...

enhancement