• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • 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
        • C
          • Syntax-for-tools
            • Formalized-subset
            • Mapping-to-language-definition
            • Input-files
            • Compilation-database
            • Printer
            • Output-files
            • Abstract-syntax-operations
            • Implementation-environments
            • Abstract-syntax
            • Concrete-syntax
            • Disambiguation
            • Validation
            • Gcc-builtins
            • Preprocessing
              • Preprocessor
                • Preprocessor-states
                  • Ppstate
                  • Plexeme
                  • Pnumber
                  • Macro-info
                  • Macro-add
                  • Init-ppstate
                  • Plexeme-token/newline-p
                  • Newline
                  • Plexeme-option
                  • Macro-info-option
                  • Macro-table
                  • Plexeme+span
                  • Update-ppstate->lexemes-unread
                  • Update-ppstate->lexemes-read
                  • Update-ppstate->lexemes-length
                  • Update-ppstate->chars-unread
                  • Update-ppstate->chars-read
                  • Update-ppstate->version
                  • Update-ppstate->position
                  • Update-ppstate->macros
                  • Update-ppstate->chars-length
                  • Macro-lookup
                  • Update-ppstate->bytes
                  • Update-ppstate->size
                  • Plexeme-token/space-p
                  • Plexeme-tokenp
                  • Ppstate->gcc
                  • Plexeme-list-token/space-p
                  • Ppstate->size
                  • Ppstate->lexemes-unread
                  • Ppstate->lexemes-read
                  • Ppstate->lexemes-length
                  • Ppstate->chars-unread
                  • Ppstate->bytes
                  • Plexeme-list-token/newline-p
                  • Plexeme-list-not-token/newline-p
                  • Ident-macroinfo-alist
                  • Update-ppstate->lexeme
                  • Update-ppstate->char
                  • Ppstate->version
                  • Ppstate->macros
                  • Ppstate->chars-read
                  • Ppstate->chars-length
                  • Plexeme-list-tokenp
                  • Plexeme-list-not-tokenp
                  • Macro-table-init
                  • Ppstate->lexeme
                  • Ppstate->char
                  • Ppstate-fix
                  • Plexeme+span-list
                  • Plexeme-list
                  • Irr-pnumber
                  • Irr-plexeme
                  • Irr-macro-table
                  • Ppstate->position
                • Pread-token/newline
                • Pread-token
                • Preprocessor-lexer
                • Pproc-files
                • Preprocessor-printer
                • Pproc-file
                • Filepath-plexeme-list-alist-to-filepath-filedata-map
                • Filepath-plexeme-list-alist
                • Preprocessor-reader
                • Preprocessor-messages
              • External-preprocessing
            • Parsing
          • Atc
          • Transformation-tools
          • Language
          • Representation
          • Insertion-sort
          • Pack
        • Soft
        • Bv
        • Imp-language
        • Ethereum
        • Event-macros
        • Java
        • Riscv
        • Bitcoin
        • Zcash
        • Yul
        • ACL2-programming-language
        • Prime-fields
        • Json
        • Syntheto
        • File-io-light
        • Cryptography
        • Number-theory
        • Axe
        • Lists-light
        • Builtins
        • Solidity
        • Helpers
        • Htclient
        • Typed-lists-light
        • Arithmetic-light
      • X86isa
      • Axe
      • Execloader
    • Math
    • Testing-utilities
  • Preprocessor

Preprocessor-states

States of the preprocessor.

These are somewhat analogous to the parser states, but for the preprocessor.

We include the file that defines parser states because we reuse some of the definitions here.

Subtopics

Ppstate
Fixtype of preprocessor states.
Plexeme
Fixtype of preprocessing lexems.
Pnumber
Fixtype of preprocessing numbers [C17:6.4.8] [C17:A.1.9].
Macro-info
Fixtype of information about a macro.
Macro-add
Add a macro to the macro table.
Init-ppstate
Initialize the preprocessor state.
Plexeme-token/newline-p
Check if a preprocessing lexeme is a token or a newline.
Newline
Fixtype of new lines.
Plexeme-option
Fixtype of optional preprocessing lexemes.
Macro-info-option
Fixtype of optional information about a macro.
Macro-table
Fixtype of macro tables.
Plexeme+span
Fixtype of pairs consisting of a lexeme and a span.
Update-ppstate->lexemes-unread
Update-ppstate->lexemes-read
Update-ppstate->lexemes-length
Update-ppstate->chars-unread
Update-ppstate->chars-read
Update-ppstate->version
Update-ppstate->position
Update-ppstate->macros
Update-ppstate->chars-length
Macro-lookup
Look up a macro in a macro table.
Update-ppstate->bytes
Update-ppstate->size
Plexeme-token/space-p
Check if a preprocessing lexeme is a token or a (single) space.
Plexeme-tokenp
Check if a preprocessing lexeme is a token.
Ppstate->gcc
Flag saying whether GCC extensions are supported or not.
Plexeme-list-token/space-p
Check if every preprocessing lexeme in a list is a token or (single) space.
Ppstate->size
Ppstate->lexemes-unread
Ppstate->lexemes-read
Ppstate->lexemes-length
Ppstate->chars-unread
Ppstate->bytes
Plexeme-list-token/newline-p
Check if every preprocessing lexeme in a list is a token or newline.
Plexeme-list-not-token/newline-p
Check if no preprocessing lexeme in a list is a token or newline.
Ident-macroinfo-alist
Fixtype of alists from identifiers to macro information.
Update-ppstate->lexeme
Update-ppstate->char
Ppstate->version
Ppstate->macros
Ppstate->chars-read
Ppstate->chars-length
Plexeme-list-tokenp
Check if every preprocessing lexeme in a list is a token.
Plexeme-list-not-tokenp
Check if no preprocessing lexeme in a list is a token.
Macro-table-init
Initial macro table.
Ppstate->lexeme
Ppstate->char
Ppstate-fix
Plexeme+span-list
Fixtype of lists of pairs consisting of a lexeme and a span.
Plexeme-list
Fixtype of lists of preprocessing lexemes.
Irr-pnumber
An irrelevant preprocessing number.
Irr-plexeme
An irrelevant preprocessing lexeme.
Irr-macro-table
An irrelevant macro table.
Ppstate->position