ANTLR3_STRING_struct Struct Reference

#include <antlr3string.h>

Collaboration diagram for ANTLR3_STRING_struct:

Collaboration graph
[legend]

Detailed Description

Base string class tracks the allocations and provides simple string tracking functions.

Mostly you can work directly on the string for things that don't reallocate it, like strchr() etc. Perhaps someone will want to provide implementations for UTF8 and so on.

Data Fields

pANTLR3_UINT8(* addc )(struct ANTLR3_STRING_struct *string, ANTLR3_UINT32 c)
 Pointer to function that adds a single character to the end of the string, in the encoding of the string - 8 bit, UTF16, utf-8 etc.
pANTLR3_UINT8(* addi )(struct ANTLR3_STRING_struct *string, ANTLR3_INT32 i)
 Pointer to function that adds the stringified representation of an integer to the string.
pANTLR3_UINT8(* append )(struct ANTLR3_STRING_struct *string, const char *newbit)
 Pointer to function adds a raw char * type pointer in the default encoding for this string.
pANTLR3_UINT8(* append8 )(struct ANTLR3_STRING_struct *string, const char *newbit)
 Pointer to function adds a raw char * type pointer in the default encoding for this string.
pANTLR3_UINT8(* appendS )(struct ANTLR3_STRING_struct *string, struct ANTLR3_STRING_struct *newbit)
 Pointer to function appends a copy of the characters contained in another string.
ANTLR3_UCHAR(* charAt )(struct ANTLR3_STRING_struct *string, ANTLR3_UINT32 offset)
 Pointer to a function that returns the character indexed at the supplied offset as a 32 bit character.
