antlr3string.c File Reference

Implementation of the ANTLR3 string and string factory classes. More...

#include <antlr3string.h>
Include dependency graph for antlr3string.c:

Functions

static pANTLR3_UINT8 addc16 (pANTLR3_STRING string, ANTLR3_UINT32 c)
static pANTLR3_UINT8 addc8 (pANTLR3_STRING string, ANTLR3_UINT32 c)
static pANTLR3_UINT8 addi16 (pANTLR3_STRING string, ANTLR3_INT32 i)
static pANTLR3_UINT8 addi8 (pANTLR3_STRING string, ANTLR3_INT32 i)
ANTLR3_API pANTLR3_STRING_FACTORY antlr3StringFactoryNew ()
ANTLR3_API pANTLR3_STRING_FACTORY antlr3UCS2StringFactoryNew ()
 Create a string factory that is UCS2 (16 bit) encoding based.
static pANTLR3_UINT8 append16_16 (pANTLR3_STRING string, const char *newbit)
static pANTLR3_UINT8 append16_8 (pANTLR3_STRING string, const char *newbit)
static pANTLR3_UINT8 append8 (pANTLR3_STRING string, const char *newbit)
static pANTLR3_UINT8 appendS (pANTLR3_STRING string, pANTLR3_STRING newbit)
static ANTLR3_UCHAR charAt16 (pANTLR3_STRING string, ANTLR3_UINT32 offset)
static ANTLR3_UCHAR charAt8 (pANTLR3_STRING string, ANTLR3_UINT32 offset)
static void closeFactory (pANTLR3_STRING_FACTORY factory)
 Fascist Capitalist Pig function created to oppress the workers comrade.
static ANTLR3_UINT32 compare16_16 (pANTLR3_STRING string, const char *compStr)
static ANTLR3_UINT32 compare16_8 (pANTLR3_STRING string, const char *compStr)
static ANTLR3_UINT32 compare8 (pANTLR3_STRING string, const char *compStr)
static ANTLR3_UINT32 compareS (pANTLR3_STRING string, pANTLR3_STRING compStr)
static void destroy (pANTLR3_STRING_FACTORY factory, pANTLR3_STRING string)
static pANTLR3_UINT8 insert16_16 (pANTLR3_STRING string, ANTLR3_UINT32 point, const char *newbit)
static pANTLR3_UINT8 insert16_8 (pANTLR3_STRING string, ANTLR3_UINT32 point, const char *newbit)
static pANTLR3_UINT8 insert8 (pANTLR3_STRING string, ANTLR3_UINT32 point, const char *newbit)
static pANTLR3_UINT8 inserti16 (pANTLR3_STRING string, ANTLR3_UINT32 point, ANTLR3_INT32 i)
static pANTLR3_UINT8 inserti8 (pANTLR3_STRING string, ANTLR3_UINT32 point, ANTLR3_INT32 i)
static pANTLR3_UINT8 insertS (pANTLR3_STRING string, ANTLR3_UINT32 point, pANTLR3_STRING newbit)
static pANTLR3_STRING newPtr16_16 (pANTLR3_STRING_FACTORY factory, pANTLR3_UINT8 ptr, ANTLR3_UINT32 size)
 Creates a new 16 bit string initialized with the 16 bit characters at the supplied ptr, of pre-determined size.
static pANTLR3_STRING newPtr16_8 (pANTLR3_STRING_FACTORY factory, pANTLR3_UINT8 ptr, ANTLR3_UINT32 size)
 Creates a new 16 bit string initialized with the 8 bit characters at the supplied 8 bit character ptr, of pre-determined size.
static pANTLR3_STRING newPtr8 (pANTLR3_STRING_FACTORY factory, pANTLR3_UINT8 ptr, ANTLR3_UINT32 size)
 Creates a new 8 bit string initialized with the 8 bit characters at the supplied ptr, of pre-determined size.
static pANTLR3_STRING newRaw16 (pANTLR3_STRING_FACTORY factory)
static pANTLR3_STRING newRaw8 (pANTLR3_STRING_FACTORY factory)
static pANTLR3_STRING newSize16 (pANTLR3_STRING_FACTORY factory, ANTLR3_UINT32 size)
 Creates a new string with enough capacity for size 16 bit characters plus a terminator.
static pANTLR3_STRING newSize8 (pANTLR3_STRING_FACTORY factory, ANTLR3_UINT32 size)
 Creates a new string with enough capacity for size 8 bit characters plus a terminator.
