It is difficult to reconcile our general architecture for the linearised diff representation with the processing of recursive, tree-like data structures. The natural and most clean way to deal with trees is to use recursion, i.e. the processor stack. But in our case, this means we'd have to peek into the next token of the language and then forward the diff iterator into a recursive call on the nested scope. Essentially, this breaks the separation between receiving a token sequence and interpretation for a concrete target data structure. For this reason, it is preferrable to make the stack an internal state of the concrete interpreter. The downside of this approach is the quite confusing data storage management; we try to make the role of the storage elements a bit more clear through descriptive accessor functions. |
||
|---|---|---|
| .. | ||
| draw | ||
| DIR_INFO | ||
| empty.html | ||
| InterfaceConcept_Varga.mm | ||
| renderengine.html | ||
| thinkPad.ichthyo.mm | ||
| uml | ||
| workflow.mm | ||