ScannerConfig

constructor()

Allocate a new ScannerConfig.

This instance will be allocated on the native heap and automatically freed when this class instance is garbage collected.


constructor(scope: <Error class: unknown class>)

Allocate a new ScannerConfig using the provided AutofreeScope.

The AutofreeScope manages the allocation lifetime. The most common usage is with memScoped.

Parameters

scope

The AutofreeScope to allocate this structure in.


constructor(csetSkipCharacters: String?, csetIdentifierFirst: String?, csetIdentifierNth: String?, cpairCommentSingle: String?, caseSensitive: <Error class: unknown class>, skipCommentMulti: <Error class: unknown class>, skipCommentSingle: <Error class: unknown class>, scanCommentMulti: <Error class: unknown class>, scanIdentifier: <Error class: unknown class>, scanIdentifier1char: <Error class: unknown class>, scanIdentifierNull: <Error class: unknown class>, scanSymbols: <Error class: unknown class>, scanBinary: <Error class: unknown class>, scanOctal: <Error class: unknown class>, scanFloat: <Error class: unknown class>, scanHex: <Error class: unknown class>, scanHexDollar: <Error class: unknown class>, scanStringSq: <Error class: unknown class>, scanStringDq: <Error class: unknown class>, numbers2Int: <Error class: unknown class>, int2Float: <Error class: unknown class>, identifier2String: <Error class: unknown class>, char2Token: <Error class: unknown class>, symbol2Token: <Error class: unknown class>, scope0Fallback: <Error class: unknown class>, storeInt64: <Error class: unknown class>)

Allocate a new ScannerConfig.

This instance will be allocated on the native heap and automatically freed when this class instance is garbage collected.

Parameters

csetSkipCharacters

specifies which characters should be skipped by the scanner (the default is the whitespace characters: space, tab, carriage-return and line-feed).

csetIdentifierFirst

specifies the characters which can start identifiers (the default is %G_CSET_a_2_z, "_", and %G_CSET_A_2_Z).

csetIdentifierNth

specifies the characters which can be used in identifiers, after the first character (the default is %G_CSET_a_2_z, "_0123456789", %G_CSET_A_2_Z, %G_CSET_LATINS, %G_CSET_LATINC).

cpairCommentSingle

specifies the characters at the start and end of single-line comments. The default is "#\n" which means that single-line comments start with a '#' and continue until a '\n' (end of line).

caseSensitive

specifies if symbols are case sensitive (the default is false).

skipCommentMulti

specifies if multi-line comments are skipped and not returned as tokens (the default is true).

skipCommentSingle

specifies if single-line comments are skipped and not returned as tokens (the default is true).

scanCommentMulti

specifies if multi-line comments are recognized (the default is true).

scanIdentifier

specifies if identifiers are recognized (the default is true).

scanIdentifier1char

specifies if single-character identifiers are recognized (the default is false).

scanIdentifierNull

specifies if null is reported as %G_TOKEN_IDENTIFIER_NULL (the default is false).

scanSymbols

specifies if symbols are recognized (the default is true).

scanBinary

specifies if binary numbers are recognized (the default is false).

scanOctal

specifies if octal numbers are recognized (the default is true).

scanFloat

specifies if floating point numbers are recognized (the default is true).

scanHex

specifies if hexadecimal numbers are recognized (the default is true).

scanHexDollar

specifies if '$' is recognized as a prefix for hexadecimal numbers (the default is false).

scanStringSq

specifies if strings can be enclosed in single quotes (the default is true).

scanStringDq

specifies if strings can be enclosed in double quotes (the default is true).

numbers2Int

specifies if binary, octal and hexadecimal numbers are reported as %G_TOKEN_INT (the default is true).

int2Float

specifies if all numbers are reported as %G_TOKEN_FLOAT (the default is false).

identifier2String

specifies if identifiers are reported as strings (the default is false).

char2Token

specifies if characters are reported by setting token = ch or as %G_TOKEN_CHAR (the default is true).

symbol2Token

specifies if symbols are reported by setting token = v_symbol or as %G_TOKEN_SYMBOL (the default is false).

scope0Fallback

specifies if a symbol is searched for in the default scope in addition to the current scope (the default is false).