static pANTLR3_STRING newStr16_16 (pANTLR3_STRING_FACTORY factory, pANTLR3_UINT8 ptr)
 Create a new 16 bit string from the supplied, null terminated, 16 bit string pointer.
static pANTLR3_STRING newStr16_8 (pANTLR3_STRING_FACTORY factory, pANTLR3_UINT8 ptr)
 Create a new 16 bit string from the supplied, null terminated, 8 bit string pointer.
static pANTLR3_STRING newStr8 (pANTLR3_STRING_FACTORY factory, pANTLR3_UINT8 ptr)
 Create a new 8 bit string from the supplied, null terminated, 8 bit string pointer.
static pANTLR3_STRING printable16 (pANTLR3_STRING_FACTORY factory, pANTLR3_STRING string)
static pANTLR3_STRING printable8 (pANTLR3_STRING_FACTORY factory, pANTLR3_STRING string)
static pANTLR3_UINT8 set16_16 (pANTLR3_STRING string, const char *chars)
static pANTLR3_UINT8 set16_8 (pANTLR3_STRING string, const char *chars)
static pANTLR3_UINT8 set8 (pANTLR3_STRING string, const char *chars)
static pANTLR3_UINT8 setS (pANTLR3_STRING string, pANTLR3_STRING chars)
static void ANTLR3_CDECL stringFree (pANTLR3_STRING string)
static void stringInit16 (pANTLR3_STRING string)
static void stringInit8 (pANTLR3_STRING string)
static void stringInitUTF8 (pANTLR3_STRING string)
static pANTLR3_STRING subString16 (pANTLR3_STRING string, ANTLR3_UINT32 startIndex, ANTLR3_UINT32 endIndex)
static pANTLR3_STRING subString8 (pANTLR3_STRING string, ANTLR3_UINT32 startIndex, ANTLR3_UINT32 endIndex)
static pANTLR3_STRING to8_16 (pANTLR3_STRING string)
static pANTLR3_STRING to8_8 (pANTLR3_STRING string)
static ANTLR3_INT32 toInt32_16 (struct ANTLR3_STRING_struct *string)
static ANTLR3_INT32 toInt32_16 (pANTLR3_STRING string)
static ANTLR3_INT32 toInt32_8 (struct ANTLR3_STRING_struct *string)
static ANTLR3_INT32 toInt32_8 (pANTLR3_STRING string)
static pANTLR3_STRING toUTF8_16 (pANTLR3_STRING string)
static pANTLR3_STRING toUTF8_8 (pANTLR3_STRING string)

Detailed Description

Implementation of the ANTLR3 string and string factory classes.


Function Documentation

static pANTLR3_UINT8 addc16 ( pANTLR3_STRING  string,
ANTLR3_UINT32  c 
) [static]

References ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInit16().

Here is the caller graph for this function:

static pANTLR3_UINT8 addc8 ( pANTLR3_STRING  string,
ANTLR3_UINT32  c 
) [static]

References ANTLR3_REALLOC, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInit8().

Here is the caller graph for this function:

static pANTLR3_UINT8 addi16 ( pANTLR3_STRING  string,
ANTLR3_INT32  i 
) [static]

Referenced by stringInit16().

Here is the caller graph for this function:

static pANTLR3_UINT8 addi8 ( pANTLR3_STRING  string,
ANTLR3_INT32  i 
) [static]

Referenced by stringInit8().

Here is the caller graph for this function:

ANTLR3_API pANTLR3_STRING_FACTORY antlr3StringFactoryNew ( void   ) 
ANTLR3_API pANTLR3_STRING_FACTORY antlr3UCS2StringFactoryNew ( void   ) 
static pANTLR3_UINT8 append16_16 ( pANTLR3_STRING  string,
const char *  newbit 
) [static]

First, determine the length of the input string

References ANTLR3_MEMMOVE, ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInit16().

Here is the caller graph for this function:

static pANTLR3_UINT8 append16_8 ( pANTLR3_STRING  string,
const char *  newbit 
) [static]

References ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInit16().

Here is the caller graph for this function:

static pANTLR3_UINT8 append8 ( pANTLR3_STRING  string,
const char *  newbit 
) [static]

References ANTLR3_MEMMOVE, ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInit8().

Here is the caller graph for this function:

