public static void walkDefmoduleTree(Cons tree) {
    { TranslationUnit self000 = TranslationUnit.newTranslationUnit();

      self000.category = Stella.SYM_STELLA_MODULE;
      self000.theObject = tree;
      Native.setSpecial(Stella.$CURRENTTRANSLATIONUNIT$, self000);
    }
    { Module module = null;
      String modulename = Stella_Object.coerceToModuleName(tree.rest.value, false);

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

          try {
            Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
            Stella.signalTranslationError();
            if (!(Stella.suppressWarningsP())) {
              Stella.printErrorContext(">> ERROR: ", Stella.STANDARD_ERROR);
              {
                Stella.STANDARD_ERROR.nativeStream.println();
                Stella.STANDARD_ERROR.nativeStream.println(" Illegal module name: `" + tree.rest.value + "'.");
              }
;
            }

          } finally {
            Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$000);
          }
        }
        TranslationUnit.clearTranslationUnit(((TranslationUnit)(Stella.$CURRENTTRANSLATIONUNIT$.get())));
        Native.setSpecial(Stella.$CURRENTTRANSLATIONUNIT$, null);
        return;
      }
      module = Module.defineModule(modulename, tree.rest.rest);
      ((TranslationUnit)(Stella.$CURRENTTRANSLATIONUNIT$.get())).theObject = module;
    }
  }