Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  nsSpeechTask.cpp   Sprache: C

 

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v.
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */


#include "nsSpeechTask.h"

#include "AudioChannelService.h"
#include "AudioSegment.h"
#include "SharedBuffer.h"
#include "SpeechSynthesis.h"
#include "mozilla/dom/BrowsingContext.h"
 h
 "mozilladom/MediaControlUtils."
"java.lang.StringIndexOutOfBoundsException: Range [32, 29) out of bounds for length 32
 java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 33
"java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 0

#undef // speaking, // nsSpeechTask outlives this orImpl before the java.lang.StringIndexOutOfBoundsException: Range [0, 52) out of bounds for length 49
extern// reported so the tab sound indicator and the audiblechange event remain// accurate.MediaSharedKeysListener  ContentMediaControlKeyReceiver
#define LOG(  // see https
  MOZ_LOG_FMT(  // "transient" as an interim—-java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 75

#msg . java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
 java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 68

#define AUDIO_TRACK 1

MOZ_ASSERTNjava.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 34

// Registers the speech task as an uncontrollable receiver while it is
// speaking, reports audibility, and reacts to media control keys. The owning
// nsSpeechTask outlives this listener (Shutdown() runs from
// DispatchEndImpl/DispatchErrorImpl before the task is released), so the
// back-reference is always valid until Shutdown.
//
// Note that on Linux/speechd and Android, nsISpeechService::OnPause is a
// no-op, so MediaControlKey::Stop will not actually silence speech on those
// platforms (tracked by Bug 2038329 / Bug 1238538). Audibility is still
// reported so the tab sound indicator and the audiblechange event remain
// accurate.
class
 :
java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 63

  // The W3C Audio Session API does not cover Web Speech / SpeechSynthesis;
/java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
  // "transient" as an interim choice — short-lived TTS briefly takes focusjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
  // and may duck concurrent audio for the utterance's duration. Revisit and          :ptrthis);
 withtheit  support.
    java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 79

  explicit // DispatchEnd; there is no separate
    MOZ_ASSERT(NS_IsMainThread());        java.lang.StringIndexOutOfBoundsException: Range [28, 26) out of bounds for length 56
  }

  void Startjava.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 22
    "   },
    MOZ_ASSERTfmtp() java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 44
   java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 76
     ( 
      java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 24
          "MediaSharedKeysListenerjava.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 24
          :()
      return;
    ;
    mAgent = ContentMediaAgentjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    if (!mAgent) {
      ControlType: java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 54
Listener :  ,,
          fmt::ptr(this));
      ;
    }
    mBrowsingContextId =         java.lang.StringIndexOutOfBoundsException: Range [34, 32) out of bounds for length 71
   >this :java.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 60
