static boolean shell_parameter_expansion_inner(PsiBuilder b, int l) {
    if (!recursion_guard_(b, l, "shell_parameter_expansion_inner")) return false;
    boolean r;
    Marker m = enter_section_(b, l, _NONE_, null, "<parameter expansion>");
    r = w(b, l + 1);
    if (!r) r = array_expression(b, l + 1);
    if (!r) r = consumeToken(b, PARAM_SEPARATOR);
    if (!r) r = vars(b, l + 1);
    exit_section_(b, l, m, r, false, null);
    return r;
  }
static boolean shell_parameter_expansion_inner(PsiBuilder b, int l)