class
#include <slang/parsing/Parser.h>
Parser Implements a full syntax parser for SystemVerilog.
Public functions
-
auto parseCompilationUnit() -> syntax::
CompilationUnitSyntax& - Parse a whole compilation unit.
-
auto parseLibraryMap() -> syntax::
LibraryMapSyntax& - Parse a library map file.
-
auto parseExpression() -> syntax::
ExpressionSyntax& - Parse an expression / statement / module / class / name.
-
auto parseGuess() -> syntax::
SyntaxNode& - Generalized node parse function that tries to figure out what we're looking at and parse that specifically.
- auto isDone() -> bool
- Check whether the parser has consumed the entire input stream.
- auto getMetadata() -> ParserMetadata&&
- Gets the current set of metadata collected during parsing.
Function documentation
syntax:: ExpressionSyntax& slang:: parsing:: Parser:: parseExpression()
Parse an expression / statement / module / class / name.
These are mostly for testing; only use if you know that the source stream is currently looking at one of these.
syntax:: SyntaxNode& slang:: parsing:: Parser:: parseGuess()
Generalized node parse function that tries to figure out what we're looking at and parse that specifically.
A normal batch compile won't call this, since in a well formed program every file is a compilation unit, but for snippets of code this can be convenient.