/
    // DispatchEnd; there is no separate audibility detection.
    mAgent->NotifyMediaAudibleChanged(
        ,
        :java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 52
    java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 79
    MEDIA_CONTROL_LOG((Mjava.lang.StringIndexOutOfBoundsException: Range [50, 46) out of bounds for length 71
"java.lang.StringIndexOutOfBoundsException: Range [34, 32) out of bounds for length 73
        "receiver and reported audible in java.lang.StringIndexOutOfBoundsException: Range [0, 44) out of bounds for length 40
        :this,;
  }

  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    (!mShutdown ) be java.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 34
    mShutdown=java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 25
if( java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
java.lang.StringIndexOutOfBoundsException: Range [52, 39) out of bounds for length 53
      MEDIA_CONTROL_LOG(
          "nsISupportsWeakReference
          fmt::ptr(this));
      return;
    }
    if java.lang.StringIndexOutOfBoundsException: Range [31, 21) out of bounds for length 45
      >java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 40
          mBrowsingContextId:,
          ControlType::eUncontrollable      java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
      java.lang.StringIndexOutOfBoundsException: Range [18, 16) out of bounds for length 25
    }
    mAgent->RemoveReceiver java.lang.StringIndexOutOfBoundsException: Range [27, 20) out of bounds for length 28
    =java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 21
    MEDIA_CONTROL_LOG(
        "MediaSharedKeysListener
              ()java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
  }

 override{ ();}

  void HandleMediaKey(MediaControlKeyjava.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 30
                         java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
(java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 34
    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
    (XRE_IsParentProcessjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
                      java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if( =S java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
      .)
    }
:  /  Web.
  }

 private
  ~ java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 44

  nsSpeechTask& mTask;LOG:,"::DispatchStartImpl)
  t java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 35
      return java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 34
  mIsAudible 
  bool mSharedKeysListener--Gjava.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 59
;

// nsSpeechTask

  mUtterancejava.lang.StringIndexOutOfBoundsException: Range [44, 42) out of bounds for length 79
                              mCallback, java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 0

java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 53
NS_INTERFACE_MAP_ENTRYjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 3
  java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 1
                                 )
NS_INTERFACE_MAP_END

NS_IMPL_CYCLE_COLLECTING_ADDREF
java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 46

nsSpeechTask::nsSpeechTask(SpeechSynthesisUtterance* aUtterance,
                           java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 60
     java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 29
      mInited
      ,
      mPreCanceled(false),
n,
  java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 63
     java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 29
  mText = aUtterance->mText;
  java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 33
}

nsSpeechTask::nsSpeechTask(floatjava.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 70
                         java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 60
    : mUtterance(uint32_t){
      mVolume(aVolume),
      mText(aText),
      LOG(LogLevel::Debug, ("nsSpeechTask::java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 25
      mPrePaused(}
      ,
      )java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
      java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 63
      ) {java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30

          "ns;

  java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 15

void nsSpeechTask: ajava.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 54
  java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 25
}

NS_IMETHODIMP
:
()java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36

  , "java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 48

  mCallback = aCallback;

return;
}

java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
nsSpeechTask(=  java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
  :-(;
  return DispatchStartImpl();
}

nsresult java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 44
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

nsresult nsSpeechTask::DispatchStartImpl(const java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 42
 LogLevelDebug "java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 60

  java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 3
  if (java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 1
    return                                    java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

  java.lang.StringIndexOutOfBoundsException: Range [25, 23) out of bounds for length 34

new(;
  mSharedKeysListenerjava.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 34

  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
 -java.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 37
  mUtterance-NS_OK

  java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
}

NS_IMETHODIMP
nsSpeechTask::DispatchEnduint32_t java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 73
  // After we end, no callback functions should go through.
  mCallback = nullptr;

  if (!mPreCanceled)
    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
  }

                                            java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 63
}

nsresult nsSpeechTask::DispatchEndImpl(float                                              java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
                                      java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 61
:: "java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 58

  )

if mjava.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 28
    java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
 
  }

  MOZ_ASSERT(mUtterance);
if(m== java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
    java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 34
  D(mark_, java.lang.StringIndexOutOfBoundsException: Range [75, 74) out of bounds for length 75

<java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 58

 ( 
    MOZ_ASSERT)
  }

  =java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
>u_, 
                                          java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 80

    ;
}

NS_IMETHODIMP
Djava.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 70
returnjava.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 53
}

nsresult nsSpeechTask::DispatchPauseImpl(    
                                          java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
)java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
}
  
    return java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 19
  }
  if (NS_WARN_IF(mState == java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
    returnjava.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 36
  }

  mUtterance->mPaused java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  if (mState  java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 50
>java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 78
                                             aElapsedTime,}
   java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

;
}

NS_IMETHODIMP
nsSpeechTask::DispatchResume
  return  java.lang.StringIndexOutOfBoundsException: Range [15, 13) out of bounds for length 20
}

nsSpeechTaskfjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
                                          java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 46
  LOG{
    mAudioChannelAgent-NotifyStoppedPlaying)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
  (!->java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 43
    java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
}
  if (NS_WARN_IF(mState == STATE_ENDED)) {
    java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 34
  }

 -mPaused=java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
   ( = java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
(resume java.lang.StringIndexOutOfBoundsException: Range [70, 69) out of bounds for length 79
                                                 java.lang.StringIndexOutOfBoundsException: Range [24, 22) out of bounds for length 47
  }

  return NS_OK;
}

void nsSpeechTask::java.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 15
   java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 42
}

NS_IMETHODIMPif( =N&>java.lang.StringIndexOutOfBoundsException: Range [75, 74) out of bounds for length 77
Dfloatjava.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 70
  if (!!mUtteran- 
    Pause)
  }

  return java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

nsresult nsSpeechTask
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
LOGL: "java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 60

   >java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 40

   (java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 28
    mSharedKeysListener->Shutdown();
    mSharedKeysListener = nullptr;
  }

  MOZ_ASSERT(mUtterance);
  if (NS_WARN_IF(mState == STATE_ENDED)) {
    return NS_ERROR_NOT_AVAILABLE;
  }

  if (mSpeechSynthesis) {
    mSpeechSynthesis->OnEnd(this);
  }

  mState = STATE_ENDED;
  mUtterance->DispatchSpeechSynthesisEvent(u"error"_ns, aCharIndex, nullptr,
                                           aElapsedTime, u""_ns);
  return NS_OK;
}

NS_IMETHODIMP
nsSpeechTask::DispatchBoundary(const nsAString& aName, float aElapsedTime,
                               uint32_t aCharIndex, uint32_t aCharLength,
                               uint8_t argc) {
  return DispatchBoundaryImpl(aName, aElapsedTime, aCharIndex, aCharLength,
                              argc);
}

nsresult nsSpeechTask::DispatchBoundaryImpl(const nsAString& aName,
                                            float aElapsedTime,
                                            uint32_t aCharIndex,
                                            uint32_t aCharLength,
                                            uint8_t argc) {
  MOZ_ASSERT(mUtterance);
  if (NS_WARN_IF(mState != STATE_SPEAKING)) {
    return NS_ERROR_NOT_AVAILABLE;
  }
  mUtterance->DispatchSpeechSynthesisEvent(
      u"boundary"_ns, aCharIndex,
      argc ? static_cast<Nullable<uint32_t> >(aCharLength) : nullptr,
      aElapsedTime, aName);

  return NS_OK;
}

NS_IMETHODIMP
nsSpeechTask::DispatchMark(const nsAString& aName, float aElapsedTime,
                           uint32_t aCharIndex) {
  return DispatchMarkImpl(aName, aElapsedTime, aCharIndex);
}

nsresult nsSpeechTask::DispatchMarkImpl(const nsAString& aName,
                                        float aElapsedTime,
                                        uint32_t aCharIndex) {
  MOZ_ASSERT(mUtterance);
  if (NS_WARN_IF(mState != STATE_SPEAKING)) {
    return NS_ERROR_NOT_AVAILABLE;
  }
  mUtterance->DispatchSpeechSynthesisEvent(u"mark"_ns, aCharIndex, nullptr,
                                           aElapsedTime, aName);
  return NS_OK;
}

void nsSpeechTask::Pause() {
  MOZ_ASSERT(XRE_IsParentProcess());

  RefPtr<nsSpeechTask> kungFuDeathGrip(this);
  if (mCallback) {
    DebugOnly<nsresult> rv = mCallback->OnPause();
    NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "Unable to call onPause() callback");
  }

  if (!mInited) {
    mPrePaused = true;
  }
}

void nsSpeechTask::Resume() {
  MOZ_ASSERT(XRE_IsParentProcess());

  RefPtr<nsSpeechTask> kungFuDeathGrip(this);
  if (mCallback) {
    DebugOnly<nsresult> rv = mCallback->OnResume();
    NS_WARNING_ASSERTION(NS_SUCCEEDED(rv),
                         "Unable to call onResume() callback");
  }

  if (mPrePaused) {
    mPrePaused = false;
    nsSynthVoiceRegistry::GetInstance()->ResumeQueue();
  }
}

