home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mitsch75.zip / scheme-7_5_17-src.zip / scheme-7.5.17 / src / compiler / machines / vax / compiler.pkg < prev    next >
Encoding:
Text File  |  1999-01-02  |  19.7 KB  |  667 lines

  1. #| -*-Scheme-*-
  2.  
  3. $Id: compiler.pkg,v 1.22 1999/01/02 06:06:43 cph Exp $
  4.  
  5. Copyright (c) 1988-1999 Massachusetts Institute of Technology
  6.  
  7. This program is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License as published by
  9. the Free Software Foundation; either version 2 of the License, or (at
  10. your option) any later version.
  11.  
  12. This program is distributed in the hope that it will be useful, but
  13. WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15. General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with this program; if not, write to the Free Software
  19. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20. |#
  21.  
  22. ;;;; Compiler Packaging
  23.  
  24. (global-definitions "../runtime/runtime")
  25.  
  26. (define-package (compiler)
  27.   (files "base/switch"
  28.      "base/object"            ;tagged object support
  29.      "base/enumer"            ;enumerations
  30.      "base/sets"            ;set abstraction
  31.      "base/mvalue"            ;multiple-value support
  32.      "base/scode"            ;SCode abstraction
  33.      "machines/vax/machin"        ;machine dependent stuff
  34.      "back/asutl"            ;back-end odds and ends
  35.      "base/utils"            ;odds and ends
  36.  
  37.      "base/cfg1"            ;control flow graph
  38.      "base/cfg2"
  39.      "base/cfg3"
  40.  
  41.      "base/ctypes"            ;CFG datatypes
  42.  
  43.      "base/rvalue"            ;Right hand values
  44.      "base/lvalue"            ;Left hand values
  45.      "base/blocks"            ;rvalue: blocks
  46.      "base/proced"            ;rvalue: procedures
  47.      "base/contin"            ;rvalue: continuations
  48.  
  49.      "base/subprb"            ;subproblem datatype
  50.  
  51.      "rtlbase/rgraph"        ;program graph abstraction
  52.      "rtlbase/rtlty1"        ;RTL: type definitions
  53.      "rtlbase/rtlty2"        ;RTL: type definitions
  54.      "rtlbase/rtlexp"        ;RTL: expression operations
  55.      "rtlbase/rtlcon"        ;RTL: complex constructors
  56.      "rtlbase/rtlreg"        ;RTL: registers
  57.      "rtlbase/rtlcfg"        ;RTL: CFG types
  58.      "rtlbase/rtlobj"        ;RTL: CFG objects
  59.      "rtlbase/regset"        ;RTL: register sets
  60.      "rtlbase/valclass"        ;RTL: value classes
  61.  
  62.      "back/insseq"            ;LAP instruction sequences
  63.      )
  64.   (parent ())
  65.   (export ()
  66.       compiler:analyze-side-effects?
  67.       compiler:cache-free-variables?
  68.       compiler:coalescing-constant-warnings?
  69.       compiler:code-compression?
  70.       compiler:compile-by-procedures?
  71.       compiler:cse?
  72.       compiler:default-top-level-declarations
  73.       compiler:enable-expansion-declarations?
  74.       compiler:enable-integration-declarations?
  75.       compiler:generate-lap-files?
  76.       compiler:generate-range-checks?
  77.       compiler:generate-rtl-files?
  78.       compiler:generate-stack-checks?
  79.       compiler:generate-type-checks?
  80.       compiler:implicit-self-static?
  81.       compiler:intersperse-rtl-in-lap?
  82.       compiler:noisy?
  83.       compiler:open-code-flonum-checks?
  84.       compiler:open-code-primitives?
  85.       compiler:optimize-environments?
  86.       compiler:package-optimization-level
  87.       compiler:preserve-data-structures?
  88.       compiler:show-phases?
  89.       compiler:show-procedures?
  90.       compiler:show-subphases?
  91.       compiler:show-time-reports?
  92.       compiler:use-multiclosures?))
  93.  
  94. (define-package (compiler reference-contexts)
  95.   (files "base/refctx")
  96.   (parent (compiler))
  97.   (export (compiler)
  98.       add-reference-context/adjacent-parents!
  99.       initialize-reference-contexts!
  100.       make-reference-context
  101.       modify-reference-contexts!
  102.       reference-context/adjacent-parent?
  103.       reference-context/block
  104.       reference-context/offset
  105.       reference-context/procedure
  106.       reference-context?
  107.       set-reference-context/offset!))
  108.  
  109. (define-package (compiler macros)
  110.   (files "base/macros")
  111.   (parent ())
  112.   (export (compiler)
  113.       assembler-syntax-table
  114.       compiler-syntax-table
  115.       early-syntax-table
  116.       lap-generator-syntax-table)
  117.   (import (runtime macros)
  118.       parse-define-syntax)
  119.   (initialization (initialize-package!)))
  120.  
  121. (define-package (compiler declarations)
  122.   (files "machines/vax/decls")
  123.   (parent (compiler))
  124.   (export (compiler)
  125.       sc
  126.       syntax-files!)
  127.   (import (scode-optimizer top-level)
  128.       sf/internal)
  129.   (initialization (initialize-package!)))
  130.  
  131. (define-package (compiler top-level)
  132.   (files "base/toplev"
  133.      "base/crstop"
  134.      "base/asstop")
  135.   (parent (compiler))
  136.   (export ()
  137.       cbf
  138.       cf
  139.       compile-bin-file
  140.       compile-procedure
  141.       compile-scode
  142.       compiler:reset!
  143.       cross-compile-bin-file
  144.       cross-compile-bin-file-end)
  145.   (export (compiler)
  146.       canonicalize-label-name)
  147.   (export (compiler fg-generator)
  148.       compile-recursively)
  149.   (export (compiler rtl-generator)
  150.       *ic-procedure-headers*
  151.       *rtl-continuations*
  152.       *rtl-expression*
  153.       *rtl-graphs*
  154.       *rtl-procedures*)
  155.   (export (compiler lap-syntaxer)
  156.       *block-label*
  157.       *external-labels*
  158.       label->object)
  159.   (export (compiler debug)
  160.       *root-expression*
  161.       *rtl-procedures*
  162.       *rtl-graphs*)
  163.   (import (runtime compiler-info)
  164.       make-dbg-info-vector
  165.       split-inf-structure!)
  166.   (import (runtime unparser)
  167.       *unparse-uninterned-symbols-by-name?*))
  168.  
  169. (define-package (compiler debug)
  170.   (files "base/debug")
  171.   (parent (compiler))
  172.   (export ()
  173.       debug/find-continuation
  174.       debug/find-entry-node
  175.       debug/find-procedure
  176.       debug/where
  177.       dump-rtl
  178.       po
  179.       show-bblock-rtl
  180.       show-fg
  181.       show-fg-node
  182.       show-rtl
  183.       write-rtl-instructions)
  184.   (import (runtime pretty-printer)
  185.       *pp-primitives-by-name*)
  186.   (import (runtime unparser)
  187.       *unparse-uninterned-symbols-by-name?*))
  188.  
  189. (define-package (compiler pattern-matcher/lookup)
  190.   (files "base/pmlook")
  191.   (parent (compiler))
  192.   (export (compiler)
  193.       make-pattern-variable
  194.       pattern-lookup
  195.       pattern-variable-name
  196.       pattern-variable?
  197.       pattern-variables))
  198.  
  199. (define-package (compiler pattern-matcher/parser)
  200.   (files "base/pmpars")
  201.   (parent (compiler))
  202.   (export (compiler)
  203.       parse-rule
  204.       rule-result-expression)
  205.   (export (compiler macros)
  206.       parse-rule
  207.       rule-result-expression))
  208.  
  209. (define-package (compiler pattern-matcher/early)
  210.   (files  "base/pmerly")
  211.   (parent (compiler))
  212.   (export (compiler)
  213.       early-parse-rule
  214.       early-pattern-lookup
  215.       early-make-rule
  216.       make-database-transformer
  217.       make-symbol-transformer
  218.       make-bit-mask-transformer))
  219.  
  220. (define-package (compiler debugging-information)
  221.   (files "base/infnew")
  222.   (parent (compiler))
  223.   (export (compiler top-level)
  224.       info-generation-phase-1
  225.       info-generation-phase-2
  226.       info-generation-phase-3)
  227.   (export (compiler rtl-generator)
  228.       generated-dbg-continuation)
  229.   (import (runtime compiler-info)
  230.       make-dbg-info
  231.  
  232.       make-dbg-expression
  233.       dbg-expression/block
  234.       dbg-expression/label
  235.       set-dbg-expression/label!
  236.  
  237.       make-dbg-procedure
  238.       dbg-procedure/block
  239.       dbg-procedure/label
  240.       set-dbg-procedure/label!
  241.       dbg-procedure/name
  242.       dbg-procedure/required
  243.       dbg-procedure/optional
  244.       dbg-procedure/rest
  245.       dbg-procedure/auxiliary
  246.       dbg-procedure/external-label
  247.       set-dbg-procedure/external-label!
  248.       dbg-procedure<?
  249.  
  250.       make-dbg-continuation
  251.       dbg-continuation/block
  252.       dbg-continuation/label
  253.       set-dbg-continuation/label!
  254.       dbg-continuation<?
  255.  
  256.       make-dbg-block
  257.       dbg-block/parent
  258.       dbg-block/layout
  259.       dbg-block/stack-link
  260.       set-dbg-block/procedure!
  261.  
  262.       make-dbg-variable
  263.       dbg-variable/value
  264.       set-dbg-variable/value!
  265.  
  266.       dbg-block-name/dynamic-link
  267.       dbg-block-name/ic-parent
  268.       dbg-block-name/normal-closure
  269.       dbg-block-name/return-address
  270.       dbg-block-name/static-link
  271.  
  272.       make-dbg-label-2
  273.       dbg-label/offset
  274.       set-dbg-label/external?!))
  275.  
  276. (define-package (compiler constraints)
  277.    (files "base/constr")
  278.    (parent (compiler))
  279.    (export (compiler)
  280.        make-constraint
  281.        constraint/element
  282.        constraint/graph-head
  283.        constraint/afters
  284.        constraint/closed?
  285.        constraint-add!
  286.        add-constraint-element!
  287.        add-constraint-set!
  288.        make-constraint-graph
  289.        constraint-graph/entry-nodes
  290.        constraint-graph/closed?
  291.        close-constraint-graph!
  292.        close-constraint-node!
  293.        order-per-constraints
  294.        order-per-constraints/extracted
  295.        legal-ordering-per-constraints?
  296.        with-new-constraint-marks
  297.        constraint-marked?
  298.        constraint-mark!
  299.        transitively-close-dag!
  300.        reverse-postorder))
  301.  
  302. (define-package (compiler fg-generator)
  303.   (files "fggen/canon"            ;SCode canonicalizer
  304.      "fggen/fggen"            ;SCode->flow-graph converter
  305.      "fggen/declar"            ;Declaration handling
  306.      )
  307.   (parent (compiler))
  308.   (export (compiler top-level)
  309.       canonicalize/top-level
  310.       construct-graph)
  311.   (import (runtime scode-data)
  312.       &pair-car
  313.       &pair-cdr
  314.       &triple-first
  315.       &triple-second
  316.       &triple-third))
  317.  
  318. (define-package (compiler fg-optimizer)
  319.   (files "fgopt/outer"            ;outer analysis
  320.      "fgopt/sideff"            ;side effect analysis
  321.      )
  322.   (parent (compiler))
  323.   (export (compiler top-level)
  324.       clear-call-graph!
  325.       compute-call-graph!
  326.       outer-analysis
  327.       side-effect-analysis))
  328.  
  329. (define-package (compiler fg-optimizer fold-constants)
  330.   (files "fgopt/folcon")
  331.   (parent (compiler fg-optimizer))
  332.   (export (compiler top-level) fold-constants))
  333.  
  334. (define-package (compiler fg-optimizer operator-analysis)
  335.   (files "fgopt/operan")
  336.   (parent (compiler fg-optimizer))
  337.   (export (compiler top-level) operator-analysis))
  338.  
  339. (define-package (compiler fg-optimizer variable-indirection)
  340.   (files "fgopt/varind")
  341.   (parent (compiler fg-optimizer))
  342.   (export (compiler top-level) initialize-variable-indirections!))
  343.  
  344. (define-package (compiler fg-optimizer environment-optimization)
  345.   (files "fgopt/envopt")
  346.   (parent (compiler fg-optimizer))
  347.   (export (compiler top-level) optimize-environments!))
  348.  
  349. (define-package (compiler fg-optimizer closure-analysis)
  350.   (files "fgopt/closan")
  351.   (parent (compiler fg-optimizer))
  352.   (export (compiler top-level) identify-closure-limits!))
  353.  
  354. (define-package (compiler fg-optimizer continuation-analysis)
  355.   (files "fgopt/contan")
  356.   (parent (compiler fg-optimizer))
  357.   (export (compiler top-level)
  358.       continuation-analysis
  359.       setup-block-static-links!))
  360.  
  361. (define-package (compiler fg-optimizer compute-node-offsets)
  362.   (files "fgopt/offset")
  363.   (parent (compiler fg-optimizer))
  364.   (export (compiler top-level) compute-node-offsets))
  365.  
  366. (define-package (compiler fg-optimizer connectivity-analysis)
  367.   (files "fgopt/conect")
  368.   (parent (compiler fg-optimizer))
  369.   (export (compiler top-level) connectivity-analysis))
  370.  
  371. (define-package (compiler fg-optimizer delete-integrated-parameters)
  372.   (files "fgopt/delint")
  373.   (parent (compiler fg-optimizer))
  374.   (export (compiler top-level) delete-integrated-parameters))
  375.  
  376. (define-package (compiler fg-optimizer design-environment-frames)
  377.   (files "fgopt/desenv")
  378.   (parent (compiler fg-optimizer))
  379.   (export (compiler top-level) design-environment-frames!))
  380.  
  381. (define-package (compiler fg-optimizer setup-block-types)
  382.   (files "fgopt/blktyp")
  383.   (parent (compiler fg-optimizer))
  384.   (export (compiler top-level)
  385.       setup-block-types!
  386.       setup-closure-contexts!)
  387.   (export (compiler)
  388.       indirection-block-procedure))
  389.  
  390. (define-package (compiler fg-optimizer simplicity-analysis)
  391.   (files "fgopt/simple")
  392.   (parent (compiler fg-optimizer))
  393.   (export (compiler top-level) simplicity-analysis)
  394.   (export (compiler fg-optimizer subproblem-ordering)
  395.       new-subproblem/compute-simplicity!))
  396.  
  397. (define-package (compiler fg-optimizer simulate-application)
  398.   (files "fgopt/simapp")
  399.   (parent (compiler fg-optimizer))
  400.   (export (compiler top-level) simulate-application))
  401.  
  402. (define-package (compiler fg-optimizer subproblem-free-variables)
  403.   (files "fgopt/subfre")
  404.   (parent (compiler fg-optimizer))
  405.   (export (compiler top-level) compute-subproblem-free-variables)
  406.   (export (compiler fg-optimizer) map-union)
  407.   (export (compiler fg-optimizer subproblem-ordering)
  408.       new-subproblem/compute-free-variables!))
  409.  
  410. (define-package (compiler fg-optimizer subproblem-ordering)
  411.   (files "fgopt/order")
  412.   (parent (compiler fg-optimizer))
  413.   (export (compiler top-level) subproblem-ordering))
  414.  
  415. (define-package (compiler fg-optimizer subproblem-ordering reuse-frames)
  416.   (files "fgopt/reord" "fgopt/reuse")
  417.   (parent (compiler fg-optimizer subproblem-ordering))
  418.   (export (compiler top-level) setup-frame-adjustments)
  419.   (export (compiler fg-optimizer subproblem-ordering)
  420.       order-subproblems/maybe-overwrite-block))
  421.  
  422. (define-package (compiler fg-optimizer subproblem-ordering parameter-analysis)
  423.    (files "fgopt/param")
  424.    (parent (compiler fg-optimizer subproblem-ordering))
  425.    (export (compiler fg-optimizer subproblem-ordering)
  426.        parameter-analysis))
  427.  
  428. (define-package (compiler fg-optimizer return-equivalencing)
  429.   (files "fgopt/reteqv")
  430.   (parent (compiler fg-optimizer))
  431.   (export (compiler top-level) find-equivalent-returns!))
  432.  
  433. (define-package (compiler rtl-generator)
  434.   (files "rtlgen/rtlgen"        ;RTL generator
  435.      "rtlgen/rgstmt"        ;statements
  436.      "rtlgen/fndvar"        ;find variables
  437.      "machines/vax/rgspcm"        ;special close-coded primitives
  438.      "rtlbase/rtline"        ;linearizer
  439.      )
  440.   (parent (compiler))
  441.   (export (compiler)
  442.       make-linearizer)
  443.   (export (compiler top-level)
  444.       generate/top-level
  445.       linearize-rtl
  446.       setup-bblock-continuations!)
  447.   (export (compiler debug)
  448.       linearize-rtl)
  449.   (import (compiler top-level)
  450.       label->object))
  451.  
  452. (define-package (compiler rtl-generator generate/procedure-header)
  453.   (files "rtlgen/rgproc")
  454.   (parent (compiler rtl-generator))
  455.   (export (compiler rtl-generator) generate/procedure-header))
  456.  
  457. (define-package (compiler rtl-generator combination/inline)
  458.   (files "rtlgen/opncod")
  459.   (parent (compiler rtl-generator))
  460.   (export (compiler rtl-generator) combination/inline)
  461.   (export (compiler top-level) open-coding-analysis))
  462.  
  463. (define-package (compiler rtl-generator find-block)
  464.   (files "rtlgen/fndblk")
  465.   (parent (compiler rtl-generator))
  466.   (export (compiler rtl-generator) find-block))
  467.  
  468. (define-package (compiler rtl-generator generate/rvalue)
  469.   (files "rtlgen/rgrval")
  470.   (parent (compiler rtl-generator))
  471.   (export (compiler rtl-generator)
  472.       generate/rvalue
  473.       load-closure-environment
  474.       make-cons-closure-indirection
  475.       make-cons-closure-redirection
  476.       make-closure-redirection
  477.       make-ic-cons
  478.       make-non-trivial-closure-cons
  479.       make-trivial-closure-cons
  480.       redirect-closure))
  481.  
  482. (define-package (compiler rtl-generator generate/combination)
  483.   (files "rtlgen/rgcomb")
  484.   (parent (compiler rtl-generator))
  485.   (export (compiler rtl-generator)
  486.       generate/combination)
  487.   (export (compiler rtl-generator combination/inline)
  488.       generate/invocation-prefix))
  489.  
  490. (define-package (compiler rtl-generator generate/return)
  491.   (files "rtlgen/rgretn")
  492.   (parent (compiler rtl-generator))
  493.   (export (compiler rtl-generator)
  494.       make-return-operand
  495.       generate/return
  496.       generate/return*
  497.       generate/trivial-return))
  498.  
  499. (define-package (compiler rtl-cse)
  500.   (files "rtlopt/rcse1"            ;RTL common subexpression eliminator
  501.      "rtlopt/rcse2"
  502.      "rtlopt/rcseep"        ;CSE expression predicates
  503.      "rtlopt/rcseht"        ;CSE hash table
  504.      "rtlopt/rcserq"        ;CSE register/quantity abstractions
  505.      "rtlopt/rcsesr"        ;CSE stack references
  506.      )
  507.   (parent (compiler))
  508.   (export (compiler top-level) common-subexpression-elimination))
  509.  
  510. (define-package (compiler rtl-optimizer)
  511.   (files "rtlopt/rdebug")
  512.   (parent (compiler)))
  513.  
  514. (define-package (compiler rtl-optimizer invertible-expression-elimination)
  515.   (files "rtlopt/rinvex")
  516.   (parent (compiler rtl-optimizer))
  517.   (export (compiler top-level) invertible-expression-elimination))
  518.  
  519. (define-package (compiler rtl-optimizer common-suffix-merging)
  520.   (files "rtlopt/rtlcsm")
  521.   (parent (compiler rtl-optimizer))
  522.   (export (compiler top-level) merge-common-suffixes!))
  523.  
  524. (define-package (compiler rtl-optimizer rtl-dataflow-analysis)
  525.   (files "rtlopt/rdflow")
  526.   (parent (compiler rtl-optimizer))
  527.   (export (compiler top-level) rtl-dataflow-analysis))
  528.  
  529. (define-package (compiler rtl-optimizer rtl-rewriting)
  530.   (files "rtlopt/rerite")
  531.   (parent (compiler rtl-optimizer))
  532.   (export (compiler top-level)
  533.       rtl-rewriting:post-cse
  534.       rtl-rewriting:pre-cse)
  535.   (export (compiler lap-syntaxer) add-rewriting-rule!))
  536.  
  537. (define-package (compiler rtl-optimizer lifetime-analysis)
  538.   (files "rtlopt/rlife")
  539.   (parent (compiler rtl-optimizer))
  540.   (export (compiler top-level) lifetime-analysis)
  541.   (export (compiler rtl-optimizer code-compression) mark-set-registers!))
  542.  
  543. (define-package (compiler rtl-optimizer code-compression)
  544.   (files "rtlopt/rcompr")
  545.   (parent (compiler rtl-optimizer))
  546.   (export (compiler top-level) code-compression))
  547.  
  548. (define-package (compiler rtl-optimizer register-allocation)
  549.   (files "rtlopt/ralloc")
  550.   (parent (compiler rtl-optimizer))
  551.   (export (compiler top-level) register-allocation))
  552.  
  553. (define-package (compiler lap-syntaxer)
  554.   (files "back/lapgn1"            ;LAP generator
  555.      "back/lapgn2"            ; "      "
  556.      "back/lapgn3"            ; "      "
  557.      "back/regmap"            ;Hardware register allocator
  558.      "machines/vax/lapgen"        ;code generation rules
  559.      "machines/vax/rules1"        ;  "      "        "
  560.      "machines/vax/rules2"        ;  "      "        "
  561.      "machines/vax/rules3"        ;  "      "        "
  562.      "machines/vax/rules4"        ;  "      "        "
  563.      "machines/vax/rulfix"        ;code generation rules: fixnums
  564.      "machines/vax/rulrew"        ;code rewriting rules
  565.      "back/syntax"            ;Generic syntax phase
  566.      "back/syerly"            ;Early binding version
  567.      "machines/vax/coerce"        ;Coercions: integer -> bit string
  568.      "back/asmmac"            ;Macros for hairy syntax
  569.      "machines/vax/insmac"        ;Macros for hairy syntax
  570.      "machines/vax/inerly"        ;Early binding version
  571.      "machines/vax/insutl"        ;Utilities for instructions
  572.      "machines/vax/instr1"        ;Vax Instructions
  573.      "machines/vax/instr2"        ;  "        "
  574.      "machines/vax/instr3"        ;  "        "
  575.      )
  576.   (parent (compiler))
  577.   (export (compiler)
  578.       available-machine-registers
  579.       lap-generator/match-rtl-instruction
  580.       lap:make-entry-point
  581.       lap:make-label-statement
  582.       lap:make-unconditional-branch
  583.       lap:syntax-instruction)
  584.   (export (compiler top-level)
  585.       *block-associations*
  586.       *interned-assignments*
  587.       *interned-constants*
  588.       *interned-global-links*
  589.       *interned-static-variables*
  590.       *interned-uuo-links*
  591.       *interned-variables*
  592.       *next-constant*
  593.       generate-lap)
  594.   (import (scode-optimizer expansion)
  595.       scode->scode-expander))
  596.  
  597. (define-package (compiler lap-syntaxer map-merger)
  598.   (files "back/mermap")
  599.   (parent (compiler lap-syntaxer))
  600.   (export (compiler lap-syntaxer)
  601.       merge-register-maps))
  602.  
  603. (define-package (compiler lap-syntaxer linearizer)
  604.   (files "back/linear")
  605.   (parent (compiler lap-syntaxer))
  606.   (export (compiler lap-syntaxer)
  607.       add-end-of-block-code!
  608.       add-extra-code!
  609.       bblock-linearize-lap
  610.       extra-code-block/xtra
  611.       declare-extra-code-block!
  612.       find-extra-code-block
  613.       linearize-lap
  614.       set-current-branches!
  615.       set-extra-code-block/xtra!)
  616.   (export (compiler top-level)
  617.       *end-of-block-code*
  618.       linearize-lap))
  619.  
  620. (define-package (compiler lap-optimizer)
  621.   (files "machines/vax/lapopt")
  622.   (parent (compiler))
  623.   (export (compiler top-level)
  624.       optimize-linear-lap))
  625.  
  626. (define-package (compiler assembler)
  627.   (files "machines/vax/assmd"        ;Machine dependent
  628.      "back/symtab"            ;Symbol tables
  629.      "back/bitutl"            ;Assembly blocks
  630.      "back/bittop"            ;Assembler top level
  631.      )
  632.   (parent (compiler))
  633.   (export (compiler)
  634.       instruction-append)
  635.   (export (compiler top-level)
  636.       assemble))
  637.  
  638. (define-package (compiler disassembler)
  639.   (files "machines/vax/dassm1"
  640.      "machines/vax/dassm2"
  641.      "machines/vax/dassm3"
  642.      "machines/vax/dinstr1"
  643.      "machines/vax/dinstr2"
  644.      "machines/vax/dinstr3"
  645.      )
  646.   (parent (compiler))
  647.   (export ()
  648.       compiler:write-lap-file
  649.       compiler:disassemble)
  650.   (import (runtime compiler-info)
  651.       compiled-code-block/dbg-info
  652.       dbg-info-vector/blocks-vector
  653.       dbg-info-vector?
  654.       dbg-info/labels
  655.       dbg-label/external?
  656.       dbg-label/name
  657.       dbg-labels/find-offset))
  658.  
  659. #|
  660. (define-package (compiler disassembler macros)
  661.   (files "machines/vax/dsyn"
  662.      )
  663.   (parent (compiler disassembler))
  664.   (export (compiler)
  665.       disassembler-syntax-table)
  666.   (initialization (initialize-package!)))
  667. |#