• Top
    • Documentation
      • Xdoc
        • Undocumented
        • Save
        • Defsection
        • Markup
        • Preprocessor
        • Terminal
        • Emacs-links
        • Entities
        • Defxdoc
        • Katex-integration
        • Constructors
        • Defxdoc+
        • Save-rendered
        • Add-resource-directory
        • Testing
        • Order-subtopics
        • Save-rendered-event
        • Archive-matching-topics
        • Archive-xdoc
        • Xdoc-extend
        • Set-default-parents
        • Missing-parents
          • Keywords
            • *keywords-gcc-c17*
            • *keywords-gcc-c23*
            • *keywords-c23*
            • *keywords-c17*
          • Movbe-reverse-bytes
          • Missing-parents-test
        • Defpointer
        • Defxdoc-raw
        • Xdoc-tests
        • Xdoc-prepend
        • Defsection-progn
        • Gen-xdoc-for-file
      • ACL2-doc
      • Recursion-and-induction
      • Loop$-primer
      • Operational-semantics
      • Pointers
      • Doc
      • Documentation-copyright
      • Publications
      • Course-materials
      • Args
      • ACL2-doc-summary
      • Finding-documentation
      • Broken-link
      • Doc-terminal-test-2
      • Doc-terminal-test-1
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Missing-parents

Keywords

List of keywords according to the C version.

Signature
(keywords version) → list
Arguments
version — Guard (versionp version).
Returns
list — Type (string-listp list).

Definitions and Theorems

Function: keywords

(defun keywords (version)
 (declare (xargs :guard (versionp version)))
 (version-case version
               :c17 *keywords-c17*
               :c17+gcc (append *keywords-c17* *keywords-gcc-c17*)
               :c23 *keywords-c23*
               :c23+gcc (append *keywords-c23* *keywords-gcc-c23*)))

Theorem: string-listp-of-keywords

(defthm string-listp-of-keywords
  (b* ((list (keywords version)))
    (string-listp list))
  :rule-classes :rewrite)

Theorem: no-duplicatesp-equal-of-keywords

(defthm no-duplicatesp-equal-of-keywords
  (b* ((list (keywords version)))
    (no-duplicatesp-equal list))
  :rule-classes :rewrite)

Theorem: keywords-of-version-fix-version

(defthm keywords-of-version-fix-version
  (equal (keywords (version-fix version))
         (keywords version)))

Theorem: keywords-version-equiv-congruence-on-version

(defthm keywords-version-equiv-congruence-on-version
  (implies (version-equiv version version-equiv)
           (equal (keywords version)
                  (keywords version-equiv)))
  :rule-classes :congruence)

Subtopics

*keywords-gcc-c17*
List of the additional GCC keywords for C17 [GCCM].
*keywords-gcc-c23*
List of the additional GCC keywords for C23 [GCCM].
*keywords-c23*
List of C23 keywords [C23:6.4.2].
*keywords-c17*
List of the C17 keywords [C17:6.4.1/1].