public static boolean variable_name(PsiBuilder b, int l) {
    if (!recursion_guard_(b, l, "variable_name")) return false;
    if (!nextTokenIs(b, LETTER)) return false;
    boolean r;
    Marker m = enter_section_(b);
    r = consumeToken(b, LETTER);
    r = r && variable_name_1(b, l + 1);
    exit_section_(b, m, VARIABLE_NAME, r);
    return r;
  }
public static boolean variable_name(PsiBuilder b, int l)