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
5a84086469
[dingus] Render the output
2024-10-01 18:47:37 -07:00
0620ae0be5
[dingus] Save and restore documents to local storage for goofs
2024-10-01 07:48:20 -07:00
3f51b83850
[dingus] Abstract document handling
2024-10-01 07:39:49 -07:00
bcf1bbb948
[dingus] Parse and report status
2024-10-01 07:23:59 -07:00
efc6eac842
[dingus] Build lexer and parser
2024-09-30 22:32:04 -07:00
361f470431
[dingus] Status and loading and whatnot
2024-09-30 22:28:50 -07:00
aaa28f6d7f
[dingus] Missed some files
2024-09-30 07:36:31 -07:00
99c481e089
Version
2024-09-30 07:35:04 -07:00
1d650b79f9
[dingus] sugnid
2024-09-30 07:34:23 -07:00
22b7b4d185
And ignore even more
2024-09-30 06:47:54 -07:00
904a2b5f3f
Ignore more
2024-09-30 06:47:24 -07:00
20aebb5048
[dingus] Trying to get a web dingus working with pyodide
2024-09-30 06:46:08 -07:00
ccdda886ff
[parser] Actually add the new tests
...
Whoops, missed a file.
2024-09-22 08:49:33 -07:00
bb52ab8da5
[parser] Error recovery tests
...
Based on the blog post "Resilient LL Parsing Tutorial" by Alex Kladov, at
https://matklad.github.io/2023/05/21/resilient-ll-parsing-tutorial.html
Because I was trying to be "simple" in my grammar definition I found
a bug in the grammar class, whoops! :)
2024-09-22 08:46:54 -07:00
071cd29d8f
[readme] Rewrite the readme and add a helper
...
The helper is nice actually.
2024-09-21 08:45:49 -07:00