Skip to content
Snippets Groups Projects
Select Git revision
  • ef0ae573a3ad1a2789917a270183362ad4f5ac3d
  • v8.17 default protected
  • ultra-light
  • SharedArrayBuffer
4 results

dune-project

Blame
  • 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