v8  3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
jsregexp.h File Reference
#include "allocation.h"
#include "assembler.h"
#include "zone-inl.h"
Include dependency graph for jsregexp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  RegExpImpl
 
class  RegExpImpl::GlobalCache
 
class  CharacterRange
 
class  OutSet
 
class  DispatchTable
 
class  DispatchTable::Entry
 
class  DispatchTable::Config
 
class  TextElement
 
struct  NodeInfo
 
class  QuickCheckDetails
 
struct  QuickCheckDetails::Position
 
class  RegExpNode
 
class  Interval
 
class  SeqRegExpNode
 
class  ActionNode
 
class  TextNode
 
class  AssertionNode
 
class  BackReferenceNode
 
class  EndNode
 
class  NegativeSubmatchSuccess
 
class  Guard
 
class  GuardedAlternative
 
class  ChoiceNode
 
class  NegativeLookaheadChoiceNode
 
class  LoopChoiceNode
 
class  BoyerMoorePositionInfo
 
class  BoyerMooreLookahead
 
class  Trace
 
class  Trace::DeferredAction
 
class  Trace::DeferredCapture
 
class  Trace::DeferredSetRegister
 
class  Trace::DeferredClearCaptures
 
class  Trace::DeferredIncrementRegister
 
class  NodeVisitor
 
class  DispatchTableConstructor
 
class  Analysis
 
struct  RegExpCompileData
 
class  RegExpEngine
 
struct  RegExpEngine::CompilationResult
 

Namespaces

 v8
 
 v8::internal
 

Macros

#define FOR_EACH_NODE_TYPE(VISIT)
 
#define FOR_EACH_REG_EXP_TREE_TYPE(VISIT)
 
#define FORWARD_DECLARE(Name)   class RegExp##Name;
 
#define DECLARE_VISIT(Type)   virtual void Visit##Type(Type##Node* that) = 0;
 
#define DECLARE_VISIT(Type)   virtual void Visit##Type(Type##Node* that);
 
#define DECLARE_VISIT(Type)   virtual void Visit##Type(Type##Node* that);
 

Enumerations

enum  ElementInSetsRelation { kInsideNone = 0, kInsideFirst = 1, kInsideSecond = 2, kInsideBoth = 3 }
 
enum  ContainedInLattice { kNotYet = 0, kLatticeIn = 1, kLatticeOut = 2, kLatticeUnknown = 3 }
 

Functions

ContainedInLattice Combine (ContainedInLattice a, ContainedInLattice b)
 
ContainedInLattice AddRange (ContainedInLattice containment, const int *ranges, int ranges_length, Interval new_range)
 

Variables

int kUninitializedRegExpNodePlaceHolder
 

Macro Definition Documentation

#define DECLARE_VISIT (   Type)    virtual void Visit##Type(Type##Node* that) = 0;

Definition at line 1579 of file jsregexp.h.

#define DECLARE_VISIT (   Type)    virtual void Visit##Type(Type##Node* that);

Definition at line 1579 of file jsregexp.h.

#define DECLARE_VISIT (   Type)    virtual void Visit##Type(Type##Node* that);

Definition at line 1579 of file jsregexp.h.

#define FOR_EACH_NODE_TYPE (   VISIT)
Value:
VISIT(End) \
VISIT(Action) \
VISIT(Choice) \
VISIT(BackReference) \
VISIT(Assertion) \
VISIT(Text)

Definition at line 402 of file jsregexp.h.

#define FOR_EACH_REG_EXP_TREE_TYPE (   VISIT)
Value:
VISIT(Disjunction) \
VISIT(Alternative) \
VISIT(Assertion) \
VISIT(CharacterClass) \
VISIT(Atom) \
VISIT(Quantifier) \
VISIT(Capture) \
VISIT(Lookahead) \
VISIT(BackReference) \
VISIT(Empty) \
VISIT(Text)

Definition at line 411 of file jsregexp.h.

#define FORWARD_DECLARE (   Name)    class RegExp##Name;

Definition at line 425 of file jsregexp.h.