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

#include <regexp_close.h>

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

Public Member Functions

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

Additional Inherited Members

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

Detailed Description

Definition at line 9 of file regexp_close.h.

Constructor & Destructor Documentation

re2c::CloseOp::CloseOp ( RegExp e)
inline

Definition at line 14 of file regexp_close.h.

15  : exp (e)
16  {}

Member Function Documentation

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

Implements re2c::RegExp.

Definition at line 27 of file calc_size.cc.

28 {
29  return exp->calc_size() + 1;
30 }
virtual uint32_t calc_size() const =0

Here is the call graph for this function:

nfa_state_t * re2c::CloseOp::compile ( nfa_t nfa,
nfa_state_t n 
)
virtual

Implements re2c::RegExp.

Definition at line 39 of file nfa.cc.

40 {
41  nfa_state_t *s = &nfa.states[nfa.size++];
42  s->alt(t, exp->compile(nfa, s));
43  return s;
44 }
virtual nfa_state_t * compile(nfa_t &nfa, nfa_state_t *n)=0

Here is the call graph for this function:

void re2c::CloseOp::display ( std::ostream &  o) const
virtual

Implements re2c::RegExp.

Definition at line 30 of file display.cc.

31 {
32  o << exp << "+";
33 }
re2c::CloseOp::FORBID_COPY ( CloseOp  )
void re2c::CloseOp::split ( std::set< uint32_t > &  cs)
virtual

Implements re2c::RegExp.

Definition at line 27 of file split.cc.

28 {
29  exp->split (cs);
30 }
virtual void split(std::set< uint32_t > &)=0

Here is the call graph for this function:


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