storeInt64

use value.v_int64 rather than v_int


constructor(csetSkipCharacters: String?, csetIdentifierFirst: String?, csetIdentifierNth: String?, cpairCommentSingle: String?, caseSensitive: <Error class: unknown class>, skipCommentMulti: <Error class: unknown class>, skipCommentSingle: <Error class: unknown class>, scanCommentMulti: <Error class: unknown class>, scanIdentifier: <Error class: unknown class>, scanIdentifier1char: <Error class: unknown class>, scanIdentifierNull: <Error class: unknown class>, scanSymbols: <Error class: unknown class>, scanBinary: <Error class: unknown class>, scanOctal: <Error class: unknown class>, scanFloat: <Error class: unknown class>, scanHex: <Error class: unknown class>, scanHexDollar: <Error class: unknown class>, scanStringSq: <Error class: unknown class>, scanStringDq: <Error class: unknown class>, numbers2Int: <Error class: unknown class>, int2Float: <Error class: unknown class>, identifier2String: <Error class: unknown class>, char2Token: <Error class: unknown class>, symbol2Token: <Error class: unknown class>, scope0Fallback: <Error class: unknown class>, storeInt64: <Error class: unknown class>, scope: <Error class: unknown class>)

Allocate a new ScannerConfig using the provided AutofreeScope.

The AutofreeScope manages the allocation lifetime. The most common usage is with memScoped.

Parameters

csetSkipCharacters

specifies which characters should be skipped by the scanner (the default is the whitespace characters: space, tab, carriage-return and line-feed).

csetIdentifierFirst

specifies the characters which can start identifiers (the default is %G_CSET_a_2_z, "_", and %G_CSET_A_2_Z).

csetIdentifierNth

specifies the characters which can be used in identifiers, after the first character (the default is %G_CSET_a_2_z, "_0123456789", %G_CSET_A_2_Z, %G_CSET_LATINS, %G_CSET_LATINC).

cpairCommentSingle

specifies the characters at the start and end of single-line comments. The default is "#\n" which means that single-line comments start with a '#' and continue until a '\n' (end of line).

caseSensitive

specifies if symbols are case sensitive (the default is false).

skipCommentMulti

specifies if multi-line comments are skipped and not returned as tokens (the default is true).

skipCommentSingle

specifies if single-line comments are skipped and not returned as tokens (the default is true).

scanCommentMulti

specifies if multi-line comments are recognized (the default is true).

scanIdentifier

specifies if identifiers are recognized (the default is true).

scanIdentifier1char

specifies if single-character identifiers are recognized (the default is false).

scanIdentifierNull

specifies if null is reported as %G_TOKEN_IDENTIFIER_NULL (the default is false).

scanSymbols

specifies if symbols are recognized (the default is true).

scanBinary

specifies if binary numbers are recognized (the default is false).

scanOctal

specifies if octal numbers are recognized (the default is true).

scanFloat

specifies if floating point numbers are recognized (the default is true).

scanHex

specifies if hexadecimal numbers are recognized (the default is true).

scanHexDollar

specifies if '$' is recognized as a prefix for hexadecimal numbers (the default is false).

scanStringSq

specifies if strings can be enclosed in single quotes (the default is true).

scanStringDq

specifies if strings can be enclosed in double quotes (the default is true).

numbers2Int

specifies if binary, octal and hexadecimal numbers are reported as %G_TOKEN_INT (the default is true).

int2Float

specifies if all numbers are reported as %G_TOKEN_FLOAT (the default is false).

identifier2String

specifies if identifiers are reported as strings (the default is false).

char2Token

specifies if characters are reported by setting token = ch or as %G_TOKEN_CHAR (the default is true).

symbol2Token

specifies if symbols are reported by setting token = v_symbol or as %G_TOKEN_SYMBOL (the default is false).

scope0Fallback

specifies if a symbol is searched for in the default scope in addition to the current scope (the default is false).

storeInt64

use value.v_int64 rather than v_int

scope

The AutofreeScope to allocate this structure in.


constructor(pointer: <Error class: unknown class><<Error class: unknown class>>, cleaner: <Error class: unknown class>? = null)