• 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
          • Preprocessor
          • Vl-loadconfig
          • Lexer
          • Vl-loadstate
          • Parser
          • Vl-load-merge-descriptions
          • Scope-of-defines
          • Vl-load-file
          • Vl-flush-out-descriptions
          • Vl-description
          • Vl-loadresult
          • Vl-read-file
          • Vl-find-basename/extension
          • Vl-find-file
          • Vl-read-files
          • Extended-characters
            • Vl-echar-p
            • Vl-location
            • Vl-echarlist->chars
            • Vl-echarlist-from-chars
            • Vl-echarlist-from-str
            • Vl-echarlist-unsigned-value
            • Vl-change-echarlist-locations
            • Vl-echar-digit-value
            • Vl-echarlist->string
          • Vl-load
          • Vl-load-main
          • Vl-load-description
          • Vl-descriptions-left-to-load
          • Inject-warnings
          • Vl-load-descriptions
          • Vl-load-files
          • Vl-load-summary
          • Vl-collect-modules-from-descriptions
          • Vl-descriptionlist
        • Transforms
        • Lint
        • Mlib
        • Server
        • Kit
        • Printer
        • Esim-vl
        • Well-formedness
      • Sv
      • Fgl
      • Vwsim
      • Vl
      • X86isa
      • Svl
      • Rtl
    • Software-verification
    • Math
    • Testing-utilities
  • Loader

Extended-characters

Characters with additional annotations.

Our lexer (and preprocessor) operate on lists of "extended characters", which associate regular characterp objects with their origin in the Verilog source code.

We represent these origins using vl-location-p structures, which simply have a file name, line number, and column number. We represent each extended character as an vl-echar-p, a structure that associates a character with its location.

Subtopics

Vl-echar-p
Representation of a single extended character.
Vl-location
Representation of a point in a source file.
Vl-echarlist->chars
(vl-echarlist->chars x) maps vl-echar->char across a list.
Vl-echarlist-from-chars
Transform an ordinary character list into a vl-echarlist-p.
Vl-echarlist-from-str
Transform an ordinary stringp into a vl-echarlist-p.
Vl-echarlist-unsigned-value
(vl-echarlist-unsigned-value x radix) interprets the extended character list x as a base-radix number, or returns nil if x is invalid.
Vl-change-echarlist-locations
Override the locations of characters.
Vl-echar-digit-value
(vl-echar-digit-value x radix) interprets the extended character x as a base-radix digit, or returns nil if x is not a valid digit in this base.
Vl-echarlist->string
Transform a vl-echarlist-p to a string.