Go backward to Production Action.
Go up to The action side.

Grammar for Action Side
.......................

Below is a grammar for the action sides of productions:

<rhs>                      ::= <rhs_action>*
<rhs_action>               ::= ( variable <attr_value_make>+ ) | <func_call>
<func_call>                ::= ( <func_name> <rhs_value>* )
<func_name>                ::= sym_constant | + | -
<rhs_value>                ::= <constant> | <func_call> | variable
<constant>                 ::= sym_constant | int_constant | float_constant
<attr_value_make>          ::= ^ <variable_or_sym_constant> <value_make>+
<variable_or_sym_constant> ::= variable | sym_constant
<value_make>               ::= <rhs_value> <preference_specifier>*

<preference-specifier>     ::= <unary-preference>
                             | <forced-unary-preference>
                             | <binary-preference> <rhs_value>
<unary-preference>         ::= + | - | ! | ~ | @
<binary-preference>        ::= > | = | < | &
<forced-unary-preference>  ::= <binary-preference> {, | ) | ^}
   ;but the parser doesn't consume the ")" or "^" here