xxxfasl.lsp 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. % This builds a PSL compiler that creates binary FASL files ...
  2. % For VSL the treatment of file-names written as "$xxx/..." is that a Lisp
  3. % variable called "@xxx" is inspected to find the actual path required.
  4. (rdf "psl-support-1.lsp")
  5. (setq @psl "../psl/dist")
  6. (setq @psys (bldmsg "../psl/dist/bin/%w" machine))
  7. (setq @pl (bldmsg "../psl/dist/lap/%w" machine))
  8. (setq @pk "../psl/dist/kernel")
  9. (setq @pxk (bldmsg "../psl/dist/kernel/%w" machine))
  10. (setq @pnk "../psl/dist/nonkernel")
  11. (setq @pxnk (bldmsg "../psl/dist/nonkernel/%w" machine))
  12. (setq @pnkl (bldmsg "../psl/dist/nonkernel/%w/lap" machine))
  13. (setq @pc "../psl/dist/comp")
  14. (setq @pxc (bldmsg "../psl/dist/comp/%w" machine))
  15. (setq @pu "../psl/dist/util")
  16. (setq @pxu (bldmsg "../psl/dist/util/%w" machine))
  17. (setq @pdist "../psl/dist/distrib")
  18. (setq @pxdist (bldmsg "../psl/dist/distrib/%w" machine))
  19. (setq totalbytes 800000)
  20. (global '(memory))
  21. (upbv (setq memory (mkvect (quotient totalbytes 8))))
  22. (dotimes (i (add1 (quotient totalbytes 8))) (putv memory i 0))
  23. (global '(heapupperbound heaplowerbound heaplast heaptrapbound heaplast
  24. heaptrapped nextbps lastbps))
  25. % I set up the simulated memory so half is for BPS and half is for heap.
  26. (setq lastbps (quotient totalbytes 2))
  27. (setq nextbps 0)
  28. (setq heapupperbound (setq highpointer totalbytes))
  29. (setq lowpointer lastbps)
  30. (setq heaplast lowpointer)
  31. (setq heaptrapbound (sub1 highpointer))
  32. (rdf "$pnk/lisp-macros.sl")
  33. (rdf "$pu/defmacro1.sl")
  34. (rdf "$pu/defmacro2.sl")
  35. (rdf "$pu/set1-macros.sl")
  36. (rdf "$pu/set2-macros.sl")
  37. (rdf "$pu/iter-macros.sl")
  38. (rdf "$pu/for-macro.sl")
  39. (rdf "$pu/cond-macros.sl")
  40. (rdf "$pu/numeric-ops.sl")
  41. (rdf "$pnk/def-smacro.sl")
  42. (rdf "$pnk/easy-non-sl.sl")
  43. (rdf "$pnk/compsupport.sl")
  44. (rdf "$pu/sys-macros.sl")
  45. (rdf "$pnk/sets.sl")
  46. %(rdf "$pnk/type-error.sl")
  47. (rdf "$pu/if.sl")
  48. (rdf "$pu/if-system.sl")
  49. (rdf "$pnk/carcdr.sl")
  50. (rdf "$pnk/defconst.sl")
  51. (rdf "$pnk/constants.sl")
  52. (rdf "$pnk/eval-when.sl")
  53. (rdf "$pc/datamachine.sl")
  54. (rdf "$pc/pass-1.sl")
  55. (rdf "$pc/pass-2-3.sl")
  56. (rdf "$pc/pass-1-lap.sl")
  57. (rdf "$pc/anyreg-cmac.sl")
  58. (rdf "$pc/cmacros.sl")
  59. (rdf "$pc/bare-psl.sym")
  60. (rdf "$pc/big-faslend.sl")
  61. (rdf "$pc/comasm.sl")
  62. (rdf "$pc/p1-decls.sl")
  63. (rdf "$pc/p-lambind.sl")
  64. (rdf "$pc/predicates.sl")
  65. (rdf "$pc/pslcomp.sl")
  66. (rdf "$pc/putprint.sl")
  67. (cond
  68. ((equal machine "AMD64_ext") (setq machine1 "AMD64"))
  69. (t (setq machine1 machine)))
  70. (rdf "$pxc/compat.sl")
  71. (rdf "$pxc/sys-consts.sl")
  72. (rdf "$pxc/sys-dm.sl")
  73. (rdf "$pxc/tags.sl")
  74. (rdf (bldmsg "$pxc/%w-lap.sl" machine1))
  75. (rdf (bldmsg "$pxc/%w-cmac.sl" machine1))
  76. (rdf (bldmsg "$pxc/%w-comp.sl" machine1))
  77. (rdf "$pc/faslout.sl")
  78. (rdf (bldmsg "$pxc/%w-spec.sl" machine1))
  79. % (rdf "$pxc/carcdrnil.sl")
  80. (rdf "$pxc/comp-decls.sl")
  81. (rdf "$pxc/compiler.sl")
  82. (rdf "$pxc/nbittab.sl")
  83. %(rdf "$pxc/neweq.sl") % THIS ONE IS NOT WANTED, AND BREAKS THINGS
  84. (rdf "$pxc/fixup386.sl") % The name here is worrying.
  85. (rdf "$pxnk/sys-faslin.sl")
  86. % (rdf "$pxu/compat.sl") % HMMM worry re assoc expansion here
  87. (rdf "compat.sl") % .. so use my private version
  88. (global '(totalbytes))
  89. (preserve)