• 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
          • Scopestack
            • Vl-interfaceportlist->ifnames
            • Vl-scope-find-item
            • Vl-blockscope
            • Vl-importlist-find-explicit-item
            • Vl-scopestack-find-item/context
            • Vl-importlist-find-implicit-item
            • Vl-import-stars-find-item
            • Vl-importlist->explicit-item-alist
            • Vl-scopestack-find-definition/ss
            • Vl-scopeitem
            • Vl-scopestack-find-package/ss
            • Vl-scopeinfo-find-item
            • Vl-scopestack-find-item/ss
            • Vl-scopestack
            • Vl-scopeinfo
            • Scopestack-constants
              • *vl-scopes->items*
              • *vl-scopes->pkgs*
              • *vl-scopes->defs*
              • *vl-scopes->portdecls*
            • Vl-scopestack-push
            • Vl-scope->scopeinfo
            • Vl-scope-find-item-fast
            • Vl-module-scope-find-item
            • Vl-importresult
            • Vl-genblob-scope-find-item
            • Vl-design-scope-find-definition
            • Vl-scopestack-find-item
            • Vl-scopestack-find-definition
            • Vl-scope-find-portdecl
            • Vl-scope-find-definition
            • Vl-package-scope-find-item
            • Vl-interface-scope-find-portdecl
            • Vl-interface-scope-find-item
            • Vl-genblob-scope-find-portdecl
            • Vl-design-scope-find-item
            • Vl-blockscope-scope-find-item
            • Vl-scopestack-find-package
            • Vl-scope-find-package
            • Vl-module-scope-find-portdecl
            • Vl-design-scope-find-package
            • Vl-scope-find-portdecl-fast
            • Vl-package-scope-item-alist-top
            • Vl-scopedef
            • Vl-scope-portdecl-alist
            • Vl-scope-package-alist
            • Vl-scope-find-definition-fast
            • Vl-scope-definition-alist
            • Vl-scope-find-package-fast
            • Vl-scopestack->path-aux
            • Vl-scopestack->path
            • Vl-scopestack->design
            • Vl-scopestack-init
            • Vl-scopeitem->name
            • Vl-importlist->star-packages
            • Vl-scopestack-pop
            • Vl-scopestack-nesting-level
            • Vl-scope
            • Vl-design-scope-package-alist-top
            • Vl-scopestack-toplevel-p
            • Vl-scope->name
            • Vl-scopestacks-free
            • Vl-importresult-alist
          • Filtering-by-name
          • Vl-namefactory
          • Substitution
          • Allexprs
          • Hid-tools
          • Vl-consteval
          • Range-tools
          • Lvalexprs
          • Hierarchy
          • Finding-by-name
          • Expr-tools
          • Expr-slicing
          • Stripping-functions
          • Stmt-tools
          • Modnamespace
          • Vl-parse-expr-from-str
          • Welltyped
          • Reordering-by-name
          • Flat-warnings
          • Genblob
          • Expr-building
          • Datatype-tools
          • Syscalls
          • Relocate
          • Expr-cleaning
          • Namemangle
          • Caremask
          • Port-tools
          • Lvalues
        • Server
        • Kit
        • Printer
        • Esim-vl
        • Well-formedness
      • Sv
      • Fgl
      • Vwsim
      • Vl
      • X86isa
      • Svl
      • Rtl
    • Software-verification
    • Math
    • Testing-utilities
  • Scopestack

Scopestack-constants

Meta-information about the kinds of scopes and the kinds of elements they can contain.

These tables are used to generate most of the scopestack code. The format for each entry is:

(scope-name  feature-list  element-list)

The feature-list is a list of keywords that are used in the templates.

The element-list contains information about the items. Its entries can be as simple as field names, or can be lists of the form (name [keyword options]), where the options account for various kinds of departures from convention. Current keywords:

  • :name foo denotes that the accessor for the name of the item is vl-itemtype->foo, rather than the default vl-itemtype->name.
  • :acc foo denotes that the accessor for the items within the scope is vl-scopetype->foo, rather than the default vl-scopetype->items.
  • :maybe-stringp t denotes that the name accessor might return nil, rather than a string.
  • :sum-type t denotes that the item actually encompasses two or more item types.
  • :transsum t denotes that the item is a transparent (tag-based) sum type.

Subtopics

*vl-scopes->items*
Information about the kinds of items in each scope.
*vl-scopes->pkgs*
Information about which scopes can contain packages.
*vl-scopes->defs*
Information about the kinds of definitions in each scope.
*vl-scopes->portdecls*
Information about the kinds of scopes that have port declarations.