Consider:

   P0 = P1
   P0 = S1
   P0 = I1
   P0 = N1

o/~ One of these things is not like the others
    One of these things just doesn't belong     o/~

And if I have to read:

   P0 = new .Integer
   P0 = 1

one more time...  *sigh*

Therefore, I propose requiring people to spell aliasing as ':='.  This will
affect all code generated to use P and S registers.  It should be an easy fix
(albeit an extensive one).  And if we don't do it now, it'll just get harder.

So here's the lowdown:

   P0 := P1      # aliasing:   P0 and P1 point to same PMC
   P0 := opcode  # aliasing:   P0 points to PMC returned by opcode
   P0 = ...      # assignment: modifies P0, NO MATTER WHAT '...' IS

   S0 := S1      # aliasing:   S0 and S1 point to same header
   S0 := opcode  # aliasing:   S0 points to header returned by opcode
   S0 = ...      # assignment: modifies S0, NO MATTER WHAT '...' IS

   I0 := ...     # ILLEGAL
   I0 = ...      # assignment: modifies I0

   N0 := ...     # ILLEGAL
   N0 = ...      # assignment: modifies N0

Comments?  Fresh or rotten vegetables?
-- 
Chip Salzenberg <[EMAIL PROTECTED]>

Reply via email to