The src/desugar DirectoryΒΆ
Namespace desugar. Desugar string comparisons and for loops.
File: libdesugar.* (src/desugar/)
The interface of the
desugarmodule. It exports thedesugarandbounds_checks_addprocedures, as well as their raw counterparts which does not compute bindings and types andbind_and_types_checkwhich computes both.
File: desugar-visitor.* (src/desugar)
The
desugar::DesugarVisitorvisitor. Remove constructs that can be considered as syntactic sugar using other language constructs. For instance, turnforloops intowhileloops, string comparisons into function calls. Inherits fromastclone::Cloner, so the desugaredASTis a modified copy of the initial tree.
File: bounds-checking-visitor.* (src/desugar)
The
desugar::BoundsCheckingVisitorvisitor. Add dynamic array bounds checks while duplicating anAST. Inherits fromastclone::Cloner, so the result is a modified copy of the inputAST.