Tuesday, December 18, 2018

Pointers and operations in Default

The following is legal:

// Lay out the macro right there, in args list
MyMacro() { Word1 word2 word3}
// Then later:
MyMacro  
// when seen as defined will treat the sequences of words as
// linux command, an executable args list

But:

MyMacro++; // still valid

MyMacro then points from word1 one to word2.  Everything is a pointer to another element in args, or a pointer to a src string. Or, a size type used by the execution unit, unseen.

The idea is to connect the functionality, and if things go screwy for the user, then call it a syntax error and force the user into a better syntax engine. Hence the word, Default. The Default concept identifies to three things(loops expressions and calls), a small number and using any to any connection works, as long as the violations can be caught as syntax errors.

If console loop were the DMA controller for Bus, then Default is simply a Bus driver. The real stuff is hire up in the syntax.

All Console loop commands are in the default symbol table, so default symbols are part of console loop, but loadable still have their own entry are will be searched. Syntax tags for Default syntax are the only separate table, and it is currently compiled in.  When Default is disable, the carry load is about 300 lines of code, the cost of having a handy scripter. 

The standard text based reverse polish notation is fairly standard, hence he execution unit of default could be swapped out or in, we have the possibility of making it loadable,  so without  much ado, like I did with shunt, I can location a good execution unit and install that in place of mine. In the process it becomes available to all, across the Bus. Maybe pick the notation from Wasm, fit that to args list.

Recursively generation executable while expressions is the basic element of any compiler, at root. The price of that code is 150 lines, a re-entrant expander will generate executable assemble. Something like Shunt, with interface, is about 150 lines when the stack definitions are included. This is all very low cost in terms of maintenance, and they all have fairly standard interfaces in terms of syntax. For an external syntax engine this is great news, expose these and generalize them for the args list. So you remote procedure all specifies to take some expression from some report and run it through shunt and deliver that to enterprise data base.  Modularize, the world is a snippet.


No comments: