1*cd3b37e1SbosticBerkeley Yacc reflects its origins. The reason so many routines 2*cd3b37e1Sbosticuse exactly six register variables is that Berkeley Yacc was 3*cd3b37e1Sbosticdeveloped on a VAX using PCC. PCC placed at most six variables 4*cd3b37e1Sbosticin registers. I went to considerable effort to find which six 5*cd3b37e1Sbosticvariables most belonged in registers. Changes in machines and 6*cd3b37e1Sbosticcompilers make that effort worthless, perhaps even harmful. 7*cd3b37e1Sbostic 8*cd3b37e1SbosticThe code contains many instances where address calculations are 9*cd3b37e1Sbosticperformed in particular ways to optimize the code for the VAX. 10