src
regexp_alt.h
Go to the documentation of this file.
1 #ifndef _RE2C_IR_REGEXP_REGEXP_ALT_
2 #define _RE2C_IR_REGEXP_REGEXP_ALT_
3 
4 #include "src/ir/regexp/regexp.h"
5 
6 namespace re2c
7 {
8 
9 class AltOp: public RegExp
10 {
11  RegExp * exp1;
12  RegExp * exp2;
13 
14 public:
15  inline AltOp (RegExp * e1, RegExp * e2)
16  : exp1 (e1)
17  , exp2 (e2)
18  {}
19  void split (std::set<uint32_t> &);
20  uint32_t calc_size() const;
21  uint32_t fixedLength ();
23  void display (std::ostream & o) const;
24  friend RegExp * mkAlt (RegExp *, RegExp *);
25 
27 };
28 
29 } // end namespace re2c
30 
31 #endif // _RE2C_IR_REGEXP_REGEXP_ALT_
AltOp(RegExp *e1, RegExp *e2)
Definition: regexp_alt.h:15
uint32_t calc_size() const
Definition: calc_size.cc:14
uint32_t fixedLength()
Definition: fixed_length.cc:17
nfa_state_t * compile(nfa_t &nfa, nfa_state_t *n)
Definition: nfa.cc:24
FORBID_COPY(AltOp)
void split(std::set< uint32_t > &)
Definition: split.cc:15
Definition: bitmap.cc:10
friend RegExp * mkAlt(RegExp *, RegExp *)
Definition: regexp.cc:40
void display(std::ostream &o) const
Definition: display.cc:20