Read a Scheme expression from a string.
(program: str)
| 25 | ################ Parsing: parse, tokenize, and read_from_tokens |
| 26 | |
| 27 | def parse(program: str) -> Expression: |
| 28 | "Read a Scheme expression from a string." |
| 29 | return read_from_tokens(tokenize(program)) |
| 30 | |
| 31 | def tokenize(s: str) -> list[str]: |
| 32 | "Convert a string into a list of tokens." |