Monday, December 17, 2018

Web assembly on the Bus

wasm(int *argc, void *args[]);

This already exists, they have a command line version somewhere.  I can pipe it with console , but they should just get a shared lib version, or I can compile it.  So, already done, I am sure, we will get the shared object masm execution unit with the universal interface.  Run it on shared bus, within process, between process,between systems. It is a perfect application because args and argc are the perfect program counters and code space.

Default uses args for intermediate pass, a bunch of pseudo code tags are left at the start of args and shunt shuffle args in place.
Function call was easy in Default. You are allowed:
name(), in that order, though white space is allowed. When the syntax is unfolding, that form will be a definition upon first appearance, or a syntax error if expand fails. Nothing allowed inside the (), in fact they get tossed fairly early. Then name gets tagged as a variable pointing to the current location being laid out on args.  Eventually the syntax may call it via name(), finding it in the name table. Thee is a simple call format:

macro name which is generated properly for each name(). It does not appear in expressions, so its execution is simple, just reenter at that location, and hope for the best. We get the minimal code needed for boot, maintaining standard c syntax.  Deviations we blame on the user, call it a syntax violation. That is what we want at boot.

No comments: