namespace
parsingLexing, preprocessing, and parsing functionality.
Classes
- class Lexer
- The Lexer is responsible for taking source text and chopping it up into tokens.
- struct LexerOptions
- Contains various options that can control lexing behavior.
- struct NumericTokenFlags
- Various flags for numeric tokens.
- class Parser
- Implements a full syntax parser for SystemVerilog.
- class ParserBase
- Base class for the Parser, which contains helpers and language-agnostic parsing routines.
- struct ParserMetadata
- Various bits of metadata collected during parsing.
- struct ParserOptions
- Contains various options that can control parsing behavior.
- class Preprocessor
- Preprocessor - Interface between lexer and parser.
- struct PreprocessorOptions
- Contains various options that can control preprocessing behavior.
- class Token
- Represents a single lexed token, including leading trivia, original location, token kind, and any related information derived from the token itself (such as the lexeme).
- class Trivia
- The Trivia class holds on to a piece of source text that should otherwise not turn into a token; for example, a preprocessor directive, a line continuation character, or a comment.
Enums
- enum class ProtectEncoding { UUEncode, Base64, QuotedPrintable, Raw }
- Possible encodings for encrypted text used in a pragma protect region.
-
enum class KeywordVersion: uint8_
t { v1364_1995 = 0, v1364_2001_noconfig = 1, v1364_2001 = 2, v1364_2005 = 3, v1800_2005 = 4, v1800_2009 = 5, v1800_2012 = 6, v1800_2017 = 7, v1800_2023 = 8 } - Different restricted sets of keywords that can be set using the `begin_keywords directive.
Enum documentation
enum class slang:: parsing:: ProtectEncoding
#include <slang/parsing/Lexer.h>
Possible encodings for encrypted text used in a pragma protect region.
enum class slang:: parsing:: KeywordVersion: uint8_ t
#include <slang/parsing/LexerFacts.h>
Different restricted sets of keywords that can be set using the `begin_keywords directive.