| [/============================================================================== |
| 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] |