boolean (PsiBuilder b, int l, int g) { if (!recursion_guard_(b, l, "expression")) return false; addVariant(b, "<expression>"); boolean r, p; Marker m = enter_section_(b, l, _NONE_, "<expression>"); r = logical_bitwise_negation_expression(b, l + 1); if (!r) r = unary_expression(b, l + 1); if (!r) r = pre_expression(b, l + 1); if (!r) r = array_expression(b, l + 1); if (!r) r = literal_expression(b, l + 1); if (!r) r = parentheses_expression(b, l + 1); p = r; r = r && expression_0(b, l + 1, g); exit_section_(b, l, m, null, r, p, null); return r || p; }