1*98e903e7SBaptiste DaroussinBerkeley Yacc reflects its origins. The reason so many routines 2*98e903e7SBaptiste Daroussinuse exactly six register variables is that Berkeley Yacc was 3*98e903e7SBaptiste Daroussindeveloped on a VAX using PCC. PCC placed at most six variables 4*98e903e7SBaptiste Daroussinin registers. I went to considerable effort to find which six 5*98e903e7SBaptiste Daroussinvariables most belonged in registers. Changes in machines and 6*98e903e7SBaptiste Daroussincompilers make that effort worthless, perhaps even harmful. 7*98e903e7SBaptiste Daroussin 8*98e903e7SBaptiste DaroussinThe code contains many instances where address calculations are 9*98e903e7SBaptiste Daroussinperformed in particular ways to optimize the code for the VAX. 10