mirror of
https://github.com/boostorg/phoenix.git
synced 2026-02-15 01:12:09 +00:00
59 lines
1.8 KiB
Plaintext
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]
|
|
|