The best way to look at languageONE is to view both the reWriter and a program prior to it being reWritten. You can consider languageONE in two ways. Firstly there is what I would call 'pure' or maybe 'raw' or 'native' languageONE and then there is the code that must be reWritten into native languageONE

The reWriter itself is a good example of native code as it is written in native languageONE and can simply be assembled and linked. It can be considered to be much like the NASM preprocessor. Remember, the reWriter is not a compiler but simply a text manipulation tool that takes code that represents a familiarity and reWrites it into native languageONE code.

Lets take a look at it.

In order to give languageONE a more familiar appearance the reWriter performs the following functions:-

          A[1] = "Hello World"

          B[2] = C[1] + C[2]

Remember that when you look at a native languageONE you are looking at 100% assembler code. It can be input directly into an assembler - in our case NASM - and will pop out an executable [after linking of course] at the other end. That doesn't look too scary does it.

So what does all that add up to. Lets take a look at a program before it goes thru reWriting.

and that's pretty much it. It should look fairly familiar to you but just remember it is very much a live piece of work. It will continue on with its mission of demonstrating that a decent assembler is the only thing necessary to produce fast,readable code.