• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • 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
            • Vls-scannedalist-p
            • Vls-loadedalist-p
            • Vls-commands
            • Vls-data-p
            • Vl-server-opts-p
              • Parse-vl-server-opts
                • Parse-vl-server-opts-long
                • Parse-vl-server-opts-aux
                • Parse-vl-server-opts-bundle
                  • Parse-vl-server-opts-short->long-list
                  • Parse-vl-server-opts-short->long
                • Vl-server-opts
                • Make-vl-server-opts
                • Change-vl-server-opts
                • Honsed-vl-server-opts
                • Make-honsed-vl-server-opts
                • *vl-server-opts-usage*
                • Vl-server-opts->root
                • Vl-server-opts->readme
                • Vl-server-opts->public
                • Vl-server-opts->port
                • Vl-server-opts->mem
                • Vl-server-opts->help
              • Vl-descriptionlist-summaries
              • Vls-transdb
              • Vl-describe
              • Ts-queue
              • Vls-get-plainsrc
              • Vl-description->warnings
              • Vls-showloc
              • File-layout
              • Vls-remove-from-scannedalist
              • Vls-describe
              • Vl-server-top
              • Vls-port-table
              • Vl-find-description-insensitive
              • Vls-get-warnings
              • Vls-get-summary
              • Vls-get-origsrc
              • Vl-ppc-description
              • Vls-get-parents
              • Vls-get-children
              • Vls-data-origname-reportcard
              • Vls-data-from-zip
              • Start
              • Vls-make-scannedalist
              • Vls-get-summaries
              • Vls-get-unloaded-json
              • Vls-get-desctypes
              • Vls-scannedalist-to-json
              • Vls-loadedalist-to-json
              • Vl-description-summary
              • *vl-server-help*
              • Vl-descalist->descriptions/types
              • Stop
            • Vl-gather
            • Vl-zip
            • Vl-main
            • Split-plusargs
            • Vl-shell
            • Vl-json
          • Mlib
          • Transforms
        • X86isa
        • Svl
        • Rtl
      • Software-verification
      • Math
      • Testing-utilities
    • Parse-vl-server-opts

    Parse-vl-server-opts-bundle

    Signature
    (parse-vl-server-opts-bundle getopt::longnames 
                                 args getopt::acc getopt::seen) 
     
      → 
    (mv getopt::errmsg getopt::acc getopt::seen rest)
    Arguments
    getopt::longnames — The already-expanded out names of the bundled options, with no dashes.
        Guard (string-listp getopt::longnames).
    args — Remaining arguments past longname.
        Guard (string-listp args).
    getopt::acc — Structure we're updating.
        Guard (vl-server-opts-p getopt::acc).
    getopt::seen — List of longnames that we've seen so far.
        Guard (string-listp getopt::seen).
    Returns
    getopt::errmsg — NIL on success or an error message.
    getopt::acc — Type (vl-server-opts-p getopt::acc), given (force (vl-server-opts-p getopt::acc)).
    getopt::seen — Type (string-listp getopt::seen), given (and (force (string-listp getopt::longnames)) (force (string-listp getopt::seen))) .
    rest — Type (string-listp rest), given (force (string-listp args)).

    Definitions and Theorems

    Function: parse-vl-server-opts-bundle

    (defun parse-vl-server-opts-bundle
           (getopt::longnames args getopt::acc getopt::seen)
     (declare (xargs :guard (and (string-listp getopt::longnames)
                                 (string-listp args)
                                 (vl-server-opts-p getopt::acc)
                                 (string-listp getopt::seen))))
     (let ((__function__ 'parse-vl-server-opts-bundle))
       (declare (ignorable __function__))
       (b*
        (((when (atom getopt::longnames))
          (mv nil getopt::acc getopt::seen args))
         ((mv getopt::err getopt::acc rest)
          (parse-vl-server-opts-long (car getopt::longnames)
                                     nil args getopt::acc getopt::seen))
         ((when getopt::err)
          (mv getopt::err
              getopt::acc getopt::seen rest))
         (getopt::seen (cons (car getopt::longnames)
                             getopt::seen)))
        (parse-vl-server-opts-bundle (cdr getopt::longnames)
                                     rest getopt::acc getopt::seen))))

    Theorem: vl-server-opts-p-of-parse-vl-server-opts-bundle.acc

    (defthm vl-server-opts-p-of-parse-vl-server-opts-bundle.acc
     (implies
       (force (vl-server-opts-p getopt::acc))
       (b*
         (((mv getopt::?errmsg getopt::?acc
               getopt::?seen common-lisp::?rest)
           (parse-vl-server-opts-bundle getopt::longnames
                                        args getopt::acc getopt::seen)))
         (vl-server-opts-p getopt::acc)))
     :rule-classes :rewrite)

    Theorem: string-listp-of-parse-vl-server-opts-bundle.seen

    (defthm string-listp-of-parse-vl-server-opts-bundle.seen
     (implies
       (and (force (string-listp getopt::longnames))
            (force (string-listp getopt::seen)))
       (b*
         (((mv getopt::?errmsg getopt::?acc
               getopt::?seen common-lisp::?rest)
           (parse-vl-server-opts-bundle getopt::longnames
                                        args getopt::acc getopt::seen)))
         (string-listp getopt::seen)))
     :rule-classes :rewrite)

    Theorem: string-listp-of-parse-vl-server-opts-bundle.rest

    (defthm string-listp-of-parse-vl-server-opts-bundle.rest
     (implies
       (force (string-listp args))
       (b*
         (((mv getopt::?errmsg getopt::?acc
               getopt::?seen common-lisp::?rest)
           (parse-vl-server-opts-bundle getopt::longnames
                                        args getopt::acc getopt::seen)))
         (string-listp rest)))
     :rule-classes :rewrite)

    Theorem: parse-vl-server-opts-bundle-makes-progress

    (defthm parse-vl-server-opts-bundle-makes-progress
     (<=
      (len
       (mv-nth
           3
           (parse-vl-server-opts-bundle getopt::longnames
                                        args getopt::acc getopt::seen)))
      (len args))
     :rule-classes ((:rewrite) (:linear)))