DynGenPar
Dynamic Generalized Parser
Classes | Namespaces | Macros | Typedefs | Functions
dyngenpar.h File Reference

Go to the source code of this file.

Classes

struct  DynGenPar::NextTokenConstraints
 rule constraints affecting the next token, for scannerless parsing More...
 
class  DynGenPar::Rule
 
struct  DynGenPar::Cfg
 An object representing a CFG (or a PMCFG in our internal representation) More...
 
struct  DynGenPar::MultiPrediction
 multi-token predictions More...
 
struct  DynGenPar::ConstrainedMultiPrediction
 multi-token predictions with next token constraints More...
 
struct  DynGenPar::FullRule
 full rule as found in the initial graph More...
 
class  DynGenPar::Alternative
 
struct  DynGenPar::Node
 node in the parse tree More...
 
class  DynGenPar::PseudoCatScopeData
 
class  DynGenPar::PseudoCatScope
 
struct  DynGenPar::Match
 (possibly partial) match More...
 
struct  DynGenPar::ActionInfo
 data passed to parser actions More...
 
class  DynGenPar::ActionDeserializer
 interface for parser action deserializers More...
 
class  DynGenPar::Action
 interface for parser actions More...
 
class  DynGenPar::StackItemData
 
class  DynGenPar::StackItem
 
class  DynGenPar::StackItemType0
 type 0 item: during match, we're waiting for a token to shift More...
 
class  DynGenPar::StackItemType1
 type 1 item: during type 0 item processing, we're executing a reduce More...
 
class  DynGenPar::StackItemType2
 type 2 item: during reduce, we're recursively executing another reduce More...
 
class  DynGenPar::StackItemType3
 type 3 item: during matchRemaining, we're executing a match More...
 
class  DynGenPar::StackItemType4
 type 4 item: during reduce, we're executing a matchRemaining More...
 
class  DynGenPar::StackItemType5
 type 5 item: during match (of an MCFG constraint), we're executing a matchRemaining More...
 
class  DynGenPar::StackItemType6
 type 6 item: during match, we're matching a P constraint More...
 
class  DynGenPar::AbstractLexerStateData
 API for stateful lexers to save their state for rewinding. More...
 
class  DynGenPar::LexerState
 
class  DynGenPar::TokenSource
 
class  DynGenPar::ListTokenSource
 
struct  DynGenPar::TextPosition
 text position More...
 
struct  DynGenPar::Term
 term in the expression of a component of a PMCFG function More...
 
class  DynGenPar::Sequence
 component of a PMCFG function, a sequence of terms More...
 
class  DynGenPar::Function
 PMCFG function. More...
 
struct  DynGenPar::Pmcfg
 PMCFG. More...
 
struct  DynGenPar::PmcfgComponentInfo
 attached to the parse trees as rule labels to allow obtaining syntax trees More...
 
struct  DynGenPar::ParseState
 parse state struct, for bindings More...
 
class  DynGenPar::Parser
 main class More...
 

Namespaces

 DynGenPar
 

Macros

#define IS_EPSILON(cat)   ((cat).isNull())
 

Typedefs

typedef QString DynGenPar::Cat
 Category type: string or integer depending on DYNGENPAR_INTEGER_CATEGORIES. More...
 
typedef const Cat & DynGenPar::CatArg
 Category type (string or integer) when passed as an argument. More...
 
typedef QHash< Cat, QList< Rule > > DynGenPar::RuleSet
 
typedef QSet< Cat > DynGenPar::TokenSet
 
typedef QSet< Cat > DynGenPar::Predictions
 
typedef QMultiHash< QList< Cat >, MultiPrediction > DynGenPar::MultiPredictions
 
typedef QMultiHash< Cat, NextTokenConstraints > DynGenPar::ConstrainedPredictions
 
typedef QMultiHash< QList< Cat >, ConstrainedMultiPrediction > DynGenPar::ConstrainedMultiPredictions
 

Functions

uint DynGenPar::qHash (const NextTokenConstraints &nextTokenConstraints)
 simple hash function for next token constraints More...
 
QDataStream & operator<< (QDataStream &stream, const DynGenPar::Action *data)
 
QDataStream & operator>> (QDataStream &stream, DynGenPar::Action *&data)
 
uint DynGenPar::qHash (const PseudoCatScope &scope)
 
Node DynGenPar::parseTreeToPmcfgSyntaxTree (const Node &parseTree)
 converts a parse tree obtained from a PMCFG to a PMCFG syntax tree More...
 
uint qHash (const QList< DynGenPar::Cat > &list)
 simple hash function for lists of categories More...
 
QDataStream & operator<< (QDataStream &stream, const DynGenPar::NextTokenConstraints &data)
 
QDataStream & operator>> (QDataStream &stream, DynGenPar::NextTokenConstraints &data)
 
QDataStream & operator<< (QDataStream &stream, const DynGenPar::Rule &data)
 
QDataStream & operator>> (QDataStream &stream, DynGenPar::Rule &data)
 
QDataStream & operator<< (QDataStream &stream, const DynGenPar::Cfg &data)
 
QDataStream & operator>> (QDataStream &stream, DynGenPar::Cfg &data)
 

Macro Definition Documentation

◆ IS_EPSILON

#define IS_EPSILON (   cat)    ((cat).isNull())

Definition at line 72 of file dyngenpar.h.

Function Documentation

◆ operator<<() [1/4]

QDataStream & operator<< ( QDataStream &  stream,
const DynGenPar::Action data 
)
inline

Definition at line 1463 of file dyngenpar.h.

◆ operator<<() [2/4]

QDataStream& operator<< ( QDataStream &  stream,
const DynGenPar::NextTokenConstraints data 
)
inline

Definition at line 1434 of file dyngenpar.h.

◆ operator<<() [3/4]

QDataStream& operator<< ( QDataStream &  stream,
const DynGenPar::Rule data 
)
inline

Definition at line 1444 of file dyngenpar.h.

◆ operator<<() [4/4]

QDataStream& operator<< ( QDataStream &  stream,
const DynGenPar::Cfg data 
)
inline

Definition at line 1454 of file dyngenpar.h.

◆ operator>>() [1/4]

QDataStream & operator>> ( QDataStream &  stream,
DynGenPar::Action *&  data 
)
inline

Definition at line 1471 of file dyngenpar.h.

◆ operator>>() [2/4]

QDataStream& operator>> ( QDataStream &  stream,
DynGenPar::NextTokenConstraints data 
)
inline

Definition at line 1439 of file dyngenpar.h.

◆ operator>>() [3/4]

QDataStream& operator>> ( QDataStream &  stream,
DynGenPar::Rule data 
)
inline

Definition at line 1450 of file dyngenpar.h.

◆ operator>>() [4/4]

QDataStream& operator>> ( QDataStream &  stream,
DynGenPar::Cfg data 
)
inline

Definition at line 1459 of file dyngenpar.h.

◆ qHash()

uint qHash ( const QList< DynGenPar::Cat > &  list)

simple hash function for lists of categories

Definition at line 437 of file dyngenpar.cpp.