In This Article

IDebuggerState Interface

Provides the base requirements for an object that contains information about the current IDebugger state.

public interface IDebuggerState

Properties

Breakpoints

The collection of IBreakpoint objects.

IList<IBreakpoint> Breakpoints { get; }

Property Value

IList<IBreakpoint>

Ebnf

The textual EBNF representation of the grammar.

string Ebnf { get; }

Property Value

string

IsBreakForCanMatch

Indicates whether the current pause is related to a can-match check for an EbnfTerm.

bool IsBreakForCanMatch { get; }

Property Value

bool:

true if the current pause is related to a can-match check; otherwise, false.

Matches

The list of IDebuggableAstNodeMatch objects that indicate the labeled AST node matches for the current scope.

IList<IDebuggableAstNodeMatch> Matches { get; }

Property Value

IList<IDebuggableAstNodeMatch>

NonTerminalStack

The stack of IDebuggableNonTerminal objects into which the parser has entered.

Stack<IDebuggableNonTerminal> NonTerminalStack { get; }

Property Value

Stack<IDebuggableNonTerminal>

NonTerminals

The read-only list of IDebuggableNonTerminal objects defined in the grammar.

IList<IDebuggableNonTerminal> NonTerminals { get; }

Property Value

IList<IDebuggableNonTerminal>

ParseErrors

The collection of IParseError objects that will be returned in the IParseData parsing result.

IEnumerable<IParseError>? ParseErrors { get; }

Property Value

IEnumerable<IParseError>

RootNode

The root IDebuggableAstNode that has been constructed.

IDebuggableAstNode? RootNode { get; }

Property Value

IDebuggableAstNode

TermStack

The stack of IDebuggableEbnfTerm objects into which the parser has entered.

Stack<IDebuggableEbnfTerm> TermStack { get; }

Property Value

Stack<IDebuggableEbnfTerm>

Terminals

The read-only list of IDebuggableTerminal objects defined in the grammar.

IList<IDebuggableTerminal> Terminals { get; }

Property Value

IList<IDebuggableTerminal>

TokenReader

The ITokenReader that is used to read tokens during the parsing operation.

ITokenReader? TokenReader { get; }

Property Value

ITokenReader

Methods

AddBreakpoint(IDebuggableSymbol)

void AddBreakpoint(IDebuggableSymbol symbol)
Parameter Type Description
symbol IDebuggableSymbol

The IDebuggableSymbol for which a breakpoint should be created.

RemoveBreakpoint(IDebuggableSymbol)

Removes an IBreakpoint for an IDebuggableSymbol.

void RemoveBreakpoint(IDebuggableSymbol symbol)
Parameter Type Description
symbol IDebuggableSymbol

The IDebuggableSymbol for which a breakpoint should be removed.

Extension Methods