Commit Graph

204 Commits (5a3315d6e8ba8776a1762c16e68803a943b10bfe)
 

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