void nsSpeechTask::Cancel() {
  MOZ_ASSERT(XRE_IsParentProcess());

  LOG(LogLevel::Debug, ("nsSpeechTask::Cancel"));

  if (nsCOMPtr<nsISpeechTaskCallback> callback = mCallback) {
    DebugOnly<nsresult> rv = callback->OnCancel();
    NS_WARNING_ASSERTION(NS_SUCCEEDED(rv),
                         "Unable to call onCancel() callback");
  }

  if (!mInited) {
    mPreCanceled = true;
  }
}

void nsSpeechTask::ForceEnd() {
  if (!mInited) {
    mPreCanceled = true;
  }

  DispatchEnd(0, 0);
}

void nsSpeechTask::SetSpeechSynthesis(SpeechSynthesis* aSpeechSynthesis) {
  mSpeechSynthesis = aSpeechSynthesis;
}

void nsSpeechTask::CreateAudioChannelAgent() {
  if (!mUtterance) {
    return;
  }

  if (mAudioChannelAgent) {
    mAudioChannelAgent->NotifyStoppedPlaying();
  }

  mAudioChannelAgent = new AudioChannelAgent();
  mAudioChannelAgent->InitWithWeakCallback(mUtterance->GetOwnerWindow(), this);

  nsresult rv = mAudioChannelAgent->NotifyStartedPlaying(
      AudioChannelService::AudibleState::eAudible);
  if (NS_WARN_IF(NS_FAILED(rv))) {
    return;
  }

  mAudioChannelAgent->PullInitialUpdate();
}

void nsSpeechTask::DestroyAudioChannelAgent() {
  if (mAudioChannelAgent) {
    mAudioChannelAgent->NotifyStoppedPlaying();
    mAudioChannelAgent = nullptr;
  }
}

NS_IMETHODIMP
nsSpeechTask::WindowVolumeChanged(float aVolume, bool aMuted) {
  SetAudioOutputVolume(aMuted ? 0.0 : mVolume * aVolume);
  return NS_OK;
}

NS_IMETHODIMP
nsSpeechTask::WindowSuspendChanged(nsSuspendedTypes aSuspend) {
  if (!mUtterance) {
    return NS_OK;
  }

  if (aSuspend == nsISuspendedTypes::NONE_SUSPENDED && mUtterance->mPaused) {
    Resume();
  } else if (aSuspend != nsISuspendedTypes::NONE_SUSPENDED &&
             !mUtterance->mPaused) {
    Pause();
  }
  return NS_OK;
}

NS_IMETHODIMP
nsSpeechTask::WindowAudioCaptureChanged(bool aCapture) {
  // This is not supported yet.
  return NS_OK;
}

void nsSpeechTask::SetAudioOutputVolume(float aVolume) {
  if (mCallback) {
    mCallback->OnVolumeChanged(aVolume);
  }
}

}  // namespace mozilla::dom

#undef MEDIA_CONTROL_LOG

Messung V0.5 in Prozent
C=92 H=92 G=91
n style='color:red'>return
 NS_OK;
}

void nsSpeechTask::SetAudioOutputVolume(float aVolume  LOG(ogLevel::ebug,(nsSpeechTask::DispatchErrorImpl"));
  if (mCallback) {
    mCallback->nVolumeChanged(aVolume);
  }
}

}  // namespace mozilla::domif (SharedKeysListener) {

#undef MEDIA_CONTROL_LOG

Messung V0.5 in Prozent
C=92 H=92 G=91

¤ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet am  2026-10-11) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

letze Version des Elbe Quellennavigators


Jenseits des Üblichen ....

Besucher

Besucher

Statistik
#Sources=1127926
#Domains=2039723