public static void startupCppOutput() {
    { 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)) {
          _StartupCppOutput.helpStartupCppOutput1();
        }
        if (Stella.currentStartupTimePhaseP(4)) {
          Stella.$CPP_INDENT_CHARS$.setDefaultValue(new Integer(0));
          Stella.$OUTPUTTINGDEFPRINTp$.setDefaultValue(new Boolean(false));
        }
        if (Stella.currentStartupTimePhaseP(6)) {
          Stella.finalizeClasses();
        }
        if (Stella.currentStartupTimePhaseP(7)) {
          _StartupCppOutput.helpStartupCppOutput2();
          Stella.defineFunctionObject("CPP-INDENT", "(DEFUN CPP-INDENT ())", Native.find_java_method("edu.isi.stella.Stella", "cppIndent", new java.lang.Class [] {}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-SEMICOLON?", "(DEFUN (CPP-OUTPUT-SEMICOLON? BOOLEAN) ((STATEMENT CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputSemicolonP", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-INDENT-STATEMENT?", "(DEFUN (CPP-INDENT-STATEMENT? BOOLEAN) ((STATEMENT CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppIndentStatementP", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("ILLEGAL-CPP-STATEMENT?", "(DEFUN (ILLEGAL-CPP-STATEMENT? BOOLEAN) ((STATEMENT CONS)))", Native.find_java_method("edu.isi.stella.Cons", "illegalCppStatementP", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-STATEMENTS", "(DEFUN CPP-OUTPUT-STATEMENTS ((STATEMENTLIST CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputStatements", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-MAYBE-OUTPUT-STATEMENT-WITH-PARENTHESES", "(DEFUN CPP-MAYBE-OUTPUT-STATEMENT-WITH-PARENTHESES ((STATEMENT OBJECT)))", Native.find_java_method("edu.isi.stella.Stella_Object", "cppMaybeOutputStatementWithParentheses", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Stella_Object")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-STREAM-PRINT-ITEMS", "(DEFUN CPP-OUTPUT-STREAM-PRINT-ITEMS ((ITEMS CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputStreamPrintItems", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-PRINT-STREAM", "(DEFUN CPP-OUTPUT-PRINT-STREAM ((EXPS CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputPrintStream", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-PRINT-NATIVE-STREAM", "(DEFUN CPP-OUTPUT-PRINT-NATIVE-STREAM ((EXPS CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputPrintNativeStream", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-INDENTABLE-BINARY-OPERATOR?", "(DEFUN (CPP-INDENTABLE-BINARY-OPERATOR? BOOLEAN) ((OPERATOR STRING-WRAPPER)))", Native.find_java_method("edu.isi.stella.StringWrapper", "cppIndentableBinaryOperatorP", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.StringWrapper")}), null);
          Stella.defineFunctionObject("CPP-COMMUTATIVE-BINARY-OPERATOR?", "(DEFUN (CPP-COMMUTATIVE-BINARY-OPERATOR? BOOLEAN) ((OPERATOR STRING-WRAPPER)))", Native.find_java_method("edu.isi.stella.StringWrapper", "cppCommutativeBinaryOperatorP", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.StringWrapper")}), null);
          Stella.defineFunctionObject("CPP-BINARY-OPERATOR?", "(DEFUN (CPP-BINARY-OPERATOR? BOOLEAN) ((STATEMENT OBJECT)))", Native.find_java_method("edu.isi.stella.Stella_Object", "cppBinaryOperatorP", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Stella_Object")}), null);
          Stella.defineFunctionObject("CPP-OPERATOR?", "(DEFUN (CPP-OPERATOR? BOOLEAN) ((STATEMENT OBJECT)))", Native.find_java_method("edu.isi.stella.Stella_Object", "cppOperatorP", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Stella_Object")}), null);
          Stella.defineFunctionObject("CPP-ASSIGNMENT?", "(DEFUN (CPP-ASSIGNMENT? BOOLEAN) ((STATEMENT CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppAssignmentP", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-UNARY-OPERATOR", "(DEFUN CPP-OUTPUT-UNARY-OPERATOR ((EXPRESSION CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputUnaryOperator", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-NESTED-OPERATOR-NEEDS-PARENTHESES?", "(DEFUN (CPP-NESTED-OPERATOR-NEEDS-PARENTHESES? BOOLEAN) ((OP STRING-WRAPPER) (NESTED OBJECT)))", Native.find_java_method("edu.isi.stella.StringWrapper", "cppNestedOperatorNeedsParenthesesP", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.StringWrapper"), Native.find_java_class("edu.isi.stella.Stella_Object")}), null);
          Stella.defineFunctionObject("CPP-HELP-OUTPUT-BINARY-OPERATOR", "(DEFUN CPP-HELP-OUTPUT-BINARY-OPERATOR ((EXPRESSION CONS) (NESTLEVEL INTEGER)))", Native.find_java_method("edu.isi.stella.Cons", "cppHelpOutputBinaryOperator", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons"), java.lang.Integer.TYPE}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-BINARY-OPERATOR", "(DEFUN CPP-OUTPUT-BINARY-OPERATOR ((EXPRESSION CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputBinaryOperator", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-TERNARY-OPERATOR", "(DEFUN CPP-OUTPUT-TERNARY-OPERATOR ((EXPRESSION CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputTernaryOperator", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-STATEMENT-LINE", "(DEFUN CPP-OUTPUT-STATEMENT-LINE ((STATEMENT CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputStatementLine", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-RETURN", "(DEFUN CPP-OUTPUT-RETURN ((RETURNSTATEMENT CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputReturn", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-TYPE-EXPRESSION", "(DEFUN CPP-OUTPUT-TYPE-EXPRESSION ((TYPEEXPRESSION (CONS OF STRING-WRAPPER))))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputTypeExpression", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-TYPED-ENTITY", "(DEFUN CPP-OUTPUT-TYPED-ENTITY ((TYPE OBJECT) (ENTITY OBJECT) (INITIALVALUE OBJECT)))", Native.find_java_method("edu.isi.stella.Stella_Object", "cppOutputTypedEntity", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Stella_Object"), Native.find_java_class("edu.isi.stella.Stella_Object"), Native.find_java_class("edu.isi.stella.Stella_Object")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-DECLARATIONS", "(DEFUN CPP-OUTPUT-DECLARATIONS ((ACCESSCONTROLMODE KEYWORD) (DECLARATIONS (CONS OF CONS))))", Native.find_java_method("edu.isi.stella.Keyword", "cppOutputDeclarations", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Keyword"), Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-SIGNATURE", "(DEFUN CPP-OUTPUT-SIGNATURE ((SIGNATURE CONS) (OUTPUTMETHODCLASS? BOOLEAN)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputSignature", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons"), java.lang.Boolean.TYPE}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-SIGNATURES", "(DEFUN CPP-OUTPUT-SIGNATURES ((ACCESSCONTROLMODE KEYWORD) (SIGNATURES CONS)))", Native.find_java_method("edu.isi.stella.Keyword", "cppOutputSignatures", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Keyword"), Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-DEFINITIONS", "(DEFUN CPP-OUTPUT-DEFINITIONS ((ACCESSCONTROLMODE KEYWORD) (DEFINITIONS CONS)))", Native.find_java_method("edu.isi.stella.Keyword", "cppOutputDefinitions", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Keyword"), Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-PROGN", "(DEFUN CPP-OUTPUT-PROGN ((PROGN CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputProgn", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-BLOCK", "(DEFUN CPP-OUTPUT-BLOCK ((BLOCK CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputBlock", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-WITH-PROCESS-LOCK", "(DEFUN CPP-OUTPUT-WITH-PROCESS-LOCK ((SYNCH CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputWithProcessLock", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-STATIC-MEMBER-VARS", "(DEFUN CPP-OUTPUT-STATIC-MEMBER-VARS ((CLASS STRING-WRAPPER) (DECLARATIONS (CONS OF CONS))))", Native.find_java_method("edu.isi.stella.StringWrapper", "cppOutputStaticMemberVars", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.StringWrapper"), Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-DERIVED-CLASSES", "(DEFUN CPP-OUTPUT-DERIVED-CLASSES ((CLASSLIST CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputDerivedClasses", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-TEMPLATE-PARAMETERS", "(DEFUN CPP-OUTPUT-TEMPLATE-PARAMETERS ((PARAMETERS CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputTemplateParameters", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-TEMPLATE-CLASSES?", "(DEFUN (CPP-OUTPUT-TEMPLATE-CLASSES? BOOLEAN) ())", Native.find_java_method("edu.isi.stella.Stella", "cppOutputTemplateClassesP", new java.lang.Class [] {}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-CLASS", "(DEFUN CPP-OUTPUT-CLASS ((CLASSDEF CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputClass", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-FORMAL-PARAMETERS", "(DEFUN CPP-OUTPUT-FORMAL-PARAMETERS ((PARAMETERS (CONS OF CONS))))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputFormalParameters", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-ARGUMENT-IS-STREAM?", "(DEFUN (CPP-ARGUMENT-IS-STREAM? BOOLEAN) ((ARG OBJECT)))", Native.find_java_method("edu.isi.stella.Stella_Object", "cppArgumentIsStreamP", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Stella_Object")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-ONE-ACTUAL-PARAMETER", "(DEFUN CPP-OUTPUT-ONE-ACTUAL-PARAMETER ((PARAMETER OBJECT)))", Native.find_java_method("edu.isi.stella.Stella_Object", "cppOutputOneActualParameter", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Stella_Object")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-ACTUAL-PARAMETERS", "(DEFUN CPP-OUTPUT-ACTUAL-PARAMETERS ((PARAMETERS CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputActualParameters", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-METHOD-SETTER-CALL", "(DEFUN CPP-OUTPUT-METHOD-SETTER-CALL ((METHODSETTERCALL CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputMethodSetterCall", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-METHOD-CALL", "(DEFUN CPP-OUTPUT-METHOD-CALL ((METHODCALL CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputMethodCall", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-REFERENCED-METHOD-CALL", "(DEFUN CPP-OUTPUT-REFERENCED-METHOD-CALL ((METHODCALL CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputReferencedMethodCall", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-FUNCTION-CALL", "(DEFUN CPP-OUTPUT-FUNCTION-CALL ((FUNCTIONCALL CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputFunctionCall", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-DEFPRINT-SIGNATURE", "(DEFUN CPP-OUTPUT-DEFPRINT-SIGNATURE ((DEFPRINT CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputDefprintSignature", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-DEFPRINT", "(DEFUN CPP-OUTPUT-DEFPRINT ((DEFPRINT CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputDefprint", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-FUNCTION-SIGNATURE", "(DEFUN CPP-OUTPUT-FUNCTION-SIGNATURE ((FUNCTION CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputFunctionSignature", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("CPP-OUTPUT-FUNCTION", "(DEFUN CPP-OUTPUT-FUNCTION ((FUNCTION CONS)))", Native.find_java_method("edu.isi.stella.Cons", "cppOutputFunction", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), null);
          Stella.defineFunctionObject("STARTUP-CPP-OUTPUT", "(DEFUN STARTUP-CPP-OUTPUT () :PUBLIC? TRUE)", Native.find_java_method("edu.isi.stella._StartupCppOutput", "startupCppOutput", new java.lang.Class [] {}), null);
          { MethodSlot function = Symbol.lookupFunction(Stella.SYM_STELLA_STARTUP_CPP_OUTPUT);

            KeyValueList.setDynamicSlotValue(function.dynamicSlots, Stella.SYM_STELLA_METHOD_STARTUP_CLASSNAME, StringWrapper.wrapString("_StartupCppOutput"), 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("(DEFSPECIAL *CPP-INDENT-CHARS* INTEGER 0)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFSPECIAL *OUTPUTTINGDEFPRINT?* BOOLEAN FALSE :DOCUMENTATION \"`true' when outputting a defprint, used to \n            conditionally dereference streams in print-native-stream \n            statements.  Also used to take the address of streams\n            when passed to functions inside of a defprint\")");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *CPP-MAX-STRING-LITERAL-LENGTH* INTEGER 1024 :DOCUMENTATION \"C++ string literals longer than this are broken\ninto multiple pieces to avoid problems with certain MS compilers.\")");
        }

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