Wednesday, December 19, 2018

Making call arguments work in Default

Maybe, if there is a version 2.0.

Setting p call arguments needs relative addressing via the symbol table and local scope on arguments names. o the symbol table needs rigging.  Setting up the call structure is a job for Shunt where we introduce the comma to separate arguments.  The Console tokenizer needs a bit of update for he extra syntax, an the tokenizer needs to be generalized as it is likely used by other syntax engines.  ll in all, too much for version 1.

Default lays out the args list

In general, the loaded syntax engine is in charge of args list lay out. If no syntax engine console operates with tokenizer only.

Default uses and reuses the first part of the args list for the tokenizer, up to some MAX in tokens allowed per line. Then the tokens are unfolding as executables in the next section.  Three pointers in actice duty at all time, the Toke counter, the Layout counter, and the next command counter. The next command counter maintained by he ExecCommand is needed to track the linux command format on the Bus..

Default s issuing a bunch of undefined out onto the Bus, the linux command pass thru. Default executable has no idea of start and stop. The semi colon is passed through and Default only sees it after the undefined linux args are laid out. Hence the need for a third counter, tracking linux format as determined by sub system calls. Interesting stuff, letting the subsystem deal with undefines.

So there is a flow control on args, and any call moment ,a subsystem has access to the execution history, there is no args protection yet.

No comments: