Saturday, December 29, 2018

Tokenizer and macro expansion on the command line

The two are relted, it seems to me.  Macro expansion, direct substitution of arguments when enabled, happens on input of command line, not the output of a syntax engine. The syntax engine has access tto the console macro table, and sets up argument macros prior to use, available on input.  Since the attached syntax egine is in console loop address space, it should be able to substitute its own macro expansion call, turning the function off in console loop.

But, in either case, the console loop is out of the process, this again defuatlts to tokenizer functionality. The answer to the puzzle will come as we attempt to run our snippets we will discover what works and what doesn't.  Default assumes their is some level of macro expansion in tokenizer on start up.  How, I dunno, yet. Which is why I hesitate to take Default too far, it uses the default settings, and those are decided by snippet authors.

My guess on snippet authors is that they would rather do their own symbol look up in input, the way Xchars does it. In that case,the console loop table is available, and can be managed by Default, if the requirements are simple. A macro capability tied to the peculiar semantics of the snippet make sense.  We are better making a multi-functional symbol table function available as a separate snippet, loadable and swappable, on the Bus.

No comments: