slang/ast/Compilation.h file

Central manager for compilation processes.

Namespaces

namespace slang
Root namespace.
namespace slang::syntax
Syntax tree manipulation.
namespace slang::ast
The SystemVerilog AST.

Classes

struct slang::ast::CompilationOptions
Contains various options that can control compilation behavior.
struct slang::ast::BindDirectiveInfo
Information about how a bind directive applies to some definition or specific target node.
struct slang::ast::HierarchyOverrideNode
A node in a tree representing an instance in the design hierarchy where parameters should be overriden and/or bind directives should be applied.
class slang::ast::Compilation
A centralized location for creating and caching symbols.
struct slang::ast::Compilation::DefinitionLookupResult
A struct containing the result of a definition lookup.

Enums

enum class MinTypMax { Min, Typ, Max }
Specifies which set of min:typ:max expressions should be used during compilation.
enum class CompilationFlags { None = 0, AllowHierarchicalConst = 1 << 0, RelaxEnumConversions = 1 << 1, AllowUseBeforeDeclare = 1 << 2, AllowDupInitialDrivers = 1 << 3, AllowTopLevelIfacePorts = 1 << 4, StrictDriverChecking = 1 << 5, LintMode = 1 << 6, SuppressUnused = 1 << 7, IgnoreUnknownModules = 1 << 8, RelaxStringConversions = 1 << 9, AllowRecursiveImplicitCall = 1 << 10, AllowBareValParamAssignment = 1 << 11, AllowSelfDeterminedStreamConcat = 1 << 12, AllowMultiDrivenLocals = 1 << 13, AllowMergingAnsiPorts = 1 << 14 }
Defines flags that control compilation behavior.