ANTLR3_STRING_struct man page

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

Synopsis

#include <antlr3string.h>

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.

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.

Field Documentation

pANTLR3_UINT8(* ANTLR3_STRING_struct::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. Input is a single UTF32 (32 bits wide integer) character.

Referenced by consumeHiddenToken(), consumeNode(), consumeToken(), createNode(), defineDotEdges(), defineDotNodes(), errorNode(), LT(), LTT(), makeDot(), serializeNode(), serializeText(), serializeToken(), toString(), and toStringWork().

pANTLR3_UINT8(* ANTLR3_STRING_struct::addi) (struct ANTLR3_STRING_struct *string, ANTLR3_INT32 i)

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

Referenced by createNode(), errorNode(), serializeNode(), serializeToken(), toString(), and toStringWork().

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().

pANTLR3_UINT8(* ANTLR3_STRING_struct::appendS) (struct ANTLR3_STRING_struct *string, struct ANTLR3_STRING_struct *newbit)

Pointer to function appends a copy of the characters contained in another string. Strings must be in the same encoding.

Referenced by toString(), and toStringWork().

ANTLR3_UCHAR(* ANTLR3_STRING_struct::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.

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

pANTLR3_UINT8 ANTLR3_STRING_struct::chars

Pointer to the current string value (starts at NULL unless the string allocator is told to create it with a pre known size.

Referenced by addcUTF16(), append8(), appendS(), appendUTF16_8(), appendUTF16_UTF16(), charAtUTF16(), compare8(), compareS(), compareUTF16_8(), compareUTF16_UTF16(), consumeHiddenToken(), consumeNode(), consumeToken(), createNode(), createTokenFromToken(), displayRecognitionError(), errorNode(), handshake(), insert8(), insertS(), insertUTF16_8(), insertUTF16_UTF16(), LT(), LTT(), newPtr8(), newPtrUTF16_8(), newPtrUTF16_UTF16(), newSize8(), newSizeUTF16(), printable8(), printableUTF16(), replaceChildren(), set8(), setS(), setUTF16_8(), setUTF16_UTF16(), stringFree(), subString8(), subStringUTF16(), to8_UTF16(), toInt32_8(), toInt32_UTF16(), toUTF8_8(), and toUTF8_UTF16().

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()

ANTLR3_UINT32(* ANTLR3_STRING_struct::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()

Referenced by stringInit8(), and stringInitUTF16().

ANTLR3_UINT8 ANTLR3_STRING_struct::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 ANTLR3_STRING_struct::factory

The factory that created this string.

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

ANTLR3_UINT32 ANTLR3_STRING_struct::index

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(), consumeNode(), consumeToken(), LT(), and LTT().

pANTLR3_UINT8(* ANTLR3_STRING_struct::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.

Referenced by LT(), and LTT().

pANTLR3_UINT8(* ANTLR3_STRING_struct::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. strings must be in the same encoding.

ANTLR3_UINT32 ANTLR3_STRING_struct::len

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

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().

pANTLR3_UINT8(* ANTLR3_STRING_struct::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. 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 antlr38BitReuse(), serializeNode(), and serializeToken().

pANTLR3_UINT8(* ANTLR3_STRING_struct::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. 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 createNode(), errorNode(), and setText8().

pANTLR3_UINT8(* ANTLR3_STRING_struct::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 ANTLR3_STRING_struct::size

Current size of the string in bytes including the trailing '\0'.

Referenced by addc8(), addcUTF16(), append8(), appendS(), appendUTF16_8(), appendUTF16_UTF16(), insert8(), insertUTF16_8(), insertUTF16_UTF16(), set8(), setUTF16_8(), setUTF16_UTF16(), to8_UTF16(), and toUTF8_UTF16().

struct ANTLR3_STRING_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*(* 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. 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().

ANTLR3_INT32(* ANTLR3_STRING_struct::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.

Referenced by stringInit8(), and stringInitUTF16().

struct ANTLR3_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. 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 consumeNode(), createNode(), errorNode(), LTT(), serializeNode(), serializeToken(), stringInit8(), and stringInitUTF16().

Author

Generated automatically by Doxygen for ANTLR3C from the source code.

Referenced By

antlr3-addc(3), antlr3-addi(3), antlr3-append(3), antlr3-charAt(3), antlr3-compare(3), antlr3-insert(3), antlr3-inserti(3), antlr3-len(3), antlr3-set(3), antlr3-subString(3), antlr3-to8(3), antlr3-toInt32(3) and antlr3-toUTF8(3) are aliases of ANTLR3_STRING_struct(3).

Tue Oct 4 2016 Version 3.3.1 ANTLR3C