src
Public Member Functions | Public Attributes | List of all members
re2c::MatchOp Class Reference

#include <regexp_match.h>

Inheritance diagram for re2c::MatchOp:
Inheritance graph
[legend]
Collaboration diagram for re2c::MatchOp:
Collaboration graph
[legend]

Public Member Functions

 MatchOp (Range *m)
 
void split (std::set< uint32_t > &)
 
uint32_t calc_size () const
 
uint32_t fixedLength ()
 
nfa_state_tcompile (nfa_t &nfa, nfa_state_t *n)
 
void display (std::ostream &o) const
 
 FORBID_COPY (MatchOp)
 
- Public Member Functions inherited from re2c::RegExp
 RegExp ()
 
virtual ~RegExp ()
 
 FORBID_COPY (RegExp)
 

Public Attributes

Rangematch
 

Additional Inherited Members

- Static Public Attributes inherited from re2c::RegExp
static free_list< RegExp * > vFreeList
 

Detailed Description

Definition at line 10 of file regexp_match.h.

Constructor & Destructor Documentation

re2c::MatchOp::MatchOp ( Range m)
inline

Definition at line 15 of file regexp_match.h.

16  : match (m)
17  {}
Range * match
Definition: regexp_match.h:13

Member Function Documentation

uint32_t re2c::MatchOp::calc_size ( ) const
virtual

Implements re2c::RegExp.

Definition at line 32 of file calc_size.cc.

33 {
34  return 1;
35 }
nfa_state_t * re2c::MatchOp::compile ( nfa_t nfa,
nfa_state_t n 
)
virtual

Implements re2c::RegExp.

Definition at line 46 of file nfa.cc.

47 {
48  nfa_state_t *s = &nfa.states[nfa.size++];
49  s->ran(t, match);
50  return s;
51 }
Range * match
Definition: regexp_match.h:13
void re2c::MatchOp::display ( std::ostream &  o) const
virtual

Implements re2c::RegExp.

Definition at line 35 of file display.cc.

36 {
37  o << match;
38 }
Range * match
Definition: regexp_match.h:13
uint32_t re2c::MatchOp::fixedLength ( )
virtual

Reimplemented from re2c::RegExp.

Definition at line 44 of file fixed_length.cc.

45 {
46  return 1;
47 }
re2c::MatchOp::FORBID_COPY ( MatchOp  )
void re2c::MatchOp::split ( std::set< uint32_t > &  cs)
virtual

Implements re2c::RegExp.

Definition at line 32 of file split.cc.

33 {
34  for (Range *r = match; r; r = r->next ())
35  {
36  cs.insert (r->lower ());
37  cs.insert (r->upper ());
38  }
39 }
Range * match
Definition: regexp_match.h:13
Range * next() const
Definition: range.h:39

Here is the call graph for this function:

Member Data Documentation

Range* re2c::MatchOp::match

Definition at line 13 of file regexp_match.h.


The documentation for this class was generated from the following files: