A method for generating an intermediate representation of computer program
code written for running on a programmable machine comprises: (i)
generating a plurality of register objects for holding variable values to
be generated by the program code; and (ii) generating a plurality of
expression objects representing fixed values and/or relationships between
said fixed values and said variable values according to said program
code; said objects being organized into a branched tree-like network
having all register objects at the lowest basic root or tree-trunk level
of the network with no register object feeding into any other register
object.