v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
regexp-ast.h File Reference
#include <optional>
#include "src/base/strings.h"
#include "src/regexp/regexp-flags.h"
#include "src/zone/zone-containers.h"
#include "src/zone/zone-list.h"
#include "src/zone/zone.h"
Include dependency graph for regexp-ast.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::RegExpVisitor
 
class  v8::internal::Interval
 
class  v8::internal::CharacterRange
 
class  v8::internal::RegExpTree
 
class  v8::internal::RegExpDisjunction
 
class  v8::internal::RegExpAlternative
 
class  v8::internal::RegExpAssertion
 
class  v8::internal::CharacterSet
 
class  v8::internal::RegExpClassRanges
 
struct  v8::internal::CharacterClassStringLess
 
class  v8::internal::RegExpClassSetOperand
 
class  v8::internal::RegExpClassSetExpression
 
class  v8::internal::RegExpAtom
 
class  v8::internal::TextElement
 
class  v8::internal::RegExpText
 
class  v8::internal::RegExpQuantifier
 
class  v8::internal::RegExpCapture
 
class  v8::internal::RegExpGroup
 
class  v8::internal::RegExpLookaround
 
class  v8::internal::RegExpLookaround::Builder
 
class  v8::internal::RegExpBackReference
 
class  v8::internal::RegExpEmpty
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define FOR_EACH_REG_EXP_TREE_TYPE(VISIT)
 
#define FORWARD_DECLARE(Name)
 
#define MAKE_CASE(Name)
 
#define DECL_BOILERPLATE(Name)
 
#define MAKE_ASTYPE(Name)
 

Typedefs

using v8::internal::CharacterClassStrings
 

Enumerations

enum class  v8::internal::StandardCharacterSet : char {
  v8::internal::kWhitespace = 's' , v8::internal::kNotWhitespace = 'S' , v8::internal::kWord = 'w' , v8::internal::kNotWord = 'W' ,
  v8::internal::kDigit = 'd' , v8::internal::kNotDigit = 'D' , v8::internal::kLineTerminator = 'n' , v8::internal::kNotLineTerminator = '.' ,
  v8::internal::kEverything = '*'
}
 

Functions

bool v8::internal::operator== (const CharacterRange &lhs, const CharacterRange &rhs)
 
bool v8::internal::operator!= (const CharacterRange &lhs, const CharacterRange &rhs)
 

Macro Definition Documentation

◆ DECL_BOILERPLATE

#define DECL_BOILERPLATE ( Name)
Value:
void* Accept(RegExpVisitor* visitor, void* data) override; \
RegExpNode* ToNode(RegExpCompiler* compiler, RegExpNode* on_success) \
override; \
RegExp##Name* As##Name() override; \
bool Is##Name() override

Definition at line 187 of file regexp-ast.h.

◆ FOR_EACH_REG_EXP_TREE_TYPE

#define FOR_EACH_REG_EXP_TREE_TYPE ( VISIT)
Value:
VISIT(Disjunction) \
VISIT(Alternative) \
VISIT(Assertion) \
VISIT(ClassRanges) \
VISIT(ClassSetOperand) \
VISIT(ClassSetExpression) \
VISIT(Atom) \
VISIT(Quantifier) \
VISIT(Capture) \
VISIT(Group) \
VISIT(Lookaround) \
VISIT(BackReference) \
VISIT(Empty) \
VISIT(Text)
#define VISIT(TypeName)

Definition at line 22 of file regexp-ast.h.

◆ FORWARD_DECLARE

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

Definition at line 38 of file regexp-ast.h.

◆ MAKE_ASTYPE

#define MAKE_ASTYPE ( Name)
Value:
virtual RegExp##Name* As##Name(); \
virtual bool Is##Name();

Definition at line 211 of file regexp-ast.h.

◆ MAKE_CASE

#define MAKE_CASE ( Name)
Value:
virtual void* Visit##Name(RegExp##Name*, void* data) = 0;

Definition at line 49 of file regexp-ast.h.