>>24
In fact, this could be done very easily, in fact nearly as easily as "normal" variable name handling. Suppose all symbols are stored in an n-way tree in memory, such that each node served both as a value (or possibly
undefined), and also as an intermediate point connecting to other values. Parsing an identifier token would consist of fetching a value from the root of the tree, and inserting that node into the AST. Supposing another identifier directly followed this top-level identifier, the node just inserted would then be used as the new "root" for looking up the second word of the variable name, and once this new word is found, the new node would replace the existing one in the AST.
So,
The Sussman would actually consist of two separate entries in the symbol tree: one top-level node, created upon first encounter of a
The token, with one child node, created upon first encounter of a
Sussman token which immediately follows a
The token.
I'd toss together some shitty code for an interpreter that could handle this, but I'm a lazy fuck.