Make some progress notes
This commit is contained in:
parent
f96ec45d1b
commit
0e4673a1a1
|
@ -403,7 +403,7 @@
|
||||||
|
|
||||||
(do
|
(do
|
||||||
(def pp pp/pprint)
|
(def pp pp/pprint)
|
||||||
(def source "let foo^ = bar")
|
(def source "let foo")
|
||||||
(def lexed (scanner/scan source))
|
(def lexed (scanner/scan source))
|
||||||
(def tokens (:tokens lexed))
|
(def tokens (:tokens lexed))
|
||||||
(def p (parser tokens))
|
(def p (parser tokens))
|
||||||
|
@ -427,9 +427,13 @@
|
||||||
- use accept-many in blocks and scripts
|
- use accept-many in blocks and scripts
|
||||||
- ast nodes should include their tokens (this is added for atoms, which may be fully sufficient)
|
- ast nodes should include their tokens (this is added for atoms, which may be fully sufficient)
|
||||||
* Time to start working on parsing errors (poisoned nodes, panic mode, etc.)
|
* Time to start working on parsing errors (poisoned nodes, panic mode, etc.)
|
||||||
- this works for expr, script, let, tuple (this one was titchy--and still runs away on unmatched parens)
|
- this now works on atoms, collections, synthetics, blocks, and scripts
|
||||||
- add to everything else
|
- add to everything else:
|
||||||
- investigate duplicated/missing error messages
|
- CURRENTLY:
|
||||||
|
* working on `let`: how to get good error messages here
|
||||||
|
* previously, the whole expression gets coded as an error (there's only one errror in the errors vector, regardless of the AST representation)
|
||||||
|
* what we want is to have each error added to the vector (and just to return a poisoned AST node, whatever the kind)
|
||||||
|
* the strategy here will be the same for the rest of the sequential constructs: `let`, `if`, `import`, `fn`, `loop`, etc.
|
||||||
|
|
||||||
Other quick thoughts:
|
Other quick thoughts:
|
||||||
* Once I get this far, then it's time to wire up the interpreter (with hard-coded functions, and the beginning of static analysis)
|
* Once I get this far, then it's time to wire up the interpreter (with hard-coded functions, and the beginning of static analysis)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user