Om
Namespaces | Classes | Functions
Om::Language Namespace Reference

The Om language implementation.

Namespaces

 Operation
 A namespace for all Operation implementations.
 
 Symbol
 A namespace for ASCII CodePoint symbol enumerations.
 

Classes

class  Atom
 An atomic Element defined by a string. More...
 
class  Consumer
 An Element taker; takes at the back. More...
 
class  DefaultAtom
 A partial implementation of Atom. More...
 
class  DefaultConsumer
 A partial implementation of Consumer. More...
 
class  DefaultElement
 A partial implementation of Element. More...
 
class  DefaultProgram
 A partial implementation of Program. More...
 
class  Element
 A Program that contains a single elemental item (or none, when IsEmpty() returns true). More...
 
class  Environment
 An unowned Translator collection for which lookups are done for each Translator, in reverse order, until a match is found. More...
 
class  Evaluation
 The current evaluation. More...
 
class  Evaluator
 A Consumer that evaluates Program instances. More...
 
class  Expression
 The Expression Program implementation. More...
 
class  Form
 An Operator (which may be empty), followed by zero or more Operand instances. More...
 
class  Lexicon
 The Lexicon Program implementation. More...
 
class  Literal
 The Literal Program implementation. More...
 
class  Null
 The Null Element implementation. More...
 
class  Operand
 The Operand implementation. More...
 
class  Operator
 The Operator implementation. More...
 
class  Pair
 An Operator and an Operand. More...
 
class  Producer
 An Element giver; gives from the front. More...
 
class  Program
 The Program implementation. More...
 
class  Reader
 Produces each CodePoint until the end of the Source. More...
 
class  Separator
 The Separator implementation. More...
 
class  System
 Translates an Operator to an Operation. More...
 
class  Translator
 An Operator lookup for use by an Evaluator. More...
 
class  Writer
 A Consumer that pushes each Element to a CodePoint Sink upon receipt. More...
 

Functions

Atomnew_clone (Atom const &)
 
template<typename TheImplementation >
bool operator== (DefaultAtom< TheImplementation > const &, DefaultAtom< TheImplementation > const &)
 
template<typename TheImplementation >
bool operator!= (DefaultAtom< TheImplementation > const &, DefaultAtom< TheImplementation > const &)
 
bool operator== (Element const &, Element const &)
 
bool operator!= (Element const &, Element const &)
 
Elementnew_clone (Element const &)
 
bool operator== (Expression::ElementRange const &, Expression::ElementRange const &)
 
bool operator!= (Expression::ElementRange const &, Expression::ElementRange const &)
 
bool operator== (Form::ElementRange const &, Form::ElementRange const &)
 
bool operator!= (Form::ElementRange const &, Form::ElementRange const &)
 
bool operator== (Lexicon::ElementRange const &, Lexicon::ElementRange const &)
 
bool operator!= (Lexicon::ElementRange const &, Lexicon::ElementRange const &)
 
bool operator== (Operand const &, Operand const &)
 
bool operator!= (Operand const &, Operand const &)
 
bool operator== (Program const &, Program const &)
 
bool operator!= (Program const &, Program const &)
 
bool operator== (Reader const &, Reader const &)
 
bool operator!= (Reader const &, Reader const &)
 

Function Documentation

Atom* Om::Language::new_clone ( Atom const &  )
Returns
An owner pointer to a new copy.
Note
Required by boost::ptr_container classes.
template<typename TheImplementation >
bool Om::Language::operator== ( DefaultAtom< TheImplementation > const &  ,
DefaultAtom< TheImplementation > const &   
)
template<typename TheImplementation >
bool Om::Language::operator!= ( DefaultAtom< TheImplementation > const &  ,
DefaultAtom< TheImplementation > const &   
)
bool Om::Language::operator== ( Element const &  ,
Element const &   
)
bool Om::Language::operator!= ( Element const &  ,
Element const &   
)
Element* Om::Language::new_clone ( Element const &  )
Returns
An owner pointer to a new copy.
Note
Required by boost::ptr_container classes.
bool Om::Language::operator== ( Expression::ElementRange const &  ,
Expression::ElementRange const &   
)
bool Om::Language::operator!= ( Expression::ElementRange const &  ,
Expression::ElementRange const &   
)
bool Om::Language::operator== ( Form::ElementRange const &  ,
Form::ElementRange const &   
)
bool Om::Language::operator!= ( Form::ElementRange const &  ,
Form::ElementRange const &   
)
bool Om::Language::operator== ( Lexicon::ElementRange const &  ,
Lexicon::ElementRange const &   
)
bool Om::Language::operator!= ( Lexicon::ElementRange const &  ,
Lexicon::ElementRange const &   
)
bool Om::Language::operator== ( Operand const &  ,
Operand const &   
)
bool Om::Language::operator!= ( Operand const &  ,
Operand const &   
)
bool Om::Language::operator== ( Program const &  ,
Program const &   
)
bool Om::Language::operator!= ( Program const &  ,
Program const &   
)
bool Om::Language::operator== ( Reader const &  ,
Reader const &   
)
bool Om::Language::operator!= ( Reader const &  ,
Reader const &   
)