slang C++ docs
  1. User Manual
    1. Command Line Reference
    2. Language Support
    3. Warning Reference
    4. Tools
  2. Developer Guide
    1. Building & Installation
    2. Common Components
    3. Source Management
    4. Diagnostics
    5. Parsing and Syntax
  1. API Reference
    1. Namespaces
    2. Classes
    3. Files
  2. Try It
  3. GitHub

Navigation

  • slang
  • ast
  • expressions (dir)
  • statements (dir)
  • symbols (dir)
  • types (dir)
  • ASTContext.h (file)
  • ASTDiagMap.h (file)
  • ASTSerializer.h (file)
  • ASTVisitor.h (file)
  • Bitstream.h (file)
  • Compilation.h (file)
  • Constraints.h (file)
  • EvalContext.h (file)
  • Expression.h (file)
  • HierarchicalReference.h (file)
  • Lookup.h (file)
  • LSPUtilities.h (file)
  • LValue.h (file)
  • OpaqueInstancePath.h (file)
  • Patterns.h (file)
  • Scope.h (file)
  • ScriptSession.h (file)
  • SemanticFacts.h (file)
  • SFormat.h (file)
  • Statement.h (file)
  • Symbol.h (file)
  • SystemSubroutine.h (file)
  • TimingControl.h (file)
API Reference:
  • 📁 Namespaces
  • 🏛️ Classes
  • 📄 Files

slang/ast/Expression.h file

Expression creation and analysis.

Namespaces

namespace slang
Root namespace.
namespace slang::ast
The SystemVerilog AST.

Classes

class slang::ast::Expression
The base class for all expressions in SystemVerilog.
class slang::ast::InvalidExpression
Represents an invalid expression.

Enums

enum class ExpressionKind { Invalid, IntegerLiteral, RealLiteral, TimeLiteral, UnbasedUnsizedIntegerLiteral, NullLiteral, UnboundedLiteral, StringLiteral, NamedValue, HierarchicalValue, UnaryOp, BinaryOp, ConditionalOp, Inside, Assignment, Concatenation, Replication, Streaming, ElementSelect, RangeSelect, MemberAccess, Call, Conversion, DataType, TypeReference, ArbitrarySymbol, LValueReference, SimpleAssignmentPattern, StructuredAssignmentPattern, ReplicatedAssignmentPattern, EmptyArgument, ValueRange, Dist, NewArray, NewClass, NewCovergroup, CopyClass, MinTypMax, ClockingEvent, AssertionInstance, TaggedUnion }
Specifies possible expression kinds.
enum class RangeSelectionKind { Simple, IndexedUp, IndexedDown }
Specifies possible kinds of range selection.
enum class ConversionKind { Implicit, Propagated, StreamingConcat, Explicit, BitstreamCast }
Specifies possible kinds of conversions.

Contents

  • Namespaces
  • Classes
  • Enums
Tab / T to search, Esc to close
…

Search for symbols, directories, files, pages or modules. You can omit any prefix from the symbol or file path; adding a : or / suffix lists all members of given symbol or directory.

Use ↓ / ↑ to navigate through the list, Enter to go. Tab autocompletes common prefix, you can copy a link to the result using ⌘ L while ⌘ M produces a Markdown link.

Sorry, nothing was found.
Maybe try a full-text search with external engine?

    slang SystemVerilog language services. Copyright (C) 2015-2025 Michael Popoloski.
    Code is available on GitHub under the MIT license.