MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
autogen.h File Reference
#include <mim/axm.h>
#include <mim/plugin.h>
Include dependency graph for autogen.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  mim::plug::regex
 The regex Plugin
namespace  mim
namespace  mim::plug

Macros

#define MIM_regex_NORMALIZER_IMPL

Enumerations

<tt>regex.Pos</tt>
enum class  mim::plug::regex::Pos : flags_t
enum class  mim::plug::regex::pos : flags_t
<tt>regex.Res</tt>
enum class  mim::plug::regex::Res : flags_t
<tt>regex.RE</tt>
enum class  mim::plug::regex::RE : flags_t
<tt>regex.lit</tt>
enum class  mim::plug::regex::lit : flags_t
<tt>regex.neg_lookahead</tt>
enum class  mim::plug::regex::neg_lookahead : flags_t
<tt>regex.cls</tt>
enum class  mim::plug::regex::cls : flags_t {
  mim::plug::regex::d = 0x4c62066400000a00 ,
  mim::plug::regex::D = 0x4c62066400000a01 ,
  mim::plug::regex::w = 0x4c62066400000a02 ,
  mim::plug::regex::W = 0x4c62066400000a03 ,
  mim::plug::regex::s = 0x4c62066400000a04 ,
  mim::plug::regex::S = 0x4c62066400000a05
}
<tt>regex.any</tt>
enum class  mim::plug::regex::any : flags_t
<tt>regex.empty</tt>
enum class  mim::plug::regex::empty : flags_t
<tt>regex.lower_regex</tt>
enum class  mim::plug::regex::lower_regex : flags_t

Functions

void mim::plug::regex::register_normalizers (Normalizers &normalizers)

Variables

static constexpr plugin_t mim::plug::regex::Plugin_Id = 0x4c62066400000000

<tt>regex.conj</tt>

enum class  mim::plug::regex::conj : flags_t
const Def * mim::plug::regex::normalize_conj (const Def *type, const Def *callee, const Def *arg)

<tt>regex.disj</tt>

enum class  mim::plug::regex::disj : flags_t
const Def * mim::plug::regex::normalize_disj (const Def *type, const Def *, const Def *arg)

<tt>regex.range</tt>

enum class  mim::plug::regex::range : flags_t
const Def * mim::plug::regex::normalize_range (const Def *type, const Def *callee, const Def *arg)

<tt>regex.not</tt>

enum class  mim::plug::regex::not_ : flags_t
const Def * mim::plug::regex::normalize_not (const Def *, const Def *callee, const Def *arg)

<tt>regex.quant</tt>

enum class  mim::plug::regex::quant : flags_t {
  mim::plug::regex::optional = 0x4c62066400000d00 ,
  mim::plug::regex::star = 0x4c62066400000d01 ,
  mim::plug::regex::plus = 0x4c62066400000d02
}
template<quant id>
const Def * mim::plug::regex::normalize_quant (const Def *type, const Def *callee, const Def *arg)

Macro Definition Documentation

◆ MIM_regex_NORMALIZER_IMPL

#define MIM_regex_NORMALIZER_IMPL
Value:
void register_normalizers(Normalizers& normalizers) {\
normalizers[flags_t(Annex::Base<conj>)] = &normalize_conj; \
normalizers[flags_t(Annex::Base<disj>)] = &normalize_disj; \
normalizers[flags_t(Annex::Base<range>)] = &normalize_range; \
normalizers[flags_t(Annex::Base<not_>)] = &normalize_not; \
normalizers[flags_t(quant::optional)] = &normalize_quant<quant::optional>; \
normalizers[flags_t(quant::star)] = &normalize_quant<quant::star>; \
normalizers[flags_t(quant::plus)] = &normalize_quant<quant::plus>; \
}

Definition at line 135 of file autogen.h.