aboutsummaryrefslogtreecommitdiffstats
path: root/read.scm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* readtable: simplifyGravatar Peter McGoron 2024-09-081-242/+119
| | | | | | | | | After taking a look at the R7RS syntax and how Chicken parses directives, I realized that it's easier to have "#!", "#\\", etc. parse identifiers instead of baking in trie actions. This is slightly slower but completely removes the trie concept from the readtable, which simplifies the implementation and removes many corner cases involving combining readtables with different action types.
* readtable: case foldingGravatar Peter McGoron 2024-09-071-31/+57
|
* readtable: when adding sequences to the readtable, push the lastGravatar Peter McGoron 2024-09-071-3/+16
| | | | | | | read character back to the character reader before executing the action. This fixes the issue where sequences eat characters in front of them.
* readtable: Normalize character handled by ACTIONs at the end ofGravatar Peter McGoron 2024-09-071-8/+15
| | | | | | | | | | | | sequences. Previously, if "#true" and "#t" were in the readtable as sequences, the string "#true" would call "#true"'s EXEC function after reading "e", but it would call "#t"'s EXEC function after reading a character after "t" (which could be EOF). The new behavior normalizes everything so that the ACTIONs read the character after the sequence.
* readtable: add documentation for PUSH->READGravatar Peter McGoron 2024-09-071-0/+6
|
* Readtable: fix propagation of default handlers in trie pathsGravatar Peter McGoron 2024-09-071-43/+56
| | | | | | | | | | | | | Previous version did (ACTION 'UPDATE (CDR REST) ACTION) when a new action had to be made. This caused default actions to propagate through the trie. While this isn't bad (it causes #TRU to be equal to #TRUE when that was the last prefix in the tree), it can cause unexpected errors at runtime, and no program should ever depend on its behavior. The current solution is to make a new PASS readtable with a default error action.
* readtable: correctly add trie values. Incorrectly propogates default procedureGravatar Peter McGoron 2024-09-071-17/+19
|
* readtables, first passGravatar Peter McGoron 2024-09-071-0/+300
atar.com/avatar/5583ee5cd9fc9109043328f4e0fdf7ae?s=13&d=retro' width='13' height='13' alt='Gravatar' /> John Cowan 1-5/+5 2021-07-26update preview linkGravatar John Cowan 1-1/+1 2021-07-26MN-W reviewGravatar John Cowan 1-6/+6 2021-07-26paired mutatorsGravatar John Cowan 1-43/+68 2021-07-25exceptionsGravatar John Cowan 1-1/+15 2021-07-25new exampleGravatar John Cowan 1-1/+4 2021-07-25updatesGravatar John Cowan 1-2/+4 2021-07-24dtd always first argumentGravatar John Cowan 1-9/+9 2021-07-23DTO to DTDGravatar John Cowan 1-55/+52 2021-07-22typoGravatar John Cowan 1-1/+1 2021-07-22switching to explicit dtosGravatar John Cowan 1-88/+102 2021-07-22errorsGravatar John Cowan 1-1/+4 2021-07-22more MN-W reviewGravatar John Cowan 1-5/+5 2021-07-20update preview linkGravatar John Cowan 1-1/+1 2021-07-20MN-W reviewGravatar John Cowan 1-6/+6 2021-07-18Fix typo.Gravatar Arthur A. Gleckler 2-4/+4 2021-07-18Add <p> around abstract.Gravatar Arthur A. Gleckler 1-2/+2 2021-07-18Publish first draft.draft-1Gravatar Arthur A. Gleckler 3-0/+114 2021-07-18Ignore trailing whitespace.Gravatar Arthur A. Gleckler 11-129/+129 2021-07-18Ignore "Dictionaries.log".Gravatar Arthur A. Gleckler 1-1/+2 2021-07-18Fix errors reported by W3C HTML Validator.Gravatar Arthur A. Gleckler 1-27/+27 2021-07-18Eliminate unnecessary redirect by using TLS/SSL.Gravatar Arthur A. Gleckler 1-1/+1