summaryrefslogtreecommitdiff
path: root/usr.bin/yacc/NOTES
blob: 9db3c96ce1b8438652d814d6beb61cf5e5d90539 (plain)
1
2
3
4
5
6
7
8
9
Berkeley Yacc reflects its origins.  The reason so many routines
use exactly six register variables is that Berkeley Yacc was
developed on a VAX using PCC.  PCC placed at most six variables
in registers.  I went to considerable effort to find which six
variables most belonged in registers.  Changes in machines and
compilers make that effort worthless, perhaps even harmful.

The code contains many instances where address calculations are
performed in particular ways to optimize the code for the VAX.