Current Path : /usr/src/usr.bin/yacc/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/src/usr.bin/yacc/NOTES |
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.