Commit Graph

206 Commits (e425bbf47cb3102c3b89495f3e22a3d0304cd6d6)
 

Author SHA1 Message Date
Jack Firth e425bbf47c More regular expression work 2 years ago
Jack Firth 6329271600 Rework regex API again 2 years ago
Jack Firth 5a3315d6e8 Rework the regular pattern API a bit 2 years ago
Jack Firth 5a67976d47 Implement regular pattern compiler 2 years ago
Jack Firth df3a80c11a Add regular expression implementation 2 years ago
Jack Firth dfbddc95fb Add cut expressions 2 years ago
Jack Firth f36f33efde Support quantified repetition 2 years ago
Jack Firth e5d7cab7cb Rework the grammar APIs
- Make symbol kind mismatches trigger contract errors in more places.
- Add a notion of "flat" grammars and "normal" grammars, where normal grammars can have recursive expressions for their substitution instead of just a list of symbols.
2 years ago
Jack Firth 95e911dd98 Remove a test that doesn't matter anymore 2 years ago
Jack Firth 5387bd6e2b Add semantic actions for other kinds of objects 2 years ago
Jack Firth 60a142f90c Move symbols into their own module too 2 years ago
Jack Firth b2611aee1b Move semantic actions into their own module 2 years ago
Jack Firth de06a5ed82 Run resyntax again 2 years ago
Jack Firth 434b104127 Refactor lexer stuff a bit 2 years ago
Jack Firth ac5370f26a Fix an argument name 2 years ago
Jack Firth fa72938368 Derive datum and syntax parsers together 2 years ago
Jack Firth 2e53bca272 Unify syntax/datum labels as semantic actions 2 years ago
Jack Firth 31174e67f4 Add support for cuts and splices 2 years ago
Jack Firth 2300abf00c Clarify that grammars are context-free 2 years ago
Jack Firth c65391f703 Add a parser API 2 years ago
Jack Firth 605d943d50 Fix more stuff 2 years ago
Jack Firth 9c6624f19e Rearrange things and implement syntax object builder 2 years ago
Jack Firth beba017631 Fix a typo 2 years ago
Jack Firth 3b73da824f Omit symbols from parser derivations
The label is enough information on its own. Also, delete some dead code I was using for manual testing.
2 years ago
Jack Firth d54ce42ddb Add a comment explaining the most confusing SPFF detail 2 years ago
Jack Firth bfcab05237 Implement Earley SPPF parse forest construction 2 years ago
Jack Firth 372a19afa0 Another Resyntax pass 2 years ago
Jack Firth 412f3792c3 Revert "Replace a let loop with a for loop"
This reverts commit 8ab74df2fa.
2 years ago
Jack Firth 8ab74df2fa Replace a let loop with a for loop 2 years ago
Jack Firth c5a399ff62 Run Resyntax again 2 years ago
Jack Firth bac8fef8e4 Get rid of some commented out code 2 years ago
Jack Firth 2896ea5eeb Use `match-define` 2 years ago
Jack Firth c339773860 Run Resyntax again 2 years ago
Jack Firth 14949f8241 Add new grammar API and Earley parser 2 years ago
Jack Firth 5c953a3d08 Use `hash-update!` 2 years ago
Jack Firth dea323686f Revert "Use `hash-update!` where possible"
This reverts commit 43d9632859.
2 years ago
Jack Firth 43d9632859 Use `hash-update!` where possible 2 years ago
Jack Firth 138c11b908 Get rid of unnecessary lambdas in `hash-ref` calls 2 years ago
Jack Firth d1c41aece2 Add another missing import 2 years ago
Jack Firth 9bee9b98c4 Add missing imports 2 years ago
Jack Firth 8e87b541e1 Use `append-map` where possible 2 years ago
Jack Firth e9bb15e9d5 Use `'()` instead of `null` 2 years ago
Jack Firth 0d423ff56e Run `resyntax` again 2 years ago
Jack Firth b97a41c8ef Get rid of the `grammar%` class
Also, get rid of some dead code.
2 years ago
Jack Firth 19320eb0e2 Move all grammar method logic into functions 2 years ago
Jack Firth fc61543f29 Make a grammar struct
The grammar class delegates to it for now. Eventually I'll remove the class.
2 years ago
Jack Firth c588b40a23 Fix indentation 2 years ago
Jack Firth bd8fd280f6 Fix deps 2 years ago
Jack Firth 39505951ea Reorganize imports and exports of `grammar.rkt` 2 years ago
Jack Firth b5d3b102f8 Delete the yacc conversion code
I don't have any intention of using or maintaining this.
2 years ago