2
0
mirror of https://github.com/boostorg/phoenix.git synced 2026-02-15 01:12:09 +00:00
Files
phoenix/doc/reference/concepts/evaluator.qbk
Thomas Heller ea7b0594b1 final commit for gsoc submission
[SVN r64850]
2010-08-16 17:52:36 +00:00

59 lines
1.8 KiB
Plaintext

[/==============================================================================
Copyright (C) 2001-2010 Joel de Guzman
Copyright (C) 2001-2005 Dan Marsden
Copyright (C) 2001-2010 Thomas Heller
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
===============================================================================/]
[section Evaluator]
[heading Description]
The concepts of evaluators are the working horses behind phoenix.
They are responsible of evaluating the composed expressions.
Various evaluators are thinkable, the main evaluator will be referred to as the
default evaluator. It is implemented in terms of the Boost.Proto default context
and the various __phoenix_concepts_evaluation_policies__.
[variablelist Notation
[[`Eval`] [Type fulfilling this concept]]
[[`eval`] [An object of type Eval]]
[[`Expr`] [Type of the [link phoenix.reference.concepts.actor Actor Concept]]]
[[`expr`] [Object of type Expr]]
[[`Env`] [Type fulfilling the [link phoenix.reference.concepts.environment Environment concept]]]
[[`env`] [Object of type Env]]
]
[heading Valid Expressions]
[table
[[Expression] [Return Type] [Run time Complexity]]
[[`eval(expr, env)`] [Any Type] [unspecified]]
]
[heading Result Type Expressions]
[table
[[Expression] [Result Type] [Compile time Complexity]]
[[boost::result_of<Eval(Expr const&, Env&)>::type] [Result of evaluation] [unspecified]]
]
[heading Expression Semantics]
[table
[[Expression] [Semantics]]
[[`eval(expr, env)`] [Evaluate the expression with the given environment]]
]
[heading Models]
* `boost::phoenix::eval_grammar`
* `boost::phoenix::arity`
* `boost::phoenix::no_nullary`
* `boost::phoenix::switch_grammar`
[endsect]