Select Git revision
dune-project
Forked from
David Hamelin / jscoq-light
Source project has a limited visibility.
translator.hpp 1.14 KiB
#ifndef TRANSLATOR_HPP
#define TRANSLATOR_HPP
#include "ad_tree.hpp"
#include "automata.hpp"
#include "constant_coefficient.hpp"
#include "gates/and.hpp"
#include "gates/nand.hpp"
#include "gates/nor.hpp"
#include "gates/or.hpp"
#include "gates/sand.hpp"
#include "gates/snand.hpp"
#include "gates/snor.hpp"
#include "gates/sor.hpp"
#include "leaf.hpp"
class Translator {
protected:
static Automata *translation(TreeNode *node, Automata *amata);
// static void nor_to_automaton(TreeNode *node, Automata *amata);
// static void sor_to_automaton(TreeNode *node, Automata *amata);
// static void snor_to_automaton(TreeNode *node, Automata *amata);
public:
Translator();
~Translator();
static void leaf_to_automaton(TreeNode *leaf, Automata *amata);
static void and_to_automaton(TreeNode *node, Automata *amata);
static void nand_to_automaton(TreeNode *node, Automata *amata);
static void sand_to_automaton(TreeNode *node, Automata *amata);
static void snand_to_automaton(TreeNode *node, Automata *amata);
static void or_to_automaton(TreeNode *node, Automata *amata);
static Automata *adt2amas_translate(ADtree *adtree);
};
#endif