pANTLR3_UINT8 chars
 Pointer to the current string value (starts at NULL unless the string allocator is told to create it with a pre known size.
ANTLR3_UINT32(* compare )(struct ANTLR3_STRING_struct *string, const char *compStr)
 Pointer to a function that compares the text of a string with the supplied character string (which is assumed to be in the same encoding as the string itself) and returns a result a la strcmp().
ANTLR3_UINT32(* compare8 )(struct ANTLR3_STRING_struct *string, const char *compStr)
 Pointer to function that compares the text of a string to the supplied 8 bit character string and returns a result a la strcmp().
ANTLR3_UINT32(* compareS )(struct ANTLR3_STRING_struct *string, struct ANTLR3_STRING_struct *compStr)
 Pointer to a function that compares the text of a string with the supplied string (which is assumed to be in the same encoding as the string itself) and returns a result a la strcmp().
ANTLR3_UINT8 encoding
 Occasionally it is useful to know what the encoding of the string actually is, hence it is stored here as one the ANTLR3_ENCODING_ values.
pANTLR3_STRING_FACTORY factory
 The factory that created this string.
ANTLR3_UINT32 index
 Index of string (allocation number) in case someone wants to explicitly release it.
pANTLR3_UINT8(* insert )(struct ANTLR3_STRING_struct *string, ANTLR3_UINT32 point, const char *newbit)
 Pointer to function that inserts the supplied string at the specified offset in the current string in the default encoding for this string.
pANTLR3_UINT8(* insert8 )(struct ANTLR3_STRING_struct *string, ANTLR3_UINT32 point, const char *newbit)
 Pointer to function that inserts the supplied string at the specified offset in the current string in the default encoding for this string.
pANTLR3_UINT8(* inserti )(struct ANTLR3_STRING_struct *string, ANTLR3_UINT32 point, ANTLR3_INT32 i)
 Pointer to function that inserts the supplied integer in string form at the specified offset in the current string.
pANTLR3_UINT8(* insertS )(struct ANTLR3_STRING_struct *string, ANTLR3_UINT32 point, struct ANTLR3_STRING_struct *newbit)
 Pointer to function that inserts a copy of the characters in the supplied string at the specified offset in the current string.
ANTLR3_UINT32 len
 Current length of the string up to and not including, the trailing '' Note that the actual allocation (->size) is always at least one byte more than this to accommodate trailing ''.
pANTLR3_UINT8(* set )(struct ANTLR3_STRING_struct *string, const char *chars)
 Pointer to function that sets the string value to a specific string in the default encoding for this string.
pANTLR3_UINT8(* set8 )(struct ANTLR3_STRING_struct *string, const char *chars)
 Pointer to function that sets the string value to a specific 8 bit string in the default encoding for this string.
pANTLR3_UINT8(* setS )(struct ANTLR3_STRING_struct *string, struct ANTLR3_STRING_struct *chars)
 Pointer to function that sets the string value to a copy of the supplied string (strings must be in the same encoding.
ANTLR3_UINT32 size
 Current size of the string in bytes including the trailing ''.
struct ANTLR3_STRING_struct *(* subString )(struct ANTLR3_STRING_struct *string, ANTLR3_UINT32 startIndex, ANTLR3_UINT32 endIndex)
 Pointer to a function that returns a substring of the supplied string a la .subString(s,e) in the Java language.
struct ANTLR3_STRING_struct *(* to8 )(struct ANTLR3_STRING_struct *string)
 Pointer to a function that yields an 8 bit string regardless of the encoding of the supplied string.
ANTLR3_INT32(* toInt32 )(struct ANTLR3_STRING_struct *string)
 Pointer to a function that returns the integer representation of any numeric characters at the beginning of the string.
struct ANTLR3_STRING_struct *(* toUTF8 )(struct ANTLR3_STRING_struct *string)
 Pointer to a function that yields a UT8 encoded string of the current string, regardless of the current encoding of the string.


Field Documentation

Pointer to function that adds a single character to the end of the string, in the encoding of the string - 8 bit, UTF16, utf-8 etc.

Input is a single UTF32 (32 bits wide integer) character.

Referenced by consumeHiddenToken(), consumeToken(), defineDotEdges(), defineDotNodes(), makeDot(), serializeNode(), serializeText(), serializeToken(), and toString().

Pointer to function that adds the stringified representation of an integer to the string.

Referenced by serializeNode(), serializeToken(), and toString().

pANTLR3_UINT8(* ANTLR3_STRING_struct::append)(struct ANTLR3_STRING_struct *string, const char *newbit)

Pointer to function adds a raw char * type pointer in the default encoding for this string.

For instance, if this is 8 bit, then this function is the same as append8 but if the encoding is UTF16, then the pointer is assumed to point to UTF16 characters not 8 bit.

Referenced by serializeText().

pANTLR3_UINT8(* ANTLR3_STRING_struct::append8)(struct ANTLR3_STRING_struct *string, const char *newbit)

Pointer to function adds a raw char * type pointer in the default encoding for this string.

For instance, if this is a UTF16 string, then this function assumes the pointer points to 8 bit characters that must be converted on the fly.

Referenced by defineDotEdges(), defineDotNodes(), getMissingSymbol(), makeDot(), toString(), and toStringTree().

Pointer to function appends a copy of the characters contained in another string.

Strings must be in the same encoding.

Referenced by toString().

Pointer to a function that returns the character indexed at the supplied offset as a 32 bit character.

Referenced by defineDotEdges(), defineDotNodes(), makeDot(), and serializeText().

ANTLR3_UINT32(* ANTLR3_STRING_struct::compare)(struct ANTLR3_STRING_struct *string, const char *compStr)

Pointer to a function that compares the text of a string with the supplied character string (which is assumed to be in the same encoding as the string itself) and returns a result a la strcmp().

ANTLR3_UINT32(* ANTLR3_STRING_struct::compare8)(struct ANTLR3_STRING_struct *string, const char *compStr)

Pointer to function that compares the text of a string to the supplied 8 bit character string and returns a result a la strcmp().

Pointer to a function that compares the text of a string with the supplied string (which is assumed to be in the same encoding as the string itself) and returns a result a la strcmp().

Referenced by stringInit8(), and stringInitUTF16().

Occasionally it is useful to know what the encoding of the string actually is, hence it is stored here as one the ANTLR3_ENCODING_ values.

The factory that created this string.

Referenced by serializeNode(), serializeToken(), subString8(), subStringUTF16(), to8_UTF16(), toString(), toUTF8_8(), and toUTF8_UTF16().

Index of string (allocation number) in case someone wants to explicitly release it.

pANTLR3_UINT8(* ANTLR3_STRING_struct::insert)(struct ANTLR3_STRING_struct *string, ANTLR3_UINT32 point, const char *newbit)

Pointer to function that inserts the supplied string at the specified offset in the current string in the default encoding for this string.

For instance, if this is an 8 bit string, then this is the same as insert8, but if this is a UTF16 string, then the pointer must point to UTF16 characters.

pANTLR3_UINT8(* ANTLR3_STRING_struct::insert8)(struct ANTLR3_STRING_struct *string, ANTLR3_UINT32 point, const char *newbit)

Pointer to function that inserts the supplied string at the specified offset in the current string in the default encoding for this string.

For instance, if this is a UTF16 string then the pointer is assumed to point at 8 bit characteres that must be converted on the fly.

Referenced by consumeHiddenToken(), and consumeToken().

Pointer to function that inserts the supplied integer in string form at the specified offset in the current string.

Pointer to function that inserts a copy of the characters in the supplied string at the specified offset in the current string.

strings must be in the same encoding.

Current length of the string up to and not including, the trailing '' Note that the actual allocation (->size) is always at least one byte more than this to accommodate trailing ''.

Referenced by addc8(), addcUTF16(), append8(), appendS(), appendUTF16_8(), appendUTF16_UTF16(), charAt8(), charAtUTF16(), createTokenFromToken(), defineDotEdges(), defineDotNodes(), insert8(), insertUTF16_8(), insertUTF16_UTF16(), makeDot(), printable8(), printableUTF16(), serializeText(), subString8(), subStringUTF16(), to8_UTF16(), toUTF8_8(), and toUTF8_UTF16().

Pointer to function that sets the string value to a specific string in the default encoding for this string.

For instance, if this is 8 bit, then this function is the same as set8 but if the encoding is UTF16, then the pointer is assumed to point to UTF16 characters, not 8 bit.

Referenced by serializeNode(), and serializeToken().

Pointer to function that sets the string value to a specific 8 bit string in the default encoding for this string.

For instance, if this is an 8 bit string, then this function is the same as set8 but if the encoding is UTF16, then the pointer is assumed to point to 8 bit characters that must be converted to UTF16 characters on the fly.

Referenced by setText8().

Pointer to function that sets the string value to a copy of the supplied string (strings must be in the same encoding.

Pointer to a function that returns a substring of the supplied string a la .subString(s,e) in the Java language.

Pointer to a function that yields an 8 bit string regardless of the encoding of the supplied string.

This is useful when you want to use the text of a token in some way that requires an 8 bit value, such as the key for a hashtable. The function is required to produce a usable string even if the text given as input has characters that do not fit in 8 bit space, it will replace them with some arbitrary character such as '?'

Referenced by displayRecognitionError().

Pointer to a function that returns the integer representation of any numeric characters at the beginning of the string.

Referenced by stringInit8(), and stringInitUTF16().

Pointer to a function that yields a UT8 encoded string of the current string, regardless of the current encoding of the string.

Because there is currently no UTF8 handling in the string class, it creates therefore, a string that is useful only for read only applications as it will not contain methods that deal with UTF8 at the moment.

Referenced by serializeNode(), serializeToken(), stringInit8(), and stringInitUTF16().


The documentation for this struct was generated from the following file:

Generated on Mon Nov 29 17:24:06 2010 for ANTLR3C by  doxygen 1.5.5