• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
        • Warnings
        • Primitives
        • Use-set
        • Syntax
        • Getting-started
        • Utilities
        • Loader
        • Transforms
        • Lint
        • Mlib
        • Server
        • Kit
        • Printer
          • Ps
          • Basic-printing
          • Verilog-printing
            • Vl-fmt
            • Vl-ppc-module
            • Vl-pp-expr
              • Vl-pp-exprlist
              • Vl-pp-atts-aux
              • Vl-pp-atts
            • Vl-maybe-escape-identifier
            • Vl-print-ext-wirename
            • Vl-pp-module
            • Vl-print-wirename
            • Vl-print-loc
            • Vl-print-modname
            • Vl-pp-origexpr
            • Vl-pps-module
            • Vl-pps-expr
            • Vl-ppc-modulelist
            • Vl-ppcs-module
            • Vl-ps-update-show-atts
            • Vl-pps-origexpr
            • Vl-pps-modulelist
            • Vl-ppcs-modulelist
            • Vl-cw-obj
            • Vl-ps->show-atts-p
            • Vl-cw
          • Printing-locally
          • Formatted-printing
          • Accessing-printed-output
          • Vl-printedlist
          • Json-printing
        • Esim-vl
        • Well-formedness
      • Sv
      • Fgl
      • Vwsim
      • Vl
      • X86isa
      • Svl
      • Rtl
    • Software-verification
    • Math
    • Testing-utilities
  • Verilog-printing

Vl-pp-expr

Pretty-printer for expressions.

Signature
(vl-pp-expr x &key (ps 'ps)) → ps
Arguments
x — Guard (vl-expr-p x).

(vl-pp-expr x &key (ps 'ps)) pretty-prints the expression x to ps. See also vl-pps-expr and vl-pp-origexpr.

Originally we defensively introduced parens around every operator. But that was kind of ugly. Now each operator is responsible for putting parens around its arguments, if necessary.

Theorem: vl-pp-expr-fn-of-vl-expr-fix-x

(defthm vl-pp-expr-fn-of-vl-expr-fix-x
  (equal (vl-pp-expr-fn (vl-expr-fix x) ps)
         (vl-pp-expr-fn x ps)))

Theorem: vl-pp-atts-aux-fn-of-vl-atts-fix-x

(defthm vl-pp-atts-aux-fn-of-vl-atts-fix-x
  (equal (vl-pp-atts-aux-fn (vl-atts-fix x) ps)
         (vl-pp-atts-aux-fn x ps)))

Theorem: vl-pp-atts-fn-of-vl-atts-fix-x

(defthm vl-pp-atts-fn-of-vl-atts-fix-x
  (equal (vl-pp-atts-fn (vl-atts-fix x) ps)
         (vl-pp-atts-fn x ps)))

Theorem: vl-pp-exprlist-fn-of-vl-exprlist-fix-x

(defthm vl-pp-exprlist-fn-of-vl-exprlist-fix-x
  (equal (vl-pp-exprlist-fn (vl-exprlist-fix x)
                            ps)
         (vl-pp-exprlist-fn x ps)))

Theorem: vl-pp-expr-fn-vl-expr-equiv-congruence-on-x

(defthm vl-pp-expr-fn-vl-expr-equiv-congruence-on-x
  (implies (vl-expr-equiv x x-equiv)
           (equal (vl-pp-expr-fn x ps)
                  (vl-pp-expr-fn x-equiv ps)))
  :rule-classes :congruence)

Theorem: vl-pp-atts-aux-fn-vl-atts-equiv-congruence-on-x

(defthm vl-pp-atts-aux-fn-vl-atts-equiv-congruence-on-x
  (implies (vl-atts-equiv x x-equiv)
           (equal (vl-pp-atts-aux-fn x ps)
                  (vl-pp-atts-aux-fn x-equiv ps)))
  :rule-classes :congruence)

Theorem: vl-pp-atts-fn-vl-atts-equiv-congruence-on-x

(defthm vl-pp-atts-fn-vl-atts-equiv-congruence-on-x
  (implies (vl-atts-equiv x x-equiv)
           (equal (vl-pp-atts-fn x ps)
                  (vl-pp-atts-fn x-equiv ps)))
  :rule-classes :congruence)

Theorem: vl-pp-exprlist-fn-vl-exprlist-equiv-congruence-on-x

(defthm vl-pp-exprlist-fn-vl-exprlist-equiv-congruence-on-x
  (implies (vl-exprlist-equiv x x-equiv)
           (equal (vl-pp-exprlist-fn x ps)
                  (vl-pp-exprlist-fn x-equiv ps)))
  :rule-classes :congruence)

Subtopics

Vl-pp-exprlist
Vl-pp-atts-aux
Vl-pp-atts