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
struct  QNFAMatchNotifier::Command

Typedefs

typedef light_vector< quint16QNFASet
typedef QHash< quint16,
QCharTreeNode
QCharTreeLevel
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.