public static void startupCppTranslate() {
    { Object old$Module$000 = Stella.$MODULE$.get();
      Object old$Context$000 = Stella.$CONTEXT$.get();

      try {
        Native.setSpecial(Stella.$MODULE$, Stella.$STELLA_MODULE$);
        Native.setSpecial(Stella.$CONTEXT$, ((Module)(Stella.$MODULE$.get())));
        if (Stella.currentStartupTimePhaseP(2)) {
          _StartupCppTranslate.helpStartupCppTranslate1();
          _StartupCppTranslate.helpStartupCppTranslate2();
        }
        if (Stella.currentStartupTimePhaseP(4)) {
          _StartupCppTranslate.helpStartupCppTranslate3();
        }
        if (Stella.currentStartupTimePhaseP(6)) {
          Stella.finalizeClasses();
        }
        if (Stella.currentStartupTimePhaseP(7)) {
          _StartupCppTranslate.helpStartupCppTranslate4();
          _StartupCppTranslate.helpStartupCppTranslate5();
          Stella.defineFunctionObject("CPP-TRANSLATE-ACTUAL-PARAMETERS", "(DEFUN (CPP-TRANSLATE-ACTUAL-PARAMETERS CONS) ((TREE CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppTranslateActualParameters", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-TRANSLATE-VARIABLE-LENGTH-ACTUALS", "(DEFUN (CPP-TRANSLATE-VARIABLE-LENGTH-ACTUALS CONS) ((ACTUALS CONS) (METHOD METHOD-SLOT)))", Native.find_java_method("edu.isi.stella.Cons", "cppTranslateVariableLengthActuals", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons"), Native.find_java_class("edu.isi.stella.MethodSlot")}), null);
          Stella.defineFunctionObject("CPP-TRANSLATE-CALL-METHOD-SETTER", "(DEFUN (CPP-TRANSLATE-CALL-METHOD-SETTER CONS) ((TREE CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppTranslateCallMethodSetter", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-CREATE-OVERLOADED-FUNCTION-NAME", "(DEFUN (CPP-CREATE-OVERLOADED-FUNCTION-NAME SYMBOL) ((FUNCTIONNAME SYMBOL) (CLASSTYPE TYPE)))", Native.find_java_method("edu.isi.stella.Symbol", "cppCreateOverloadedFunctionName", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Symbol"), Native.find_java_class("edu.isi.stella.Surrogate")}), null);
          Stella.defineFunctionObject("CPP-TRANSLATE-METHOD-CALL", "(DEFUN (CPP-TRANSLATE-METHOD-CALL CONS) ((TREE CONS) (REFERENCED? BOOLEAN)))", Native.find_java_method("edu.isi.stella.Cons", "cppTranslateMethodCall", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons"), java.lang.Boolean.TYPE}), null);
          Stella.defineFunctionObject("CPP-TRANSLATE-NORMAL-METHOD-CALL", "(DEFUN (CPP-TRANSLATE-NORMAL-METHOD-CALL CONS) ((METHODNAME SYMBOL) (OWNER TYPE) (ARGUMENTS CONS) (REFERENCED? BOOLEAN)))", Native.find_java_method("edu.isi.stella.Symbol", "cppTranslateNormalMethodCall", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Symbol"), Native.find_java_class("edu.isi.stella.Surrogate"), Native.find_java_class("edu.isi.stella.Cons"), java.lang.Boolean.TYPE}), null);
          Stella.defineFunctionObject("CPP-TRANSLATE-DEFINED?-METHOD-CALL", "(DEFUN (CPP-TRANSLATE-DEFINED?-METHOD-CALL CONS) ((ARGUMENTTYPE TYPE) (ARGUMENT OBJECT) (NULL? BOOLEAN)))", Native.find_java_method("edu.isi.stella.Surrogate", "cppTranslateDefinedPMethodCall", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Surrogate"), Native.find_java_class("edu.isi.stella.Stella_Object"), java.lang.Boolean.TYPE}), null);
          Stella.defineFunctionObject("CPP-TRANSLATE-NTH-METHOD-CALL", "(DEFUN (CPP-TRANSLATE-NTH-METHOD-CALL CONS) ((OPERATOR SYMBOL) (OWNER TYPE) (ARGUMENTS CONS)))", Native.find_java_method("edu.isi.stella.Symbol", "cppTranslateNthMethodCall", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Symbol"), Native.find_java_class("edu.isi.stella.Surrogate"), Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-TRANSLATE-AREF-METHOD-CALL", "(DEFUN (CPP-TRANSLATE-AREF-METHOD-CALL CONS) ((OPERATOR SYMBOL) (OWNER TYPE) (ARGUMENTS CONS)))", Native.find_java_method("edu.isi.stella.Symbol", "cppTranslateArefMethodCall", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Symbol"), Native.find_java_class("edu.isi.stella.Surrogate"), Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-TRANSLATE-CODE-SIGNATURE", "(DEFUN (CPP-TRANSLATE-CODE-SIGNATURE CONS) ((SIGNATURE CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppTranslateCodeSignature", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-TRANSLATE-METHOD-CODE-SIGNATURE", "(DEFUN (CPP-TRANSLATE-METHOD-CODE-SIGNATURE CONS) ((SIGNATURE CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppTranslateMethodCodeSignature", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-TRANSLATE-CALL-FUNCTION-CODE", "(DEFUN (CPP-TRANSLATE-CALL-FUNCTION-CODE CONS) ((TREE CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppTranslateCallFunctionCode", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-TRANSLATE-CALL-METHOD-CODE", "(DEFUN (CPP-TRANSLATE-CALL-METHOD-CODE CONS) ((TREE CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppTranslateCallMethodCode", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("GET-LAST-N-ELEMENTS", "(DEFUN (GET-LAST-N-ELEMENTS CONS) ((LIST CONS) (N INTEGER)))", Native.find_java_method("edu.isi.stella.Cons", "getLastNElements", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons"), java.lang.Integer.TYPE}), null);
          Stella.defineFunctionObject("CPP-YIELD-UNUSED-DUMMY-ARGS", "(DEFUN (CPP-YIELD-UNUSED-DUMMY-ARGS CONS) ((METHOD METHOD-SLOT) (ARGS CONS)))", Native.find_java_method("edu.isi.stella.MethodSlot", "cppYieldUnusedDummyArgs", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.MethodSlot"), Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-TRANSLATE-FUNCTION-CALL", "(DEFUN (CPP-TRANSLATE-FUNCTION-CALL CONS) ((TREE CONS) (METHOD METHOD-SLOT)))", Native.find_java_method("edu.isi.stella.Cons", "cppTranslateFunctionCall", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons"), Native.find_java_class("edu.isi.stella.MethodSlot")}), null);
          Stella.defineFunctionObject("CPP-TRANSLATE-OPERATOR-TREE", "(DEFUN (CPP-TRANSLATE-OPERATOR-TREE CONS) ((TREE CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppTranslateOperatorTree", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-TRANSLATE-OPERATOR-CALL", "(DEFUN (CPP-TRANSLATE-OPERATOR-CALL CONS) ((OPERATORNAMES CONS) (ARGUMENTS CONS) (ARITY INTEGER)))", Native.find_java_method("edu.isi.stella.Cons", "cppTranslateOperatorCall", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons"), Native.find_java_class("edu.isi.stella.Cons"), java.lang.Integer.TYPE}), null);
          Stella.defineFunctionObject("CPP-TRANSLATE-HARDCODED-SYMBOL-REFERENCE", "(DEFUN (CPP-TRANSLATE-HARDCODED-SYMBOL-REFERENCE CONS) ((OPERATOR SYMBOL) (OFFSET INTEGER)))", Native.find_java_method("edu.isi.stella.Symbol", "cppTranslateHardcodedSymbolReference", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Symbol"), java.lang.Integer.TYPE}), null);
          Stella.defineFunctionObject("STARTUP-CPP-TRANSLATE", "(DEFUN STARTUP-CPP-TRANSLATE () :PUBLIC? TRUE)", Native.find_java_method("edu.isi.stella._StartupCppTranslate", "startupCppTranslate", new java.lang.Class [] {}), null);
          { MethodSlot function = Symbol.lookupFunction(Stella.SYM_STELLA_STARTUP_CPP_TRANSLATE);

            KeyValueList.setDynamicSlotValue(function.dynamicSlots, Stella.SYM_STELLA_METHOD_STARTUP_CLASSNAME, StringWrapper.wrapString("_StartupCppTranslate"), Stella.NULL_STRING_WRAPPER);
          }
        }
        if (Stella.currentStartupTimePhaseP(8)) {
          Stella.finalizeSlots();
          Stella.cleanupUnfinalizedClasses();
        }
        if (Stella.currentStartupTimePhaseP(9)) {
          Stella_Object.inModule(((StringWrapper)(Stella_Object.copyConsTree(StringWrapper.wrapString("/STELLA")))));
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *CPP-TRUE-STRING-WRAPPER* STRING-WRAPPER (WRAP-LITERAL \"TRUE\") :PUBLIC? FALSE :DOCUMENTATION \"Wrapped TRUE string, used to reduce consing.\")");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *CPP-FALSE-STRING-WRAPPER* STRING-WRAPPER (WRAP-LITERAL \"FALSE\") :PUBLIC? FALSE :DOCUMENTATION \"Wrapped FALSE string, used to reduce consing.\")");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFSPECIAL *DUMMYDECLARATIONS* CONS NULL :DOCUMENTATION \"Temporary List of declarations for unused return parameters\")");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFSPECIAL *CURRENTDUMMYINDEX* INTEGER NULL-INTEGER :DOCUMENTATION \"Current index of dummy parameter for unused return value\")");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *OPERATOR-TABLE* KEY-VALUE-LIST (DICTIONARY @KEY-VALUE-LIST (QUOTE ++) (CONS (WRAP-LITERAL \"++\") NIL) (QUOTE --) (CONS (WRAP-LITERAL \"--\") NIL) (QUOTE +) (CONS (WRAP-LITERAL \"+\") NIL) (QUOTE -) (CONS (WRAP-LITERAL \"-\") NIL) (QUOTE *) (CONS (WRAP-LITERAL \"*\") NIL) (QUOTE /) (CONS (WRAP-LITERAL \"/\") NIL) (QUOTE EQ?) (CONS (WRAP-LITERAL \"==\") NIL) (QUOTE !=) (CONS (WRAP-LITERAL \"!=\") NIL) (QUOTE >) (CONS (WRAP-LITERAL \">\") NIL) (QUOTE >=) (CONS (WRAP-LITERAL \">=\") NIL) (QUOTE =>) (CONS (WRAP-LITERAL \">=\") NIL) (QUOTE <) (CONS (WRAP-LITERAL \"<\") NIL) (QUOTE =<) (CONS (WRAP-LITERAL \"<=\") NIL) (QUOTE <=) (CONS (WRAP-LITERAL \"<=\") NIL) (QUOTE AND) (CONS (WRAP-LITERAL \"&&\") NIL) (QUOTE OR) (CONS (WRAP-LITERAL \"||\") NIL) (QUOTE NOT) (CONS (WRAP-LITERAL \"!\") NIL) (QUOTE CHOOSE) (CONS (WRAP-LITERAL \"?\") (CONS (WRAP-LITERAL \":\") NIL))) :DOCUMENTATION \"Mapping from STELLA operators to C++ operators\")");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *CPP-RESERVED-WORD-TABLE* (STRING-HASH-TABLE OF STRING STRING-WRAPPER) (CPP-CREATE-RESERVED-WORD-TABLE))");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFSPECIAL *CPP-CURRENT-UNIT-MODULE* MODULE NULL :DOCUMENTATION \"Home module of the currently translated unit.  Needed for\nproper name translation for units whose home module is different than the\nfile module (occurs in some PowerLoom files - I thought we had outlawed that).\")");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *CPP-CHARACTER-SUBSTITUTION-TABLE* STRING (CPP-CREATE-CHARACTER-SUBSTITUTION-TABLE))");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFSPECIAL *CPP-NAME-QUALIFICATION-MODE* KEYWORD :CLEVER)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *CPP-NAMESPACE-SEPARATOR* STRING \"::\")");
        }

      } finally {
        Stella.$CONTEXT$.set(old$Context$000);
        Stella.$MODULE$.set(old$Module$000);
      }
    }
  }