class NfaTranscriber

Declaration

class NfaTranscriber { /* full declaration omitted */ };

Description

The internal class that maintains all possible paths through an NFA based on a path through the DFA.

Declared at: llvm/include/llvm/Support/Automaton.h:60

Member Variables

private ArrayRef<llvm::NfaStatePair> TransitionInfo
Cached transition table. This is a table of NfaStatePairs that contains zero-terminated sequences pointed to by DFA transitions.
private SpecificBumpPtrAllocator< llvm::internal::NfaTranscriber::PathSegment> Allocator
We allocate segment objects frequently. Allocate them upfront and dispose at the end of a traversal rather than hammering the system allocator.
private std::deque<PathSegment*> Heads
Heads of each tracked path. These are not ordered.
private SmallVector<llvm::NfaPath, 4> Paths
The returned paths. This is populated during getPaths.

Method Overview

  • public NfaTranscriber(ArrayRef<llvm::NfaStatePair> TransitionInfo)
  • public ArrayRef<llvm::NfaPath> getPaths()
  • public ArrayRef<llvm::NfaStatePair> getTransitionInfo() const
  • private llvm::internal::NfaTranscriber::PathSegment * makePathSegment(uint64_t State, llvm::internal::NfaTranscriber::PathSegment * Tail)
  • public void reset()
  • private void transition(ArrayRef<llvm::NfaStatePair> Pairs)
  • public void transition(unsigned int TransitionInfoIdx)

Methods

NfaTranscriber(
    ArrayRef<llvm::NfaStatePair> TransitionInfo)

Declared at: llvm/include/llvm/Support/Automaton.h:115

Parameters

ArrayRef<llvm::NfaStatePair> TransitionInfo

ArrayRef<llvm::NfaPath> getPaths()

Declared at: llvm/include/llvm/Support/Automaton.h:141

ArrayRef<llvm::NfaStatePair> getTransitionInfo()
    const

Declared at: llvm/include/llvm/Support/Automaton.h:120

llvm::internal::NfaTranscriber::PathSegment*
makePathSegment(
    uint64_t State,
    llvm::internal::NfaTranscriber::PathSegment*
        Tail)

Description

Create a new segment and return it.

Declared at: llvm/include/llvm/Support/Automaton.h:85

Parameters

uint64_t State
llvm::internal::NfaTranscriber::PathSegment* Tail

void reset()

Declared at: llvm/include/llvm/Support/Automaton.h:124

void transition(
    ArrayRef<llvm::NfaStatePair> Pairs)

Description

Pairs defines a sequence of possible NFA transitions for a single DFA transition.

Declared at: llvm/include/llvm/Support/Automaton.h:93

Parameters

ArrayRef<llvm::NfaStatePair> Pairs

void transition(unsigned int TransitionInfoIdx)

Declared at: llvm/include/llvm/Support/Automaton.h:132

Parameters

unsigned int TransitionInfoIdx