Creating som.obj

The self-replicate property has been achieved in this release.

The whole som-in-som source consisted of the following files (in Som) (sequence according to the order of loading the file):

load "string-s.txt"
load "compile-h-s.txt"
load "list-s.txt"
load "symtab-s.txt"
load "token-s.txt"
load "parse-h-s.txt"
load "stmt-s.txt"
load "parse.som"
load "icode-s.txt"
load "gencode-s.txt"
load "macro-s.txt"
load "main-s.txt"

"parse.som" is generated from "parser\pgensom.exe", the parser generator.  som24 grammar is in the file "parser\parse-s.txt". The file "som.txt" is the master file.  It can be compiled into "som.obj" as follows:
    c:>som som.txt

This will create som.obj and som.lst (the listing file).  This "som.obj" is the executable s-code of the som-v24 system.  (However
the object for som-v24 is "som0.obj", it is renamed to prevent overwriting by accident).  "som.obj" is self-compiled, that is the
som.txt is compiled into its own object.  Finally, the self-replicate property has been achieved in this release.  (that is "som.obj" is
exactly the same as "som0.obj").  The library source file is "lib2.som".

In terms of speed, som-v24 virtual machine has been engineered to be as fast as som-v17 (if not faster).

12 Jan 2007