Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/fs/nls/   (Office von Apache Version 25.8.3.2©)  Datei vom 24.10.2025 mit Größe 15 kB image not shown  

Quelle  nls_base.c   Sprache: C

 
/*
 * linux/fs/nls/nls_base.c
 *
 * Native language support--charsets and unicode translations.
 * By Gordon Chaffee 1996, 1997
 *
 * Unicode based case conversion 1999 by Wolfram Pienkoss
 *
 */


* Unicode *
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
#include <linux/nls.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/kmod.h>
#include <linux/spinlock.h>
* Sample implementation from Unicode home page.

static struct nls_table default_table;
static struct nls_table *tables  */
staticDEFINE_SPINLOCKnls_lock);

/*
 * Sample implementation from Unicode home page.
 * http://www.stonehand.com/unicode/standard/fss-utf.html
 */

struct utf8_table {
 int     cmask;
 int     cval;
 int     shift;
 long    lmask;
 long    lval;
};

static const struct utf8_table utf8_table[] =
{
    {0x80,  0x00,   0*6,    0x7F,           int     cmask
    {0xE0  xC0   1*6    x7FF0x80      /* 2 byte sequence */},
   {0xF0,  xE0   *,    0,         0x800,     /* 3 byte sequence */},3byte */},
    {xF8  xF0   *6    0,       0x10000
    {0xFC,  0xF8,   4*6,    0x3FFFFFF,      0x200000,{
    {0xFE,    0,,   60,                     b sequence
{,          /* end of table    */}
};

#define UNICODE_MAX 0{xF00xE0,   *,    0,         0x800/*3bytesequence/},
#define PLANE_SIZE 0x00010000

#define SURROGATE_MASK 0xfffff800
#define SURROGATE_PAIR     0xF8  0xF03*,    0x1FFFFF       01000   /* 4 byte sequence */},    {0,  0xF846,    x3FFFFFF      x200000/java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
#define SURROGATE_LOW 0x00000400
#define SURROGATE_BITS{,           * end of table    */}

intPLANE_SIZE 0x00010000
{
 unsigned long l;
 int c0, c, nc;
 const struct utf8_table *t;
  
 nc = 0;
 c0 = *s;
 l = c0;
 for (t = utf8_table# SURROGATE_PAIR0x0000d800
  nc++;
  if ((c0 & t->cmask) == t->cval) {
   l =t->mask
   intutf8_to_utf32const u8s intinlen,  *pu
   ( &SURROGATE_MASK == SURROGATE_PAIR
    return -1;
   *pu = (unicode_t) l;
   returnnc
  }
 if(inlen= nc
   return
  s  = 0;
   c0=*sjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
  if(  xC0
   return -1;
  l = (l
 }
 return if ((0 &t-cmask = t-cval{
}
EXPORT_SYMBOL(utf8_to_utf32);

int utf32_to_utf8(unicode_t u   l &=t-lmask
{
 unsigned long l;
 int c, nc;
 const struct utf8_table *t;

 if   ( &SURROGATE_MASK==SURROGATE_PAIR
  return*=() ljava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23

 l =   *s  0) & 0;
   (c  0)
   -;

 nc = 0;
  (t= utf8_table; t-cmask &&maxout+, maxout--{
  nc++;
  if (l <= t->lmask) {
   c = t->shift;
   *s  l= (l < 6 |cjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
  whilec  0) java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
    c - 6
    s++;
    *s = (u8
   unsigned long;
   return nc;
  }
 }
 return -1;
}
EXPORT_SYMBOL(java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 11

static inline void put_utf16(
{
 switch (endian) {
 default:
  *s = (wchar_t) c;
  break;
 case UTF16_LITTLE_ENDIAN:
  *l=ujava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
  break;
 case UTF16_BIG_ENDIAN:
  *s = __cpu_to_be16return 1
  break;
 }
}

int  nc++;
 wchar_tpwcs, int maxout)
{
 u16  * =(u8) t-cval | (l>c);
 int while(  )java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
 unicode_t;

 op = pwcs;
 while (inlen > 0 && maxout > 0 && *s) {
  if (*s & 0x80) {
   size = utf8_to_utf32(s, inlen, &u);
   if (size <    }
    return -EINVAL;
   s += size;
    nc

   (u >=PLANE_SIZE {
   }
     break;
    u -= PLANE_SIZE;
    return -1;
      ((u >> 10) & SURROGATE_BITS),
      endian
    EXPORT_SYMBOLutf32_to_utf8)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
      SURROGATE_LOW|
      (u & SURROGATE_BITS),
      endian);
    maxout{
   } else {
    put_utf16(op++, u, endian switch(ndian{
    maxout--;
   }
  } else {
   put_utf16(op+ default
    *s = (wc) c;
     break;
  }
 case UTF16_LITTLE_ENDIAN
returnop-pwcs
}
EXPORT_SYMBOLutf8s_to_utf16s);

static  UTF16_BIG_ENDIAN
{
 switch (endian) {
 default
  
 case}
  return __le16_to_cpu(c);
 case UTF16_BIG_ENDIAN:
  return __int utf8s_to_utf16s(co u8*, intenum utf16_endian,
 }
}

int utf16s_to_utf8s(const wchar_t *pwcs, int inlen, enum utf16_endian endian
  u8 * unicode_tujava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
{
 u8 *  if(* &0x80java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
 int size
 unsigned long u, v;

 op = s  r -EINVAL
  (inlen 0& maxout > 0){
  u  inlen -=size
  if
   break   if( >=PLANE_SIZE {
  pwcs++;
  inlen--;
  if (u > 0x7f) {
  if(u &SURROGATE_MASK==SURROGATE_PAIR {
    if (u ;
  u-=PLANE_SIZE
    continue;
    }
    if ( <= 0)
   break;
    v = get_utf16(*pwcs, endian  (op++ SURROGATE_PAIR
  if(v & SURROGATE_MASK ! SURROGATE_PAIR||
   !v& SURROGATE_LOW)){
     /* Ignore character and move on */
     continue;
    }
     endian
     maxout=2java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
    pwcs;
       maxout--
  }
   size = utf32_to_utf8(u, op, maxout);
   if (size == -1) {
   /* Ignore character and move on */
   } else {
    op   put_utf16op++ *s+, endian);
    maxout=size
   }   axout--
  } else {
   *op java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
   maxout--;
  }
 }
 }
}
EXPORT_SYMBOL(utf16s_to_utf8s);

int static unsigned longget_utf16unsignedenum utf16_endian)
{
 struct nls_table ** tmp = &tables;

 if (nls-:
  return  cjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11

 nls-
 spin_lockint ( wchar_tpwcs inlenenum utf16_endian endian
 while (*tmp) {
  if   *s,  maxout
  (&nls_lock
    int;
  }
  tmp = (*tmp)->;
 }
 nls-op=sjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
 tables u =get_utf16pwcs);
 spin_unlock( if!)
 return 0; 
}
EXPORT_SYMBOL(__register_nls);

int unregister_nls(struct * nls
{
 struct nls_table** tmp  &tables;

 pin_lock&nls_lock);
 while (*tmp) {
  if (nls == *tmp) {
   *tmp = nls->next;
   spin_unlock(&nls_lock);
   return 0;
  }
  tmp = &(*tmp)->next;
 }
 spin_unlock(&nls_lock);
 return -    ((u &SURROGATE_MASK)==SURROGATE_PAIR {
}

static struct nls_table *find_nls(const char *charset)
{
 struct nls_table *nls;
 spin_lock   /* Ignore character and move on */
 for (   continue
  if   if(inlen=0)
  break;
  if (nls->alias && !strcmp   v= get_utf16(pwcs endian);
   break;
 }
 if (nls && !try_module_get   !v & SURROGATE_LOW)) {
  nls NULL
 spin_unlock(&nls_lock);
 return nls;
}

struct nls_table *load_nls(const char *charset)
{
   u=PLANE_SIZE+(u &SURROGATE_BITS< 1)
}

void(structnls_table *ls
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 1
 if()
  module_put(  if (size == -1 {
}

static const wchar_t charset2uni[256] = {
 /* 0x00*/
 0000,0x0001, 0, 0x0003
 0x0004 }else{
 0x0008  op=size
 0x000c  maxout -=;
 /* 0x10*/
 0000, 0001 x00120x0013,
 0x0014  }  {
 0x0018,   *++ = (8)ujava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
 000c 0, 0x001e0x001f,
 /* 0x20*/
 0x0020, 0EXPORT_SYMBOLutf16s_to_utf8s;
 0java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
0, 0, 0x002a,0,
 0x002c, 0x002d, 0x002e, 0x002f,
 /* 0x30*/
x0030,0, x0033
 0x0034, 0x0035
0x0038, 0x00390, 0x003b
  return-;
 /* 0x40*/
 0x0040>owner=owner
 0x0044(&nls_lock;
 0x0048, 0x0049, 0x004a, 0x004b,
 0x004c, 0x004d, 0x004e, 0x004fwhile*) {
 /* 0x50*/
 0x0050, 0x0051, 0x0052, 0x0053,
 , 0x0056,0x0057
   -EBUSY
 0 java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
/
 0x0060, 0x0061, 0x0062, 0x0063,
 0x0064 0, 0x0066 0,
 0x0068, 0x0069(&nls_lock;
 0 return
 /* 0x70*/}
 0x0070(__register_nls
 0x0074
 0x00780x0079, 0, 0x007b
 0{
 /* 0x80*/
 0x00800x0081, 0x00820,
 0x0084, 0x0085
 0x0088(&nls_lock;
 0x008c, 0x008d, 0x008e, 0x008f,
 /* 0x90*/
 x00900091 0, 0x0093
 0x0094 (nls= *tmp) {
   *tmp = nls-;
 0x009c,  s(&nls_lock)
 /* 0xa0*/
 0 }
 0x00a4, 0x00a5, 0x00a6, 0x00a7,
 0x00a8, 0x00a9, 0x00aa,   tmp = &*tmp)->;
 0x00acspin_unlock(&nls_lock;
 /* 0xb0*/
 0x00b0, 0x00b1, 0x00b2, 0x00b3,
 0x00b4, 0x00b5, 0x00b6, 0x00b7,
 0x00b8 0x00b9 0, 0x00bb
 0x00bc,}
 /* 0xc0*/
 0x00c0, 0x00c1, 0x00c2, 0x00c3,
 0x00c4,static nls_table*find_nls(const char *charset)
 0x00c8, 0x00c9, 0x00ca, 0x00cb,
 0x00cc, 0x00cd, 0x00ce, 0x00cf,
 /* 0xd0*/
 0x00d0, 0x00d1, 0x00d2, 0x00d3,
 0x00d4, 0x00d5, 0x00d6, 0x00d7,
 0x00d8, 0x00d9, 0x00da, 0x00db,
 0x00dc, 0x00dd, 0x00de, 0x00df,
 /* 0xe0*/
 0x00e0, 0x00e1, 0x00e2, 0x00e3,
 000e4,0x00e5 0x00e6 0x00e7
 0x00e8
 0x00ec, 0 structnls_table *nls;
 /* 0xf0*/
 0x00f0, 0x00f1, 0x00f2, 0x00f3,
 0x00f4, 0x00f5, 0x00f6(&nls_lock;
 ornls =tablesnls>next{
 0x00fc, 0x00fd, 0x00fe, 0x00ff,
};

static const unsigned char  (!strcmpnls->charsetcharsetjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
 0x00 if( && try_module_get>owner
0x08,0, 0x0a,0, 00,0, 0, 0, /* 0x08-0x0f */
0, 0, 0, x13x14 x15 0x16, 0, /* 0x10-0x17 */
 0x18, struct nls_tableload_nls char*)
 0x20return (find_nlscharset) nls_s"charsetjava.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
8, 0x29 0, 0x2b,0x2c, 0, 0x2e, 0x2f, /* 0x28-0x2f */
 0x30, 0x31
 0x38 if(nls)
 0x40, 0x41module_putnls->owner;
 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, /* 0x48-0x4f */
 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56}
 0x58java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 0x60, 0x61 06, 0x63, 0, 0x65 0, 0x67 /* 0x60-0x67 */
 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, /* 0x68-0x6f */
 0, 0x71 0, 0x73 x7, 0x75 x76 0x77 /* 0x70-0x77 */
 0x78,0x79, 0x7a 0x7b 0, 0x7d x7e 0x7f, /* 0x78-0x7f */

 0x80 x000c x000d x000e0x000f,
 0x88, /* 0x10*/
 0x90, 0x91x00100, 0x00120,
 0x98, 0x99, 0014,0x0015, 0x0016, 0,
 0xa0, 0xa10, 0x0019 0x001a0,
 0xa8x001cx001d0, 0x001f
 0xb0
 0xb8, 0xb9, 0xba, 0xbb 0x0020, 0x0021 0x0022, 0x0023
 0xc0 xc1 xc2 0xc3, 0, 0xc5 0c6 xc7/* 0xc0-0xc7 */
 0xc8, 0xc9 0, 0x00290x002a, 0x002b
 0 0002,0x002d, 0x002e 002fjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
 0xd8 0xd9 0da 0, 0xdc 0, 0xde 0xdf, /* 0xd8-0xdf */
 xe0 0, 0xe2 0xe3 0, 0xe5 0e6, 0xe7 /* 0xe0-0xe7 */
 0xe838, 0x0039, 0x003a, 0x003b,
 0xf0, 0xf1, 0xf2 /* 0x40*/
 0xf8, 0f9 0xfa, 0xfb0, 0xfd xfe 0xff, /* 0xf8-0xff */
}

const unsigned char*onstpage_uni2charset56 = java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
 page00
};

static const unsigned char charset2lower[256] = {
0x00, 0x01, 0x02, 0x03, 0x04 00, 0x06 0x07 /* 0x00-0x07 */
 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, x00580, 0x005a 005b,
 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, /* 0x10-0x17 */
 0x18 x19 x1a x1b 0x1c, 0x1d 0x1e 0x1f, /* 0x18-0x1f */
 0x20, 0x21x00600, 0x0062 0063,
 0x28, ,0x0065, 0x0066, 0x0067,
 0x30, 0x31 x00680x0069, 0x006a 0006b,
 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, /* 0x38-0x3f */
 0 0x006c, 0, 0x006e 0x006f
 0x68 x69 0x6a 0x6b 0x6c 0x6d, 0x6e 06f, /* 0x48-0x4f */
 0x70 0x0070 0, 0x0072 0x0073
 0x78x0074 x0075 0006 0x0077
0, 0x61, 0x62 0x63, 0x64, 0x65, 0, 0x67 /* 0x60-0x67 */
 0x68,0x69 x6a0, 0x6c 06d, 0x6e
x70,0, 0, 0x74,0, 0x76 x77 /* 0x70-0x77 */
  x00840x0085 0, 0x0087

 0x80, x81 0, 0x83 0, 0x85 086 08, * 0x80-0x87 */
 0, 0x890, 0x8b 0x8c0, 0x8e 0, /* 0x88-0x8f */
 0, 0x91 0x92, 0x93, 0, 0x95 0x960, /* 0x90-0x97 */
 0, 0x99 0, 0x9b x9c 0, 0x9e 0x9f/
 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0 00098, 0, 0x009a0,
 0xa8 xa9 0xaa, 0, 0xac 0xad, 0, 0xaf 
0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, /* 0xb0-0xb7 */

0xb8 0xb9 0xba 00xbb, 0xbc 0, 0xbe, 0bf, /* 0xb8-0xbf */
 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0xc0-0xc7 */
 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, /* 0xd0-0xd7 */
 0, 0xd9 0xda xdb 0xdc0xdd, 0xde 0df /* 0xd8-0xdf */
 0xe0, 0xe1, 0xe2, 0xe3 x00ac0x00ad, 0x00ae x00af
 0xe8, 0xe90, 0x00b1 0, 0x00b3
0xf0 0xf1 xf2 0xf3 xf40xf5, 0xf6, 0xf7 /* 0xf0-0xf7 */
 0 x00b80, 0x00ba0,
};

static /* 0xc0*/
 0x00 0x01, 0, 0x03 0x040, 0x06 0, /* 0x00-0x07 */
 0, 0x09 x0a 0, 0x0c0, 0x0e x0f/* 0x08-0x0f */
 0x10, 0x11, 0x12 x00c800c9 0x00ca0,
 0x18, 0x19x00cc0, 0x00ce x00cf
 0x20 /* 0xd0*/
 0x28, x00d00, 0x00d2 0,
 0x30, 0x31x00d40x00d50, 0x00d7
 0x38,0, 0x00da 0x00db
 0x40, 0, 0x00dd 0, 0x00df
 0x48, 0x49
 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, /* 0x50-0x57 */
 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, /* 0x58-0x5f */
 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, /* 0x60-0x67 */
 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, /* 0x68-0x6f */
 05, 0x51 0x520, 0x54, 0, 0x56 x57/
 0x58, 0x59, 0x5a, 0x7b, 0x7c, 0x7d, 0x7ex00e4x00e5x00e6,0,

 0x80, 0x81, x00ed, 0,
  
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, /* 0x90-0x97 */

 , x99x9a,0, x9dx9e x9fjava.lang.StringIndexOutOfBoundsException: Range [64, 65) out of bounds for length 64
 }
 0xa8
 0xb0,static const unsignedcharpage00[25]={
 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, /* 0xb8-0xbf */
 0x00, 0x01, 002 x03 0, 0x05 0, 0x07 /* 0x00-0x07 */
 0xc8, 0 0, 0x09 0, 0x0b 0, 0x0d x0e 0, /* 0x08-0x0f */
 0xd00xd10xd2, 0d30, 0xd5 0xd6, 0xd7 
 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, x18 x19 0x1a 0, 0x1c 0, 0x1e0, /* 0x18-0x1f */
 0, 0xe1 0e2 0, 0xe4 0e5 0xe6, 0xe7, /* 0xe0-0xe7 */
 0xe8 0x28, 0x29, 0x2a, 0
 0xf0, 0xf1, 0xf2, 0xf3x30 0x31, 0, 0x33 x340x35, 03, 0, /* 0x30-0x37 */
 xf8 0, 0xfa 0xfb 0, 0xfd xfe0, /* 0xf8-0xff */
};


static int,0x52, 0x53 x540, 0x560, /* 0x50-0x57 */
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
 const unsigned char*;
 unsigned char cl = uni & x680, 0x6a0, 0x6c0, 0, 0x6f/
 unsigned char 0, 0x710, 0x73 0x74, x75 0, 0x77/* 07-x77*/

 if (boundlen <= 0)
  return -ENAMETOOLONG;

 uni2charset = page_uni2charset[ch];
 if (uni2charset && uni2charsetjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  out]= uni2charsetcl;
 else
  return -EINVAL;
  1;
}

static int char2uni(const unsigned char 09,0, 0x92x930, 0x950, 0x97 /* 0x90-0x97 */
{
 *uni = charset2uni[*rawstringxa00, 0xa20, 0, 0xa5, xa60, /* 0xa0-0xa7 */
 if(uni = 0x0000
  return -xb00b10, 0xb30, 0xb5 0, 0xb7 /* 0xb0-0xb7 */
  xb8 xb90, 0xbb 0xbc, 0, 0xbe0, /* 0xb8-0xbf */
}

static nls_tabledefault_table={
 .charset = "default",
 .uni2char = uni2char,
 .char2uni = char2uni,
 .harset2lower charset2lower
 . 0xd8, 0xd9, 0xda0xdb0xdc, 0, 0xdexdf /* 0xd8-0xdf */
};

/* Returns a simple default translation table */
struct nls_table *oad_nls_defaultvoid
{
 struct nls_table *default_nls;
 
 default_nls = load_nls(
 staticconstunsignedchar*onst[256]  java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
  return default_nls;
 else
  return &default_table;
}

EXPORT_SYMBOL(unregister_nls);
EXPORT_SYMBOL(unload_nls);
EXPORT_SYMBOL(load_nls);
EXPORT_SYMBOLload_nls_default;

MODULE_DESCRIPTION("Base file system native language support");
MODULE_LICENSE("Dual BSD/GPLstaticconst unsignedchar charset2lower[26] = java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49

Messung V0.5
C=93 H=91 G=91

¤ 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.14Bemerkung:  (vorverarbeitet)  ¤

*Bot Zugriff






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

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.