PrevUpHomeNext

Reference

Core Mechanisms
actor
meta_grammar
environment
evaluator
default_actions
is_nullary
arity
expression
PHOENIX_DEFINE_EXPRESSION
PHOENIX_DEFINE_EXPRESSION_VARARG
PHOENIX_DEFINE_EXPRESSION_EXT
PHOENIX_DEFINE_EXPRESSION_VARARG_EXT
Terminals
Placeholders
is_custom_terminal
custom_terminal
The Language
Core
Value
Reference
Arguments
Nothing

While the previous section gave a brief overview on how to use the Phoenix library, this section will provide as the reference to the interfaces defined in phoenix.

With Phoenix being a domain specific embedded language this reference manual is different than most references to C++ libraries.

Phoenix is designed in a way that the language constructs are clearly separated from how they are evaluated. This follows the design principles of the C++ standard library. This design also allows us to see the code (i.e. Phoenix Actors) as data, and the different evaluation schemes, which act as the algorithms.

The remainder of this section is structured as following:

The Language

Definition of the Phoenix grammar

Reference to the mechanisms used to generate Phoenix actors

Extension mechanism of the Phoenix grammar

Evaluation

How Phoenix actors get evaluated

Reference to the predefined evaluators

Extension mechanism of the evaluation process

Advanced Tutorials

In depth discussion of the advertised features in the previous sections

Concepts

Throughout this reference section various concepts are used. To disambiguate their meanings consider the following definitions.

Phoenix Actor

A Phoenix Actor is the C++ Expression that is generated by the Phoenix Generators.

Phoenix Generator

The Generator is a C++ Expression that results in a Phoenix Actor.

This Generator is:


PrevUpHomeNext