static pANTLR3_UINT8 appendS ( pANTLR3_STRING  string,
pANTLR3_STRING  newbit 
) [static]

References ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInit16(), and stringInit8().

Here is the caller graph for this function:

static ANTLR3_UCHAR charAt16 ( pANTLR3_STRING  string,
ANTLR3_UINT32  offset 
) [static]

References ANTLR3_STRING_struct::chars, and ANTLR3_STRING_struct::len.

Referenced by stringInit16().

Here is the caller graph for this function:

static ANTLR3_UCHAR charAt8 ( pANTLR3_STRING  string,
ANTLR3_UINT32  offset 
) [static]

References ANTLR3_STRING_struct::len.

Referenced by stringInit8().

Here is the caller graph for this function:

static void closeFactory ( pANTLR3_STRING_FACTORY  factory  )  [static]

Fascist Capitalist Pig function created to oppress the workers comrade.

References ANTLR3_FREE, and ANTLR3_STRING_FACTORY_struct::strings.

Referenced by antlr3StringFactoryNew(), and antlr3UCS2StringFactoryNew().

Here is the caller graph for this function:

static ANTLR3_UINT32 compare16_16 ( pANTLR3_STRING  string,
const char *  compStr 
) [static]

References ANTLR3_STRING_struct::chars.

Referenced by stringInit16().

Here is the caller graph for this function:

static ANTLR3_UINT32 compare16_8 ( pANTLR3_STRING  string,
const char *  compStr 
) [static]

References ANTLR3_STRING_struct::chars.

Referenced by stringInit16().

Here is the caller graph for this function:

static ANTLR3_UINT32 compare8 ( pANTLR3_STRING  string,
const char *  compStr 
) [static]

References ANTLR3_STRING_struct::chars.

Referenced by stringInit8().

Here is the caller graph for this function:

static ANTLR3_UINT32 compareS ( pANTLR3_STRING  string,
pANTLR3_STRING  compStr 
) [static]

References ANTLR3_STRING_struct::chars.

Referenced by stringInit16(), and stringInit8().

Here is the caller graph for this function:

static void destroy ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_STRING  string 
) [static]
static pANTLR3_UINT8 insert16_16 ( pANTLR3_STRING  string,
ANTLR3_UINT32  point,
const char *  newbit 
) [static]

First, determine the length of the input string

References ANTLR3_MEMMOVE, ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInit16().

Here is the caller graph for this function:

static pANTLR3_UINT8 insert16_8 ( pANTLR3_STRING  string,
ANTLR3_UINT32  point,
const char *  newbit 
) [static]

References ANTLR3_MEMMOVE, ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInit16().

Here is the caller graph for this function:

static pANTLR3_UINT8 insert8 ( pANTLR3_STRING  string,
ANTLR3_UINT32  point,
const char *  newbit 
) [static]

References ANTLR3_MEMMOVE, ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_struct::size.

Referenced by stringInit8().

Here is the caller graph for this function:

static pANTLR3_UINT8 inserti16 ( pANTLR3_STRING  string,
ANTLR3_UINT32  point,
ANTLR3_INT32  i 
) [static]

Referenced by stringInit16().

Here is the caller graph for this function:

static pANTLR3_UINT8 inserti8 ( pANTLR3_STRING  string,
ANTLR3_UINT32  point,
ANTLR3_INT32  i 
) [static]

Referenced by stringInit8().

Here is the caller graph for this function:

static pANTLR3_UINT8 insertS ( pANTLR3_STRING  string,
ANTLR3_UINT32  point,
pANTLR3_STRING  newbit 
) [static]

References ANTLR3_STRING_struct::chars.

Referenced by stringInit16(), and stringInit8().

Here is the caller graph for this function:

static pANTLR3_STRING newPtr16_16 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_UINT8  ptr,
ANTLR3_UINT32  size 
) [static]

Creates a new 16 bit string initialized with the 16 bit characters at the supplied ptr, of pre-determined size.

Parameters:
[in] factory - Pointer to the string factory that owns the strings
[in] ptr - Pointer to 16 bit encoded characters
Returns:
pointer to the new string

References ANTLR3_MEMMOVE, ANTLR3_STRING_struct::chars, and ANTLR3_STRING_FACTORY_struct::newSize.

Referenced by antlr3UCS2StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING newPtr16_8 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_UINT8  ptr,
ANTLR3_UINT32  size 
) [static]

