QCodeEdit  2.2
Classes | Typedefs | Enumerations | Functions
qnfa.h File Reference

Definition of the core QNFA syntax engine. More...

#include <QChar>
#include <QList>
#include <QHash>
#include <QStack>
#include <QString>
#include "light_vector.h"
Include dependency graph for qnfa.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  QNFABranch
 
struct  QCharTreeNode
 
struct  QNFA
 
struct  QNFAMatchContext
 
class  QNFAMatchHandler
 
class  QNFAMatchNotifier
 

Typedefs

typedef light_vector< quint16QNFASet
 
typedef QHash< quint16, QCharTreeNodeQCharTreeLevel
 
typedef QCharTreeLevel QCharTree
 

Enumerations

enum  NFAType {
  Char = 0, Match = 1, CxtBeg = 2, CxtEnd = 4,
  CxtEsc = 8, ContextBegin = Match | CxtBeg, ContextEnd = Match | CxtEnd, EscapeSeq = Match | CxtEsc,
  Escaped = 16, Exclusive = 32, StayOnLine = 64, Reserved = 128
}
 
enum  NFAAssertion {
  NoAssertion = 0, One = 0, ZeroOrOne = 1, ZeroOrMore = 2,
  OneOrMore = 4, WordStart = 8, WordEnd = 16, Word = 32,
  NonWord = 64, Digit = 128, NonDigit = 256, Space = 512,
  NonSpace = 1024, CaseSensitive = 2048
}
 

Functions

 Q_DECLARE_TYPEINFO (QCharTreeNode, Q_MOVABLE_TYPE)
 
void match (QNFAMatchContext *lexer, const QChar *d, int length, QNFAMatchNotifier notify)
 
void match (QNFAMatchContext *lexer, const QString &s, QNFAMatchNotifier notify)
 
QNFAlexer ()
 
void squeeze (QNFA *nfa)
 
void squeeze (QCharTreeLevel &lvl)
 
QNFAsharedContext (const QString &start, QNFA *other, bool cs)
 
QNFAcontext (const QString &start, const QString &stop, const QString &escape, int action, QNFA **handler=0, bool cs=true)
 
void addNFA (QNFA *context, QNFA *nfa)
 
bool plain (const QString &word, QString *dest)
 
void addWord (QCharTree &tree, const QString &w, int action, bool cs)
 
void addWord (QNFA *lexer, const QString &w, int action, bool cs)
 
void addSequence (QNFA *lexer, const QString &w, int action, bool cs)
 
QNFAsequence (const QChar *d, int length, QNFA **end, bool cs)
 
QNFAsequence (const QString &s, QNFA **end, bool cs)
 

Detailed Description

Definition of the core QNFA syntax engine.