354 lines
9.6 KiB
Plaintext
354 lines
9.6 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:rules Predefined Expressions and Rules]
|
|
|
|
This section is the "behind the scenes" counter part of the __phoenix_modules__
|
|
section. A listing of all the predefined expressions and rules:
|
|
|
|
[table
|
|
[[Expression] [Rule] []]
|
|
[[`expression::value<T>`] [``
|
|
rule::value
|
|
: expression::value<proto::_>
|
|
``]]
|
|
[[`expression::reference<T>`] [``
|
|
rule::custom_terminal
|
|
``]]
|
|
[[`expression::argument<N>`] [``rule::argument``]]
|
|
[[`expression::null`] [``rule::custom_terminal``]]
|
|
[[`expression::function<F, A0, ..., AN>`] [``
|
|
rule::function
|
|
: expression::function<vararg<meta_grammar> >
|
|
``]]
|
|
[[`expression::negate<A0>`] [``
|
|
rule::negate
|
|
: expression::negate<meta_grammar>
|
|
``]]
|
|
[[`expression::unary_plus<A0>`] [``
|
|
rule::negate
|
|
: expression::unary_plus<meta_grammar>
|
|
``]]
|
|
[[`expression::pre_inc<A0>`] [``
|
|
rule::negate
|
|
: expression::pre_inc<meta_grammar>
|
|
``]]
|
|
[[`expression::pre_dec<A0>`] [``
|
|
rule::negate
|
|
: expression::pre_dec<meta_grammar>
|
|
``]]
|
|
[[`expression::post_inc<A0>`] [``
|
|
rule::negate
|
|
: expression::post_inc<meta_grammar>
|
|
``]]
|
|
[[`expression::post_dec<A0>`] [``
|
|
rule::negate
|
|
: expression::post_dec<meta_grammar>
|
|
``]]
|
|
[[`expression::plus_assign<Lhs, Rhs>`] [
|
|
``
|
|
rule::plus_assign
|
|
: expression::plus_assign<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::minus_assign<Lhs, Rhs>`] [``
|
|
rule::minus_assign
|
|
: expression::minus_assign<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::multiplies_assign<Lhs, Rhs>`] [``
|
|
rule::multiplies_assign
|
|
: expression::multiplies_assign<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::divides_assign<Lhs, Rhs>`] [``
|
|
rule::divides_assign
|
|
: expression::divides_assign<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::modules_assign<Lhs, Rhs>`] [``
|
|
rule::modules_assign
|
|
: expression::modules_assign<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::plus<Lhs, Rhs>`] [``
|
|
rule::plus
|
|
: expression::plus<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::minus<Lhs, Rhs>`] [``
|
|
rule::minus
|
|
: expression::minus<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::multiplies<Lhs, Rhs>`] [
|
|
``
|
|
rule::multiplies
|
|
: expression::multiplies<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::divides<Lhs, Rhs>`] [``
|
|
rule::divides
|
|
: expression::divides<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::modulus<Lhs, Rhs>`] [``
|
|
rule::modulus
|
|
: expression::modulus<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::complement<A0>`] [``
|
|
rule::complement
|
|
: expression::complement<A0>
|
|
``]]
|
|
[[`expression::bitwise_and_assign<Lhs, Rhs>`] [``
|
|
rule::bitwise_and_assign
|
|
: expression::bitwise_and_assign<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::bitwise_or_assign<Lhs, Rhs>`] [``
|
|
rule::bitwise_or_assign
|
|
: expression::bitwise_or_assign<meta_grammar, meta_grammar>
|
|
``] ]
|
|
[[`expression::bitwise_xor_assign<Lhs, Rhs>`] [``
|
|
rule::bitwise_xor_assign
|
|
: expression::bitwise_xor_assign<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::shift_left_assign<Lhs, Rhs>`] [``
|
|
rule::shift_left_assign
|
|
: expression::shift_left_assign<meta_grammar, meta_grammar>
|
|
``] ]
|
|
[[`expression::shift_right_assign<Lhs, Rhs>`] [``
|
|
rule::shift_right_assign
|
|
: expression::shift_right_assign<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::bitwise_and<Lhs, Rhs>`] [``
|
|
rule::bitwise_and
|
|
: expression::bitwise_and<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::bitwise_or<Lhs, Rhs>`] [``
|
|
rule::bitwise_or
|
|
: expression::bitwise_or<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::bitwise_xor<Lhs, Rhs>`] [``
|
|
rule::bitwise_xor
|
|
: expression::bitwise_xor<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::shift_left<Lhs, Rhs>`] [``
|
|
rule::shift_left
|
|
: expression::shift_left<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::shift_right<Lhs, Rhs>`] [``
|
|
rule::shift_right
|
|
: expression::shift_right<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::equal_to<Lhs, Rhs>`] [``
|
|
rule::equal_to
|
|
: expression::equal_to<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::not_equal_to<Lhs, Rhs>`] [``
|
|
rule::not_equal_to
|
|
: expression::not_equal_to<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::less_equal_to<Lhs, Rhs>`] [``
|
|
rule::less_equal_to
|
|
: expression::less_equal_to<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::greater_equal<Lhs, Rhs>`] [``
|
|
rule::greater_equal
|
|
: expression::greater_equal<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::less<Lhs, Rhs>`] [``
|
|
rule::less
|
|
: expression::less<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::greater<Lhs, Rhs>`] [``
|
|
rule::greater
|
|
: expression::greater<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::if_else_operator<Cond, Then, Else>`] [``
|
|
rule::if_else
|
|
: expression::if_else<meta_grammar, meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::logical_not<A0>`] [``
|
|
rule::logical_not
|
|
: expression::logical_not<meta_grammar>
|
|
``]]
|
|
[[`expression::logical_and<Lhs, Rhs>`] [``
|
|
rule::logical_and
|
|
: expression::logical_and<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::logical_or<Lhs, Rhs>`] [``
|
|
rule::logical_or
|
|
: expression::logical_or<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::mem_fun_ptr<Object, MemPtr, A0, ..., AN>`] [``
|
|
rule::mem_fun_ptr
|
|
: expression::mem_fun_ptr<meta_grammar, meta_grammar, vararg<meta_grammar> >
|
|
``]]
|
|
[[`expression::address_of<A0>`] [``
|
|
rule::address_of
|
|
: expression::address_of<meta_grammar>
|
|
``]]
|
|
[[`expression::dereference<A0>`] [``
|
|
rule::dereference
|
|
: expression::dereference<meta_grammar>
|
|
``]]
|
|
[[`expression::assign<Lhs, Rhs>`] [``
|
|
rule::assign
|
|
: expression::assign<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::subscript<Lhs, Rhs>`] [``
|
|
rule::subscript
|
|
: expression::subscript<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::sequence<A0, A1>`] [``
|
|
rule::sequence
|
|
: expression::sequence<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::if_<Cond, Then>`] [``
|
|
rule::if_
|
|
: expression::if_<meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::if_else_statement<Cond, Then, Else>`] [``
|
|
rule::if_else_statement
|
|
: expression::if_else_statement<meta_grammar, meta_grammar, meta_grammar>
|
|
``]]
|
|
[[`expression::switch_case<Label, Statement>`] [``
|
|
rule::switch_case
|
|
: expression::switch_case< terminal<mpl::int_<N> >, meta_grammar>
|
|
``]]
|
|
[[`expression::switch_default_case<Statement>`] [``
|
|
rule::switch_default_case
|
|
: expression::switch_default_case<meta_grammar>
|
|
``]]
|
|
[[`expression::switch_<Cond, Cases>`] [``
|
|
rule::switch_
|
|
: expression::switch_<
|
|
meta_grammar
|
|
, switch_grammar
|
|
>
|
|
``]]
|
|
[[`expression::while_<Cond, Do>`] [``
|
|
rule::while_
|
|
: expression::while_<
|
|
meta_grammar
|
|
, meta_grammar
|
|
>
|
|
``]]
|
|
[[`expression::do_while<Cond, Do>`] [``
|
|
rule::do_while
|
|
: expression::do_while<
|
|
meta_grammar
|
|
, meta_grammar
|
|
>
|
|
``]]
|
|
[[`expression::for_<Init, Cond, Step, Do>`] [``
|
|
rule::for_
|
|
: expression::for_<
|
|
meta_grammar
|
|
, meta_grammar
|
|
, meta_grammar
|
|
, meta_grammar
|
|
>
|
|
``]]
|
|
[[`expression::catch_<Exception, Statement>`] [``
|
|
rule::catch_
|
|
: expression::catch_<
|
|
catch_exception<proto::_>
|
|
, meta_grammar
|
|
>
|
|
``]]
|
|
[[`expression::catch_all<Statement>`] [``
|
|
rule::catch_all
|
|
: expression::catch_<meta_grammar>
|
|
``]]
|
|
[
|
|
[`expression::try_catch<Try, Catch0, ..., CatchN>`]
|
|
[``
|
|
rule::try_catch
|
|
: proto::or_<
|
|
expression::try_catch<
|
|
meta_grammar
|
|
, vararg<rule::catch_>
|
|
>
|
|
, expression::try_catch<
|
|
meta_grammar
|
|
, vararg<rule::catch_>
|
|
, rule::catch_all
|
|
>
|
|
, expression::try_catch<
|
|
meta_grammar
|
|
, catch_all
|
|
>
|
|
>
|
|
``]]
|
|
[[`expression::throw_<A0>`] [``
|
|
rule::throw_
|
|
: expression::throw_<meta_grammar>
|
|
``]]
|
|
[[`expression::construct<Target, A0, ..., AN>`] [``
|
|
rule::construct
|
|
: expression::construct<
|
|
terminal<detail::target<proto::_> >
|
|
, A0
|
|
...
|
|
, AN
|
|
>
|
|
``]]
|
|
[[`expression::new_<Target, A0, ..., AN>`] [``
|
|
rule::new_
|
|
: expression::new_<
|
|
terminal<detail::target<proto::_> >
|
|
, A0
|
|
...
|
|
, AN
|
|
>
|
|
``]]
|
|
[[`expression::delete_<A0>`] [``
|
|
rule::delete_
|
|
: expression::delete_<meta_grammar>
|
|
``]]
|
|
[[`expression::static_cast_<Target, A>`] [``
|
|
rule::static_cast_
|
|
: expression::static_cast_<
|
|
terminal<detail::target<proto::_> >
|
|
, A
|
|
>
|
|
``]]
|
|
[[`expression::dynamic_cast_<Target, A>`] [``
|
|
rule::dynamic_cast_
|
|
: expression::dynamic_cast_<
|
|
terminal<detail::target<proto::_> >
|
|
, A
|
|
>
|
|
``]]
|
|
[[`expression::reinterpret_cast_<Target, A>`] [``
|
|
rule::reinterpret_cast_
|
|
: expression::reinterpret_cast_<
|
|
terminal<detail::target<proto::_> >
|
|
, A
|
|
>
|
|
``]]
|
|
[[`expression::const_cast_<Target, A>`] [``
|
|
rule::const_cast_
|
|
: expression::const_cast_<
|
|
terminal<detail::target<proto::_> >
|
|
, A
|
|
>
|
|
``]]
|
|
[[`expression::local_variable<Key>`] [``rule::custom_terminal``]]
|
|
[[`expression::let<Locals, Statement>`] [
|
|
``
|
|
rule::let
|
|
: expression::let<terminal<proto::_>, meta_grammar>
|
|
``]]
|
|
[[`expression::lambda<OuterEnv, Locals, Statement>`] [
|
|
``
|
|
rule::lambda
|
|
: expression::lambda<terminal<proto::_>, terminal<proto::_>, meta_grammar>
|
|
``]]
|
|
[[`expression::lambda_actor<Locals, Statement>`] [
|
|
``
|
|
rule::lambda_actor
|
|
: expression::lambda_actor<terminal<proto::_>, meta_grammar>
|
|
``]]
|
|
]
|
|
|
|
[endsect]
|