Commit graph

242 commits

Author SHA1 Message Date
b2e7d15fb8 Report actual error positions in token errors 2025-02-16 08:06:18 -08:00
fbccaea2fa Fix indentation in docs 2025-02-16 08:06:10 -08:00
5f19b1e73e Rework the documentation examples 2025-02-15 15:06:42 -08:00
ed5baefd5d Fix errors 2025-02-14 19:09:35 -08:00
1aa85cc295 Fix the examples in the dingus 2025-02-08 08:08:15 -08:00
d70f9ab958 pdm to uv 2025-02-08 07:36:36 -08:00
8135899abf [sql] hacking, emit lex and yacc for comparison 2025-01-04 08:57:58 -08:00
fa7514dc21 Store the precedence list so it can be used by others 2025-01-04 08:57:28 -08:00
1ecbe672bc [sql] Inline configuration creation, faster 2024-11-15 21:32:58 -08:00
2d10e91f9e [sql] SQL "works" but it's too dang slow 2024-11-15 19:46:51 -08:00
c23dbe3e8f [parser] More usability improvements
Implicit sequences in arguments, and now you can use terminals when
constructing regular expressions.
2024-11-12 07:43:32 -08:00
3bffe98df0 [parser] one_or_more
Finally making lists easier
2024-11-10 18:47:24 -08:00
682ff4e5fc Another example 2024-11-10 07:19:20 -08:00
d68590b5c7 Fix examples 2024-11-10 07:15:31 -08:00
182c29c2a7 Move examples 2024-11-10 07:15:14 -08:00
030406b2fb Version and start fixing dingus 2024-11-09 11:31:43 -08:00
5064a768e7 [all] A whole new style for grammars
Say good by to the sea of `self.`!
2024-11-09 11:21:30 -08:00
d6f1e7aba1 Messing with a SQL grammar in an alternative style
Why do we have classes again, hmm?
2024-11-08 07:01:32 -08:00
ed4d299b22 [dingus] Some bad examples 2024-11-03 08:09:27 -08:00
bc57a75ca8 [dingus] Fix pdm build to not trash directory 2024-11-03 07:09:02 -08:00
179405d849 [parser] Remove embarassing debug output 2024-11-03 07:04:11 -08:00
42183be0f4 [dingus] Build out of tree 2024-11-02 09:57:26 -07:00
fb181667b5 [dingus] Home tweaks 2024-11-02 09:57:17 -07:00
3d9c3b2c99 [dingus] Fix links in about page 2024-11-02 09:56:49 -07:00
953d2ee2a0 [dingus] about.html 2024-11-02 09:29:37 -07:00
13f1353134 [runtime] When all else fails ask the author
Better error messages by allowing the author to customize the string.
(This kinda works actually.)
2024-10-28 06:24:47 -07:00
c44083b610 [runtime] Slightly better messages
Picking the final reduction seems to get to a better place.
2024-10-28 06:06:23 -07:00
2828d13e3a [dingus] More legible errors 2024-10-28 06:01:27 -07:00
7206298cd1 [dingus] Improve dev loop 2024-10-28 05:55:29 -07:00
063584fb7e [runtime] Better error messages?
(Sometimes.)
2024-10-27 09:10:31 -07:00
0a0f7b3612 [parser] Comment cleanup, documentation cleanup 2024-10-27 08:36:16 -07:00
6ae04905a0 [dingus] make dingus 2024-10-26 12:31:08 -07:00
6692d12d36 [parser] Makefile nonsense
Includes are now explicit so they can be extracted into dependencies
for the makefile.
2024-10-26 12:29:27 -07:00
385c378edb [parser] Everything is an ItemSet now 2024-10-26 07:51:13 -07:00
923b01f6fd [parser] Simplify StateGraph 2024-10-26 07:35:28 -07:00
27e6bb413c [parser] Remove Canonical LR1 generator
This is fine probably.
2024-10-26 07:25:37 -07:00
2b72811486 [parser] ConfigurationSetInfo -> StateGraph 2024-10-26 06:56:30 -07:00
e501caa073 [parser] Remove unused import 2024-10-26 06:53:53 -07:00
e55bc140f9 [parser] Move ItemSet 2024-10-26 06:53:36 -07:00
2d5c73f0b0 [parser] Remove LR0 and SLR1
Sorry, when this was educational it was nice to have the other
generators but as part of cleaning I'm just getting rid of them.
2024-10-15 07:43:52 -07:00
bb94fc6c9c [parser] clean clean clean 2024-10-11 07:52:48 -07:00
2656a1d328 [parser] Remove bad LALR implementation, start cleanup 2024-10-10 07:58:16 -07:00
da7ca95a86 [dingus] Output is modal between tree and errors 2024-10-09 07:40:39 -07:00
aedb02dda4 [dingus] Functional core, imperative shell (kinda) 2024-10-08 08:13:33 -07:00
ba65c1929c [dingus] Start to render errors 2024-10-08 06:42:54 -07:00
15a7feac07 [dingus] Color syntax nodes red when they are errors 2024-10-06 08:06:54 -07:00
1a8c768772 [dingus] Reset the grammar globals every time
Now I can rewrite the grammar
2024-10-06 07:44:11 -07:00
474bbf6964 [test] Correct doc comment 2024-10-05 16:02:39 -07:00
eef1db72da [parser] Pager's algorithm. Faster.
As good as LALR but the implementation isn't embarassing. (Still
pretty bad though.)

Honestly the next thing to do is to delete LALR and just use Pager's
and also rebuild ConfigSet et al to be ItemSet so that Pager's alg
can go even faster. I think I want to keep LR1 just for completeness
so I might as well not delete SLR and LR0, although I *could* I
suppose.
2024-10-05 16:00:41 -07:00
5e3b1141ca [dingus] Remove unused code 2024-10-02 07:18:06 -07:00