|
MimIR 0.1
MimIR is my Intermediate Representation
|
#include <algorithm>#include <iterator>#include <numeric>#include <ranges>#include <vector>#include <automaton/range_helper.h>#include <fe/assert.h>#include "mim/axm.h"#include "mim/def.h"#include "mim/tuple.h"#include "mim/world.h"#include "mim/util/dbg.h"#include "mim/util/log.h"#include "mim/plug/regex/autogen.h"#include "mim/plug/regex/regex.h"Go to the source code of this file.
Classes | |
| struct | mim::plug::regex::app_range |
Namespaces | |
| namespace | mim |
| namespace | mim::plug |
| namespace | mim::plug::regex |
| The regex Plugin | |
Typedefs | |
| using | Ranges = mim::Vector<Range> |
Functions | |
| template<class ConjOrDisj> | |
| const Def * | mim::plug::regex::make_binary_tree (Defs args) |
| bool | mim::plug::regex::compare_re (const Def *lhs, const Def *rhs) |
| void | mim::plug::regex::make_vector_unique (DefVec &args) |
| bool | mim::plug::regex::is_in_range (Range range, nat_t needle) |
| auto | mim::plug::regex::get_range (const Def *rng) -> Range |
| void | mim::plug::regex::merge_ranges (DefVec &args) |
| template<cls A, cls B> | |
| bool | mim::plug::regex::equals_any (const Def *cls0, const Def *cls1) |
| bool | mim::plug::regex::equals_any (const Def *lhs, const Def *rhs) |
| bool | mim::plug::regex::equals_any (Defs lhs, Defs negated_rhs) |
| const Def * | mim::plug::regex::any_unwanted_for_not (const Def *arg) |
%regex.quant | |
| template<quant id> | |
| const Def * | mim::plug::regex::normalize_quant (const Def *type, const Def *callee, const Def *arg) |
%regex.conj | |
| const Def * | mim::plug::regex::normalize_conj (const Def *type, const Def *callee, const Def *arg) |
%regex.disj | |
| const Def * | mim::plug::regex::normalize_disj (const Def *type, const Def *, const Def *arg) |
%regex.range | |
| const Def * | mim::plug::regex::normalize_range (const Def *type, const Def *callee, const Def *arg) |
%regex.not_ | |
| const Def * | mim::plug::regex::normalize_not (const Def *, const Def *callee, const Def *arg) |
| using Ranges = mim::Vector<Range> |
Definition at line 22 of file normalizers.cpp.