15 #ifndef Om_Language_System_
17 #define Om_Language_System_ \
22 #ifndef Om_Macro_Precompilation_
53 template <
typename ThisOperation>
81 char const theLocaleCodeUnitIterator[]
128 template <
typename ThisOperation>
An Element taker; takes at the back.
The Lexicon Program implementation.
The Operator implementation.
An inserter of an Operation into the static System instance.
Definition()
Inserts the Operation into the System.
Translates an Operator to an Operation.
virtual bool IsEmpty() const
void Initialize(char const theLocaleCodeUnitIterator[])
Initializes the System.
virtual void GiveElements(Consumer &) const
virtual bool Translate(Evaluation &, Operator const &) const
If there is an Operation mapped to the Operator, its implementation is given to the Evaluation.
System const & operator=(System const &)
Lexicon const & GetLexicon() const
std::map< std::string, void(*)(Evaluation &) > Map
Maps the name to a function that gives the Operation with this name to the Evaluation.
An Operator lookup for use by an Evaluator.