Struct
GLibScannerConfig
Description
struct GScannerConfig {
gchar* cset_skip_characters;
gchar* cset_identifier_first;
gchar* cset_identifier_nth;
gchar* cpair_comment_single;
guint case_sensitive : 1;
guint skip_comment_multi : 1;
guint skip_comment_single : 1;
guint scan_comment_multi : 1;
guint scan_identifier : 1;
guint scan_identifier_1char : 1;
guint scan_identifier_NULL : 1;
guint scan_symbols : 1;
guint scan_binary : 1;
guint scan_octal : 1;
guint scan_float : 1;
guint scan_hex : 1;
guint scan_hex_dollar : 1;
guint scan_string_sq : 1;
guint scan_string_dq : 1;
guint numbers_2_int : 1;
guint int_2_float : 1;
guint identifier_2_string : 1;
guint char_2_token : 1;
guint symbol_2_token : 1;
guint scope_0_fallback : 1;
guint store_int64 : 1;
}
Specifies the GScanner parser configuration. Most settings can
be changed during the parsing phase and will affect the lexical
parsing of the next unpeeked token.
Structure members
cset_skip_charactersSpecifies which characters should be skipped by the scanner (the default is the whitespace characters: space, tab, carriage-return and line-feed).
cset_identifier_firstSpecifies the characters which can start identifiers (the default is %G_CSET_a_2_z, “_”, and
G_CSET_A_2_Z).cset_identifier_nthSpecifies 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).cpair_comment_singleSpecifies 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).
case_sensitiveSpecifies if symbols are case sensitive (the default is
FALSE).skip_comment_multiSpecifies if multi-line comments are skipped and not returned as tokens (the default is
TRUE).skip_comment_singleSpecifies if single-line comments are skipped and not returned as tokens (the default is
TRUE).scan_comment_multiSpecifies if multi-line comments are recognized (the default is
TRUE).scan_identifierSpecifies if identifiers are recognized (the default is
TRUE).scan_identifier_1charSpecifies if single-character identifiers are recognized (the default is
FALSE).scan_identifier_NULLSpecifies if
NULLis reported asG_TOKEN_IDENTIFIER_NULL(the default isFALSE).scan_symbolsSpecifies if symbols are recognized (the default is
TRUE).scan_binarySpecifies if binary numbers are recognized (the default is
FALSE).scan_octalSpecifies if octal numbers are recognized (the default is
TRUE).scan_floatSpecifies if floating point numbers are recognized (the default is
TRUE).scan_hexSpecifies if hexadecimal numbers are recognized (the default is
TRUE).scan_hex_dollarSpecifies if ‘$’ is recognized as a prefix for hexadecimal numbers (the default is
FALSE).scan_string_sqSpecifies if strings can be enclosed in single quotes (the default is
TRUE).scan_string_dqSpecifies if strings can be enclosed in double quotes (the default is
TRUE).numbers_2_intSpecifies if binary, octal and hexadecimal numbers are reported as
G_TOKEN_INT(the default isTRUE).int_2_floatSpecifies if all numbers are reported as
G_TOKEN_FLOAT(the default isFALSE).identifier_2_stringSpecifies if identifiers are reported as strings (the default is
FALSE).char_2_tokenSpecifies if characters are reported by setting
token = chor asG_TOKEN_CHAR(the default isTRUE).symbol_2_tokenSpecifies if symbols are reported by setting
token = v_symbolor asG_TOKEN_SYMBOL(the default isFALSE).scope_0_fallbackSpecifies if a symbol is searched for in the default scope in addition to the current scope (the default is
FALSE).store_int64Use value.v_int64 rather than v_int.