Creates a new 16 bit string initialized with the 8 bit characters at the supplied 8 bit character ptr, of pre-determined size.

Parameters:
[in] factory - Pointer to the string factory that owns the strings
[in] ptr - Pointer to 8 bit encoded characters
Returns:
pointer to the new string

References ANTLR3_STRING_struct::chars, and ANTLR3_STRING_FACTORY_struct::newSize.

Referenced by antlr3UCS2StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING newPtr8 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_UINT8  ptr,
ANTLR3_UINT32  size 
) [static]

Creates a new 8 bit string initialized with the 8 bit characters at the supplied ptr, of pre-determined size.

Parameters:
[in] factory - Pointer to the string factory that owns the strings
[in] ptr - Pointer to 8 bit encoded characters
Returns:
pointer to the new string

References ANTLR3_MEMMOVE, ANTLR3_STRING_struct::chars, and ANTLR3_STRING_FACTORY_struct::newSize.

Referenced by antlr3StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING newRaw16 ( pANTLR3_STRING_FACTORY  factory  )  [static]
Parameters:
factory 
Returns:

References ANTLR3_CDECL, ANTLR3_MALLOC, ANTLR3_TRUE, ANTLR3_STRING_FACTORY_struct::index, ANTLR3_VECTOR_struct::set, stringFree(), stringInit16(), and ANTLR3_STRING_FACTORY_struct::strings.

Referenced by antlr3UCS2StringFactoryNew().

Here is the call graph for this function:

Here is the caller graph for this function:

static pANTLR3_STRING newRaw8 ( pANTLR3_STRING_FACTORY  factory  )  [static]
Parameters:
factory 
Returns:

References ANTLR3_CDECL, ANTLR3_MALLOC, ANTLR3_TRUE, ANTLR3_STRING_FACTORY_struct::index, ANTLR3_VECTOR_struct::set, stringFree(), stringInit8(), and ANTLR3_STRING_FACTORY_struct::strings.

Referenced by antlr3StringFactoryNew(), and to8_16().

Here is the call graph for this function:

Here is the caller graph for this function:

static pANTLR3_STRING newSize16 ( pANTLR3_STRING_FACTORY  factory,
ANTLR3_UINT32  size 
) [static]

Creates a new string with enough capacity for size 16 bit characters plus a terminator.

Parameters:
[in] factory - POitner to the string factory that owns strings
[in] size - In characters
Returns:
pointer to the new string.

References ANTLR3_MALLOC, ANTLR3_STRING_struct::chars, and ANTLR3_STRING_FACTORY_struct::newRaw.

Referenced by antlr3UCS2StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING newSize8 ( pANTLR3_STRING_FACTORY  factory,
ANTLR3_UINT32  size 
) [static]

Creates a new string with enough capacity for size 8 bit characters plus a terminator.

Parameters:
[in] factory - Pointer to the string factory that owns strings
[in] size - In characters
Returns:
pointer to the new string.

References ANTLR3_MALLOC, ANTLR3_STRING_struct::chars, and ANTLR3_STRING_FACTORY_struct::newRaw.

Referenced by antlr3StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING newStr16_16 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_UINT8  ptr 
) [static]

Create a new 16 bit string from the supplied, null terminated, 16 bit string pointer.

Parameters:
[in] factory - Pointer to the string factory that owns strings.
[in] ptr - Pointer to the 16 bit encoded string
Returns:
Pointer to the newly initialized string

First, determine the length of the input string

References ANTLR3_STRING_FACTORY_struct::newPtr.

Referenced by antlr3UCS2StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING newStr16_8 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_UINT8  ptr 
) [static]

Create a new 16 bit string from the supplied, null terminated, 8 bit string pointer.

Parameters:
[in] factory - Pointer to the string factory that owns strings.
[in] ptr - Pointer to the 8 bit encoded string
Returns:
POinter to the newly initialized string

References ANTLR3_STRING_FACTORY_struct::newPtr8.

Referenced by antlr3UCS2StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING newStr8 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_UINT8  ptr 
) [static]

Create a new 8 bit string from the supplied, null terminated, 8 bit string pointer.

Parameters:
[in] factory - Pointer to the string factory that owns strings.
[in] ptr - Pointer to the 8 bit encoded string
Returns:
Pointer to the newly initialized string

References ANTLR3_STRING_FACTORY_struct::newPtr8.

Referenced by antlr3StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING printable16 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_STRING  string 
) [static]

References ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_FACTORY_struct::newSize.

Referenced by antlr3UCS2StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_STRING printable8 ( pANTLR3_STRING_FACTORY  factory,
pANTLR3_STRING  string 
) [static]

References ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::len, and ANTLR3_STRING_FACTORY_struct::newSize.

Referenced by antlr3StringFactoryNew().

Here is the caller graph for this function:

static pANTLR3_UINT8 set16_16 ( pANTLR3_STRING  string,
const char *  chars 
) [static]

First, determine the length of the input string

References ANTLR3_MEMMOVE, ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, and ANTLR3_STRING_struct::size.

Referenced by stringInit16().

Here is the caller graph for this function:

static pANTLR3_UINT8 set16_8 ( pANTLR3_STRING  string,
const char *  chars 
) [static]

References ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, and ANTLR3_STRING_struct::size.

Referenced by stringInit16().

Here is the caller graph for this function:

static pANTLR3_UINT8 set8 ( pANTLR3_STRING  string,
const char *  chars 
) [static]

References ANTLR3_MEMMOVE, ANTLR3_REALLOC, ANTLR3_STRING_struct::chars, and ANTLR3_STRING_struct::size.

Referenced by stringInit8().

Here is the caller graph for this function:

static pANTLR3_UINT8 setS ( pANTLR3_STRING  string,
pANTLR3_STRING  chars 
) [static]

References ANTLR3_STRING_struct::chars.

Referenced by stringInit16(), and stringInit8().

Here is the caller graph for this function:

static void ANTLR3_CDECL stringFree ( pANTLR3_STRING  string  )  [static]

References ANTLR3_FREE, and ANTLR3_STRING_struct::chars.

Referenced by newRaw16(), and newRaw8().

Here is the caller graph for this function:

static void stringInit16 ( pANTLR3_STRING  string  )  [static]
static void stringInit8 ( pANTLR3_STRING  string  )  [static]
Parameters:
string 
Returns:

References addc8(), addi8(), ANTLR3_ENCODING_LATIN1, append8(), appendS(), charAt8(), compare8(), compareS(), ANTLR3_STRING_struct::compareS, insert8(), inserti8(), insertS(), set8(), setS(), subString8(), to8_8(), ANTLR3_STRING_struct::toInt32, toInt32_8(), ANTLR3_STRING_struct::toUTF8, and toUTF8_8().

Referenced by newRaw8().

Here is the call graph for this function:

Here is the caller graph for this function:

static void stringInitUTF8 ( pANTLR3_STRING  string  )  [static]
Parameters:
string 
Returns:
TODO: Implement UTF-8
static pANTLR3_STRING subString16 ( pANTLR3_STRING  string,
ANTLR3_UINT32  startIndex,
ANTLR3_UINT32  endIndex 
) [static]
static pANTLR3_STRING subString8 ( pANTLR3_STRING  string,
ANTLR3_UINT32  startIndex,
ANTLR3_UINT32  endIndex 
) [static]
static pANTLR3_STRING to8_16 ( pANTLR3_STRING  string  )  [static]

References ANTLR3_MALLOC, ANTLR3_STRING_struct::chars, ANTLR3_STRING_struct::factory, ANTLR3_STRING_struct::len, newRaw8(), and ANTLR3_STRING_struct::size.

Referenced by stringInit16().

Here is the call graph for this function:

Here is the caller graph for this function:

static pANTLR3_STRING to8_8 ( pANTLR3_STRING  string  )  [static]

Referenced by stringInit8().

Here is the caller graph for this function:

static ANTLR3_INT32 toInt32_16 ( struct ANTLR3_STRING_struct string  )  [static]
static ANTLR3_INT32 toInt32_16 ( pANTLR3_STRING  string  )  [static]

Referenced by stringInit16().

Here is the caller graph for this function:

static ANTLR3_INT32 toInt32_8 ( struct ANTLR3_STRING_struct string  )  [static]
static ANTLR3_INT32 toInt32_8 ( pANTLR3_STRING  string  )  [static]

Referenced by stringInit8().

Here is the caller graph for this function:

static pANTLR3_STRING toUTF8_16 ( pANTLR3_STRING  string  )  [static]
static pANTLR3_STRING toUTF8_8 ( pANTLR3_STRING  string  )  [static]

Generated on 29 Apr 2010 for ANTLR3C by  doxygen 1.6.1