summaryrefslogtreecommitdiffstats
path: root/contrib/byacc/NOTES
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/byacc/NOTES')
-rw-r--r--contrib/byacc/NOTES9
1 files changed, 9 insertions, 0 deletions
diff --git a/contrib/byacc/NOTES b/contrib/byacc/NOTES
new file mode 100644
index 0000000..9db3c96
--- /dev/null
+++ b/contrib/byacc/NOTES
@@ -0,0 +1,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.
OpenPOWER on IntegriCloud