![]() references are binding/bound variables (beyond those appearing in the define-language itself) Specifically, - change define-language (and friends) so they record binding and source location information for non-terminals in the identifier that names the language (and to expand to disappeared bindings); - change rewrite-side-conditions/check-errs so that it accepts the language identifier (instead of a list of non-terminals) and returns one extra piece of syntax: that extra piece of syntax is just (void), but it has a bunch of disappeared uses on it that connect to the identifiers added to define-language; - similarly, adjust (term ...) so that it puts disappeared uses for non-terminal references. |
||
---|---|---|
.. | ||
all-test.rkt | ||
CMT-test.rkt | ||
CMT.rkt | ||
common.rkt | ||
randomized-tests.rkt | ||
SL-semantics-test.rkt | ||
SL-semantics.rkt | ||
SL-syntax.rkt | ||
test-util.rkt | ||
TL-semantics-test.rkt | ||
TL-semantics.rkt | ||
TL-syntax.rkt |