slang::parsing namespace

Lexing, 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

Possible encodings for encrypted text used in a pragma protect region.

enum class slang::parsing::KeywordVersion: uint8_t

Different restricted sets of keywords that can be set using the `begin_keywords directive.