public static Cons kifVariableDeclarationsToStella(Stella_Object tree, boolean errorP) {
    if (Logic.stellaVariableDeclarationsP(tree)) {
      {
        return (((Cons)(tree)));
      }
    }
    else {
      if (Logic.kifVariableDeclarationP(tree)) {
        {
          return (Cons.cons(Logic.oneKifVariableDeclarationToStella(tree), Stella.NIL));
        }
      }
      else {
        { boolean testValue000 = false;

          testValue000 = Stella_Object.consP(tree);
          if (testValue000) {
            { boolean alwaysP000 = true;

              { Stella_Object d = null;
                Cons iter000 = ((Cons)(tree));

                loop000 : for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
                  d = iter000.value;
                  if (!Logic.kifVariableDeclarationP(d)) {
                    alwaysP000 = false;
                    break loop000;
                  }
                }
              }
              testValue000 = alwaysP000;
            }
          }
          if (testValue000) {
            {
              { ConsIterator it = ((Cons)(tree)).allocateIterator();

                while (it.nextP()) {
                  it.valueSetter(Logic.oneKifVariableDeclarationToStella(it.value));
                }
              }
              return (((Cons)(tree)));
            }
          }
          else {
            {
              if (errorP) {
                { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

                  { Object old$PrintreadablyP$000 = Stella.$PRINTREADABLYp$.get();

                    try {
                      Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
                      stream000.nativeStream.println("PARSING ERROR: Illegal declaration syntax: `" + tree + "'.");
                      Logic.helpSignalPropositionError(stream000, Logic.KWD_ERROR);

                    } finally {
                      Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$000);
                    }
                  }
                  throw ((ParsingError)(ParsingError.newParsingError(stream000.theStringReader()).fillInStackTrace()));
                }
              }
              return (null);
            }
          }
        }
      }
    }
  }