Fix three bugs in the last commit and document special cases. Tighten
[dragonfly.git] / usr.bin / yacc / NOTES
blob9db3c96ce1b8438652d814d6beb61cf5e5d90539
1 Berkeley Yacc reflects its origins.  The reason so many routines
2 use exactly six register variables is that Berkeley Yacc was
3 developed on a VAX using PCC.  PCC placed at most six variables
4 in registers.  I went to considerable effort to find which six
5 variables most belonged in registers.  Changes in machines and
6 compilers make that effort worthless, perhaps even harmful.
8 The code contains many instances where address calculations are
9 performed in particular ways to optimize the code for the VAX.