| 3062 | // |
| 3063 | |
| 3064 | static act* par_trans( act_t act_op) |
| 3065 | { |
| 3066 | act* action = MSC_action(0, act_op); |
| 3067 | |
| 3068 | if (!terminator()) |
| 3069 | { |
| 3070 | const bool parens = MSC_match(KW_LEFT_PAREN); |
| 3071 | if ((gpreGlob.sw_language == lang_fortran) && (act_op == ACT_commit_retain_context)) |
| 3072 | { |
| 3073 | if (!MSC_match(KW_TRANSACTION_HANDLE)) |
| 3074 | return NULL; |
| 3075 | } |
| 3076 | else |
| 3077 | MSC_match(KW_TRANSACTION_HANDLE); |
| 3078 | action->act_object = (ref*) PAR_native_value(false, true); |
| 3079 | if (parens) |
| 3080 | EXP_match_paren(); |
| 3081 | } |
| 3082 | |
| 3083 | if ((gpreGlob.sw_language != lang_fortran) && (gpreGlob.sw_language != lang_pascal)) |
| 3084 | MSC_match(KW_SEMI_COLON); |
| 3085 | |
| 3086 | return action; |
| 3087 | } |
| 3088 | |
| 3089 | |
| 3090 | //____________________________________________________________ |
no test coverage detected