1*60319SbosticBerkeley Yacc reflects its origins. The reason so many routines 2*60319Sbosticuse exactly six register variables is that Berkeley Yacc was 3*60319Sbosticdeveloped on a VAX using PCC. PCC placed at most six variables 4*60319Sbosticin registers. I went to considerable effort to find which six 5*60319Sbosticvariables most belonged in registers. Changes in machines and 6*60319Sbosticcompilers make that effort worthless, perhaps even harmful. 7*60319Sbostic 8*60319SbosticThe code contains many instances where address calculations are 9*60319Sbosticperformed in particular ways to optimize the code for the VAX. 10