• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
      • Sv
      • Fgl
      • Vwsim
      • Vl
        • Syntax
        • Loader
        • Warnings
        • Getting-started
        • Utilities
        • Printer
        • Kit
          • Vl-lint
          • Vl-server
          • Vl-gather
            • Vl-gather-opts-p
            • Vl-modulelist-original-sources
            • Vl-module-original-source
            • Vl-gather-top
              • *vl-gather-help*
              • Vl-gather-main
              • Vl-design-original-source
            • Vl-zip
            • Vl-main
            • Split-plusargs
            • Vl-shell
            • Vl-json
          • Mlib
          • Transforms
        • X86isa
        • Svl
        • Rtl
      • Software-verification
      • Math
      • Testing-utilities
    • Vl-gather

    Vl-gather-top

    Top-level vl gather command.

    Signature
    (vl-gather-top argv &key (state 'state)) → state
    Arguments
    argv — Guard (string-listp argv).

    Definitions and Theorems

    Function: vl-gather-top-fn

    (defun vl-gather-top-fn (argv state)
      (declare (xargs :stobjs (state)))
      (declare (xargs :guard (string-listp argv)))
      (let ((__function__ 'vl-gather-top))
        (declare (ignorable __function__))
        (b* (((mv errmsg opts start-files-and-plusargs)
              (parse-vl-gather-opts argv))
             ((when errmsg)
              (die "~@0~%" errmsg)
              state)
             ((mv start-files plusargs)
              (split-plusargs start-files-and-plusargs))
             (opts (change-vl-gather-opts opts
                                          :plusargs plusargs
                                          :start-files start-files))
             ((vl-gather-opts opts) opts)
             ((when opts.help)
              (vl-cw-ps-seq (vl-print *vl-gather-help*))
              (exit-ok)
              state)
             ((when opts.readme)
              (vl-cw-ps-seq (vl-print *vl-gather-readme*))
              (exit-ok)
              state)
             ((unless (consp opts.start-files))
              (die "No files to process.")
              state)
             (- (cw "VL Gather Configuration:~%"))
             (- (cw " - start files: ~x0~%"
                    opts.start-files))
             (state (must-be-regular-files! opts.start-files))
             (- (cw " - search path: ~x0~%"
                    opts.search-path))
             (state (must-be-directories! opts.search-path))
             (- (cw " - include directories: ~x0~%"
                    opts.include-dirs))
             (state (must-be-directories! opts.include-dirs))
             (- (and opts.defines
                     (cw "; defines: ~x0~%" opts.defines)))
             (- (cw " - output file: ~x0~%" opts.output))
             (- (cw "; Soft heap size ceiling: ~x0 GB~%"
                    opts.mem))
             (- (set-max-mem (* (expt 2 30) opts.mem)))
             (state (vl-gather-main opts)))
          (exit-ok)
          state)))