• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
        • Crypto-hdwallet
        • Apt
        • Error-checking
        • Fty-extensions
        • Isar
        • Kestrel-utilities
        • Set
        • Soft
        • C
          • Syntax-for-tools
          • Atc
            • Atc-implementation
              • Atc-abstract-syntax
              • Atc-pretty-printer
                • Pprint-expressions
                • Pprint-expr
                • Expr-grade
                • Pprint-obj-declor
                • Expr-grade-<=
                • Binop-expected-grades
                • Pprint-obj-declon
                • Expr->grade
                • Pprint-tyspecseq
                • Pprint-tag-declon
                • Pprint-struct-declon-list
                • Pprint-fun-declor
                • Pprint-file
                • Pprint-stmt
                • Pprint-struct-declon
                • Pprint-obj-adeclor
                • Pprint-initer
                • Pprint-fun-declon
                • Pprint-indent
                • Pprint-hex-const
                • Pprint-fileset
                  • Pprint-dec-const
                  • Pprinted-lines-to-file
                  • Pprint-tyname
                  • Pprint-param-declon-list
                  • Pprint-oct-const
                  • Pprint-iconst-length
                  • Pprint-iconst
                  • Pprint-const
                  • Expr-grade-index
                  • Pprint-param-declon
                  • Pprint-label
                  • Pprint-ident-list
                  • Pprint-binop
                  • Pprint-fundef
                  • Pprint-file-to-filesystem
                  • Pprint-ext-declon-list
                  • Pprint-unop
                  • Pprint-line
                  • Pprint-ident
                  • Pprint-ext-declon
                  • Pprint-comma-sep
                  • Pprint-transunit
                  • Pprint-one-line
                  • Pprinted-lines-to-channel
                  • Pprint-one-line-blank
                  • Pprint-line-blank
                • Atc-event-and-code-generation
                • Fty-pseudo-term-utilities
                • Atc-term-recognizers
                • Atc-input-processing
                • Atc-shallow-embedding
                • Atc-process-inputs-and-gen-everything
                • Atc-table
                • Atc-fn
                • Atc-pretty-printing-options
                • Atc-types
                • Atc-macro-definition
              • Atc-tutorial
            • Language
            • Representation
            • Transformation-tools
            • Insertion-sort
            • Pack
          • Bv
          • Imp-language
          • Event-macros
          • Java
          • Bitcoin
          • Ethereum
          • Yul
          • Zcash
          • ACL2-programming-language
          • Prime-fields
          • Json
          • Syntheto
          • File-io-light
          • Cryptography
          • Number-theory
          • Lists-light
          • Axe
          • Builtins
          • Solidity
          • Helpers
          • Htclient
          • Typed-lists-light
          • Arithmetic-light
        • X86isa
        • Axe
        • Execloader
      • Math
      • Testing-utilities
    • Atc-pretty-printer

    Pprint-fileset

    Pretty-print a file set to the file system.

    Signature
    (pprint-fileset fileset file-name options state) 
      → 
    (mv erp val state)
    Arguments
    fileset — Guard (filesetp fileset).
    file-name — Guard (stringp file-name).
    options — Guard (pprint-options-p options).

    We pretty-print each file in the fileset, at the associated path. For now we cause an error if there is a header (which should not be there, but we will add support soon), and we just generate the source file, by appending the .c extension to the path without extension.

    Definitions and Theorems

    Function: pprint-fileset

    (defun pprint-fileset (fileset file-name options state)
     (declare (xargs :stobjs (state)))
     (declare (xargs :guard (and (filesetp fileset)
                                 (stringp file-name)
                                 (pprint-options-p options))))
     (let ((__function__ 'pprint-fileset))
      (declare (ignorable __function__))
      (b* ((path-wo-ext (fileset->path-wo-ext fileset)))
       (if
        (fileset->dot-h fileset)
        (b* (((er &)
              (pprint-file-to-filesystem
                   (fileset->dot-h fileset)
                   nil options (str::cat path-wo-ext ".h")
                   state)))
          (pprint-file-to-filesystem (fileset->dot-c fileset)
                                     (str::cat file-name ".h")
                                     options (str::cat path-wo-ext ".c")
                                     state))
        (pprint-file-to-filesystem
             (fileset->dot-c fileset)
             nil options (str::cat path-wo-ext ".c")
             state)))))