#include "DFAEmitter.h"
#include "Basic/SequenceToOffsetTable.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/UniqueVector.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TableGen/Record.h"
#include "llvm/TableGen/TableGenBackend.h"
#include <cassert>
#include <cstdint>
#include <deque>
#include <map>
#include <set>
#include <string>
#include <variant>
#include <vector>
#define DEBUG_TYPE …
usingnamespacellvm;
void DfaEmitter::addTransition(state_type From, state_type To, action_type A) { … }
void DfaEmitter::visitDfaState(const DfaState &DS) { … }
void DfaEmitter::constructDfa() { … }
void DfaEmitter::emit(StringRef Name, raw_ostream &OS) { … }
void DfaEmitter::printActionType(raw_ostream &OS) { … }
void DfaEmitter::printActionValue(action_type A, raw_ostream &OS) { … }
namespace {
Action;
ActionTuple;
class Automaton;
class Transition { … };
class Automaton { … };
class AutomatonEmitter { … };
class CustomDfaEmitter : public DfaEmitter { … };
}
void AutomatonEmitter::run(raw_ostream &OS) { … }
Automaton::Automaton(const RecordKeeper &Records, const Record *R)
: … { … }
void Automaton::emit(raw_ostream &OS) { … }
StringRef Automaton::getActionSymbolType(StringRef A) { … }
Transition::Transition(const Record *R, Automaton *Parent) { … }
bool Transition::canTransitionFrom(uint64_t State) { … }
uint64_t Transition::transitionFrom(uint64_t State) { … }
void CustomDfaEmitter::printActionType(raw_ostream &OS) { … }
void CustomDfaEmitter::printActionValue(action_type A, raw_ostream &OS) { … }
static TableGen::Emitter::OptClass<AutomatonEmitter>
X("gen-automata", "Generate generic automata");