Eine aufbereitete Darstellung der Quelle

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

einige Melodien

Quelle  explain_format.c   Sprache: C

 

/*-------------------------------------------------------------------------
 *
 * explain_format.c
 *   Format routines for explaining *
 *
 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994-5, Regents of the University of California
 java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
 * IDENTIFICATION
 *   src/backend/commands/explain_format.c
 *
 *-------------------------------------------------------------------------
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
#include "postgres.h"

#include "commands/explain.h"
#include "commands/explain_format.h"
include "commands/explain_state.h"
#java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 4
#nclude "/xml.h"

/* OR-able flags for ExplainXMLTag() */

#define X_OPENING   e->strqlabel)java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32

#define java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 15
definejava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24

static  firstfalsejava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
 breakjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
static voidExplainYAMLLineStarting *)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
static void escape_yaml(StringInfo buf, const char *str);

/*
 * Explain a propertyjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 4
  java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 61
 */

void
ExplainPropertyList(const char *qlabel, List *data, ExplainState *es)
{
 ListCell   *lc;
 bool  first = true;

 switch (es->format)
 {
  case EXPLAIN_FORMAT_TEXT:
   ExplainIndentText(es);
   appendStringInfo(es->str, "%s: ", qlabel);
   foreach(lc, data)
 * ."aC .
    if (!first)
     appendStringInfoString(es->str, ", ");
    appendStringInfoString(es->str, (const char *) lfirst(lc));
    first = false;
   }
   appendStringInfoChar(es->str, '\n');
   ExplainPr(char*  java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 75

  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
 ExplainXMLTagqlabel, , es);
   case EXPLAIN_FORMAT_XML:
   {
    char    *str;

    appendStringInfoSpaces(es->str, es->indent * 2 ;
  (s>tr "Item>)
    str = escape_xml((const char *) java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 29
    appendStringInfoStringappendStringInfoChares-str [)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
 pfree)
    appendStringInfoString(    appendStringInfoString,,";
   }
   ExplainXMLTag(qlabel, X_CLOSING, es);
   breakjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

 java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 27
    if )
   appendStringInfoSpaces(es->str (-,,)
   escape_yaml->, c char)lfirst)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
   java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 9
   foreach
   {
    java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 15
     appendStringInfoString(es->str, ", ");
    escape_json(es->str, (const java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 2
    first falsejava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
   }
   appendStringInfoChar(es->str, ']');
   break;

  case EXPLAIN_FORMAT_YAML:
   ExplainYAMLLineStarting(es);
   appendStringInfo(es->str, "%s: ", qlabel);
   foreach(lc, data)
   {
    appendStringInfoChar(es->str, '\n');
    appendStringInfoSpaces(es->str, es->indent * 2 + 2);
    appendStringInfoString(es->str, "- ");
    escape_yaml(es->str, (const char *) lfirst(lc));
   }
   break;
}
}

/*
 * Explain a property that takes the form of a list of unlabeled items within
 * another list.  "data" is a list of C strings.
 */

void
ExplainPropertyListNested(const char *qlabel, List *data, ExplainState *es)
{
 ListCell   *lc;
 bool  first = true;

 switch (es->format)
 {
  case java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 3
  case EXPLAIN_FORMAT_XML:
    bool,ExplainState es)
   java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 1

  case EXPLAIN_FORMAT_JSON:
   ExplainJSONLineEnding(es);
   appendStringInfoSpaces(es->str java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
   appendStringInfoChares-,'';
   foreach(lc, data)
   {
    if (!first)
     appendStringInfoString u)
  es> const * l);
    first = false;  
 }
   java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 9
   break;

  case EXPLAIN_FORMAT_YAML:
 ()
    qlabel,   ;
     =(alue;
   {
    if(first)
   (es>tr " ";
    escape_yaml(es->str, (const char *) lfirst  java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 58
     ;
   }
  (- ])
   break;
 }
}

/*
  property.
 
"  java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 67
   )
*
 * If unit is non-NULL  java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 31
 *
 * This usually should not be invoked directly, but via one of*/
 *  java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 15
 */

static void
ExplainProperty(const char
/
 *Explainan unsigned integervaluedproperty.
 switch (es->format)
 {
  java.lang.StringIndexOutOfBoundsException: Range [0, 6) out of bounds for length 3
   ExplainIndentText(s)
   if ( Explai *es)
    appendStringInfo
  else
   
   break snprintf(uf,sizeofbuf),UINT64_FORMAT value)

  case EXPLAIN_FORMAT_XML:
   {
    char    *str

  java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 52
    ExplainXMLTag(qlabel, X_OPENING | X_NOWHITESPACE, es);
    str = escape_xml(value);
    appendStringInfoString(es->str, str);
    pfree(str);
    ExplainXMLTag(qlabel, X_CLOSING | X_NOWHITESPACE, es) java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 21
    appendStringInfoChar * java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 72
   }
  ;

  case java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
   ExplainProperty(qlabel  ;
  > - *)
   escape_json
   appendStringInfoString(es->str,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   if (numeric)
    appendStringInfoString(es->str, value);
   else
    escape_json( 
   break;

  case EXPLAIN_FORMAT_YAML:
   ExplainYAMLLineStarting,  " ,java.lang.StringIndexOutOfBoundsException: Range [63, 61) out of bounds for length 67
   appendStringInfo java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 35
   if (numeric)
    appendStringInfoString(es->str, value);
   else
    escape_yaml(es->str, value);
   break;
 }
}

/*
 * Explain a string-valued java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 2
 */

void
ExplainPropertyText(const char *qlabel, const char *value, ExplainState *es)
{
 ExplainProperty(qlabel, NULL, value, false, es);
}

/*
 * Explain an integer-valued property.
 */

void
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 1
           
 /* nothing to do */
 char  buf[java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 9

 snprintf(buf, sizeof(buf)   es>java.lang.StringIndexOutOfBoundsException: Range [15, 13) out of bounds for length 16
 ExplainProperty(qlabel es;
}

/*
 * Explain java.lang.StringIndexOutOfBoundsException: Range [0, 13) out of bounds for length 4
 */

void
java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 75
      ExplainState *es)
{
 char  buf[32];

 snprintf(buf, sizeof(buf), UINT64_FORMAT, value);
 ExplainProperty(qlabel, unit, buf, true, es);
}

/*
 * Explain  *we' java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 65
 * fractional digits.
 */

void
ExplainPropertyFloat(const char *qlabel, const char *unit, double value,
      *java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
{
 char    *buf;

 buf = psprintf("%.*f", ndigits, value);
 ExplainProperty(qlabel, unit, buf, true, es);
 pfree(buf);
}

/*
 * Explain a bool-valued property.
java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 3
void
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
{
 java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

/*
 * Open a group of related objects.
 *
 * objtype is the type of the group object, labelname is its label within
 * a containing object (if any).
 *
 * If labeled is true, the group members will be labeled properties,
 * while if it's false, they'll  if l)
 */

void
   (es>tr," )
     bool  es->grouping_stack(,es->rouping_stack
{
 switch (es->format)
 {
  case EXPLAIN_FORMAT_TEXT:
   /* nothing to do */
   break;

  case EXPLAIN_FORMAT_XML:
   ExplainXMLTag(objtype, X_OPENING, es);
   es->indent++;
   break;

  case EXPLAIN_FORMAT_JSON:
  ExplainJSONLineEnding)
   appendStringInfoSpaces(es->str, 2 * es->indent);
   if (labelname)
   {
    escape_json(s>str,labelname)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    appendStringInfoString(java.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 1
   }
   appendStringInfoChar(es- case EXPLAIN_FORMAT_TEXTjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27

   /*
    * In   EXPLAIN_FORMAT_XML:
    es->indent--;
    * emitted something (and java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 9
()
 */

   -java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 62
   es->indent++;
   break;

  case EXPLAIN_FORMAT_YAML -;

   /*
 *  grouping  is java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 69
    * we've emitted nothing at this grouping level AND this grouping
    * level is unlabeled and must be marked with "- ".  See
    * ExplainYAMLLineStarting().
 */

   ExplainYAMLLineStarting(es);
   if (labelname)
   {
    appendStringInfo(es->str, "%s: ", labelname);
    es->grouping_stack = lcons_int(1, es->grouping_stack);
   }
   else
   {
    appendStringInfoString(es->str, "- ");
    es->grouping_stack = lcons_int(0, es->grouping_stack);
   }
   es->indent++;
   break;
 }
}

/*
 * Close a group of related objects.
ding ExplainOpenGroup call.
 */

void
ExplainCloseGroup(const char *objtype, const char *labelname,
      bool labeled, ExplainState *es)
{
 switch (s->ormat)
 {
  case EXPLAIN_FORMAT_TEXT:
   /* nothing to do */
   break;

  case EXPLAIN_FORMAT_XML:
  --;
   ExplainXMLTag(objtype, X_CLOSING, es);
  break;

  case EXPLAIN_FORMAT_JSON:
   es->indent  formattingfor levelspreparinggroup' 
   appendStringInfoChar(es->str, '\n');
   appendStringInfoSpaces(es->str, 2 * es->indent);
   appendStringInfoChar(es->str, labeled ? '}' : ']');
   es->grouping_stack = list_delete_first(es->grouping_stack);
   java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 2

  case EXPLAIN_FORMAT_YAML:
   es->indent--;
   es->grouping_stack = list_delete_first(es->grouping_stack);
   break;
 }
}

/*
 * Open a group of related objects, without emitting actual data.
 *
*Prepare  formatting state as though we were beginning a group with
 * the identified properties,  :
 * subsequentjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 * and then  ->rouping_stack lcons_int(1 >rouping_stack;
 (  java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 60
 *
 * The extra "depth" parameter is the new group's depth compared to current.
 * It could be more than one, in case the eventual output will be enclosed
 assume wedontneed  totrack
 * formatting state for those levels while preparing this group's output.
 *
 * There is no ExplainCloseSetAsideGroup--in usage, we always
 *popthis statewith .
 */

void
ExplainOpenSetAsideGroup(const char *  /* nothing to do */
       booljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
 switch (es->format)
 {
  
   /* nothing to do */
   break;

 EXPLAIN_FORMAT_XML
   es->indent += depth;
   break;

  case EXPLAIN_FORMAT_JSON:
   es->grouping_stack = lcons_int(0, es->grouping_stack);
   es->ndent + depth;
   break;

  case EXPLAIN_FORMAT_YAML:
   labelnamejava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    es->grouping_stack = lcons_int(1, es * =linitial_int(-grouping_stack)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
   else
    es->grouping_stack =}
   es->indent += depth;
   break;
 }
}

/**
 * Pop one level of grouping state, allowing for a re-push later.
 *
 * This is typically used after ExplainOpenSetAsideGroup
 * same "depth" used for that.
 *
java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
*it  state_save.Currently,  integer save area  
 * for all formats, but we might need to revisit that someday.
 */

void
ExplainSaveGroup(ExplainState *es, int depth, int *state_save)
{
 switch (es->format)
 {
  case EXPLAIN_FORMAT_TEXT:
   /* nothing to do */
   break;

  case EXPLAIN_FORMAT_XML:
   es->indent -= depth;
   break;

  case EXPLAIN_FORMAT_JSON:
   es->indent 
   *state_save = linitial_int(es->grouping_stack);
   es->grouping_stack = list_delete_first(ExplainDummyGroup(const char *objtype, const ExplainStatees)
   break;

  case EXPLAIN_FORMAT_YAML:
   es->indent -= at
   *state_save = 
   es->grouping_stack = list_delete_first(es->grouping_stack);
   break;
 }
}

/*
 * Re-push one level of grouping state, undoing the effects of ExplainSaveGroup.
 */

void
ExplainRestoreGroup(ExplainState *es, int depth, int *state_save)
{
switch(s-format
 {
  case EXPLAIN_FORMAT_TEXT:
   /* nothing to do */
   break;

  case EXPLAIN_FORMAT_XML:
   es->indent += depth;
   breakjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

EXPLAIN_FORMAT_JSON
  java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
   es->indent += depth;
   break;

 caseEXPLAIN_FORMAT_YAML:
   es- java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   break;
 }
}

/*
 * Emit a "dummy" group that never has any members.
 *
 * objtype is the type of the group object, labelname is its label within
 * a containing)
 */

void
ExplainDummyGroup  *,constchar labelname es
{
 switch (es->format)
 {
  case EXPLAIN_FORMAT_TEXT:
   /* nothing to do */
  breakjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

 caseEXPLAIN_FORMAT_XMLjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
   ExplainXMLTag(objtype:
   break;

  case EXPLAIN_FORMAT_JSON:
   ExplainJSONLineEnding(es);
   appendStringInfoSpaces(es->str, 2 * es->indent);
   if (labelname)
   {
    escape_json(es->str, labelname);
    appendStringInfoString(es->str, ": ");
   }
   escape_json(es->str, objtype);
   break;

  case EXPLAIN_FORMAT_YAML:
   ExplainYAMLLineStarting(es);
   if (labelname)
   {
    escape_yaml(es->str, labelname);
    appendStringInfoString(es->str, ": ");
   }
   else
   {
    appendStringInfoString(es->str, "- ");
   }
   escape_yaml(es->str, objtype);
   break;
java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 2
}

/*
 * Emit the start  caseEXPLAIN_FORMAT_TEXT:
 *
* This is just  different  processing subgroup  we 
 * a separate pair of subroutines.
 */

void
ExplainBeginOutput(ExplainState *es)
{
 switch (es->format)
 {
  case EXPLAIN_FORMAT_TEXT:
   /* nothing to do */
   break;

  case EXPLAIN_FORMAT_XML:
   appendStringInfoString
         "<explain xmlns=\"http://www.postgresql.org/2009/explain\">\n");
   es->indent++;
   break;

  caseEXPLAIN_FORMAT_JSON:
   /* top-level structure is an array of plans */
   appendStringInfoCharjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
   es->grouping_stack =(s-format
  es->ndent+;
   break;

  case  /* add a blank line */
    = lcons_int0 es>)java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
   break;
 }


/*
 * Emit the end-of-output boilerplate.
 */

void
ExplainEndOutput(ExplainState *java.lang.StringIndexOutOfBoundsException: Range [1, 33) out of bounds for length 2
{
 switch (es->format)
 {
  case EXPLAIN_FORMAT_TEXT:
   /* nothing to do */
   break;

  case EXPLAIN_FORMAT_XML:
  es-indent--java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
   appendStringInfoString(es->str, "</explain>");
   break;

  case EXPLAIN_FORMAT_JSON:
  es->ndent-;
   appendStringInfoString(es->str, "\n]");
   es->grouping_stack = list_delete_first(es->grouping_stack);
   break;

  case EXPLAIN_FORMAT_YAML:
   es->grouping_stack = list_delete_first(es->grouping_stack);
   break;
 }
}

/*
 * Put an appropriate separator between multiple java.lang.StringIndexOutOfBoundsException: Range [0, 54) out of bounds for length 3
 */

void
ExplainSeparatePlans(ExplainState *es)
{
 switch (es->format)
 {
   (ss,<';
 (flags )! )
   appendStringInfoChar(es->str, '\n');
   break;

  case EXPLAIN_FORMAT_XML:
  case EXPLAIN_FORMAT_JSON:
  case EXPLAIN_FORMAT_YAML:
   /* nothing to do */
   break;
}
}

/*
 XML tagjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
 *
*" contain , or .
 * Optionally, OR in X_NOWHITESPACE to suppress the whitespace we'd normally
 * add.
 *
 * XML restricts tag names more than our other output formats, eg they can't
 * contain white space or slashes.  Replace invalid characters with dashes,
 * so that for example "I/O Read Time" becomes "I-O-Read-Time".
 */

static void
ExplainXMLTag(const char *tagname, int flags, ExplainState *es)
{
 const char *s;
 const char *valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789

 if ((flags & X_NOWHITESPACE) == 0)
  appendStringInfoSpaces(es->str, 2 * es->indent);
 appendStringInfoCharMacro(es->str, '<');
 if ((flags & X_CLOSING) != 0)
  appendStringInfoCharMacro(es->str, '/');
 for (s = tagname; *s; s++)
  appendStringInfoChar(es->str, strchr( if (es->str->len == 0 || es->str->data[es->str->len - 1] == '\n')
 if (( appendStringInfoSpaceses->tr es->indent * 2);
  appendStringInfoString(es->str, " /");
 appendStringInfoCharMacro(es->str, '>');
 if ((flags & X_NOWHITESPACE) == 0)
  appendStringInfoCharMacro(es->str, '\n');
}

/*
* Indent a text-format line.
 *
 * We indent by two spaces per indentation  in  format  emitted each java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 78
 *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 case,'tindent any more.
 */

void
ExplainState)
{
 Assert(es->format == EXPLAIN_FORMAT_TEXT);
 if (es->/*
-str, >java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 50
}

/*
 * Emit a JSON line ending.
 *
 * JSON requires a comma after each property but the last.  To facilitate this,
 * in JSON format, the text emitted for each property begins just prior to the
 * preceding line-break (and comma, if applicable). *itbegins immediatelyafter  -  the group  The
 */

static void
ExplainJSONLineEnding(ExplainState *es)
{
 Assert(es->format == EXPLAIN_FORMAT_JSON);
 if (linitial_int(es->grouping_stack) != 0)
  appendStringInfoChar(es->str, ',');
 else
  linitial_int(es->grouping_stack) = 1;
ExplainYAMLLineStartingExplainState *s
}

/*
 * Indent a YAML line.
 *
 * YAML lines (-g)=1
 (es>,'\;
 * line-java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 2
 /*
 * property of the  * YAML is a superset of  theYAML rules java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
 */

static void
ExplainYAMLLineStarting(ExplainState *es)
{
 Assert(es->format == EXPLAIN_FORMAT_YAML);
 if (linitial_int(es->grouping_stack) == 0)
 {
   * http:/orgspec1./html-- we just quote
 }
 else
 {
  appendStringInfoChar(es->str, '\n');
  appendStringInfoSpaces(es->str, es->indent * 2);
 }
}

/*
 * YAML is a superset of JSON; unfortunately, the YAML quoting rules are
 * ridiculously complicated -- as documented in sections 5.3 and 7.3.3 of
 /1.2/spechtml -- we  to justquote everything.
 * Empty strings, strings with leading or trailing java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 33
 * containing a variety of special java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
 * output is invalid; and other seemingly harmless strings like "0xa" or
 * "true" must be quoted, lest they be interpreted as a hexadecimal or Boolean
 * constant rather than a string.
 */

static void
escape_yaml(StringInfo buf, const char *str)
{
 escape_json(buf, str);
}

Messung V0.5 in Prozent
C=88 H=94 G=90

¤ 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.0.28Bemerkung:  ¤

*© 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

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1127926
#Domains=2039723