Struct
GLibScannerConfig
Description [src]
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_characters
Specifies which characters should be skipped by the scanner (the default is the whitespace characters: space, tab, carriage-return and line-feed).
cset_identifier_first
Specifies the characters which can start identifiers (the default is %G_CSET_a_2_z, “_”, and
G_CSET_A_2_Z
).cset_identifier_nth
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
).cpair_comment_single
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).
case_sensitive
Specifies if symbols are case sensitive (the default is
FALSE
).skip_comment_multi
Specifies if multi-line comments are skipped and not returned as tokens (the default is
TRUE
).skip_comment_single
Specifies if single-line comments are skipped and not returned as tokens (the default is
TRUE
).scan_comment_multi
Specifies if multi-line comments are recognized (the default is
TRUE
).scan_identifier
Specifies if identifiers are recognized (the default is
TRUE
).scan_identifier_1char
Specifies if single-character identifiers are recognized (the default is
FALSE
).scan_identifier_NULL
Specifies if
NULL
is reported asG_TOKEN_IDENTIFIER_NULL
(the default isFALSE
).scan_symbols
Specifies if symbols are recognized (the default is
TRUE
).scan_binary
Specifies if binary numbers are recognized (the default is
FALSE
).scan_octal
Specifies if octal numbers are recognized (the default is
TRUE
).scan_float
Specifies if floating point numbers are recognized (the default is
TRUE
).scan_hex
Specifies if hexadecimal numbers are recognized (the default is
TRUE
).scan_hex_dollar
Specifies if ‘$’ is recognized as a prefix for hexadecimal numbers (the default is
FALSE
).scan_string_sq
Specifies if strings can be enclosed in single quotes (the default is
TRUE
).scan_string_dq
Specifies if strings can be enclosed in double quotes (the default is
TRUE
).numbers_2_int
Specifies if binary, octal and hexadecimal numbers are reported as
G_TOKEN_INT
(the default isTRUE
).int_2_float
Specifies if all numbers are reported as
G_TOKEN_FLOAT
(the default isFALSE
).identifier_2_string
Specifies if identifiers are reported as strings (the default is
FALSE
).char_2_token
Specifies if characters are reported by setting
token = ch
or asG_TOKEN_CHAR
(the default isTRUE
).symbol_2_token
Specifies if symbols are reported by setting
token = v_symbol
or asG_TOKEN_SYMBOL
(the default isFALSE
).scope_0_fallback
Specifies if a symbol is searched for in the default scope in addition to the current scope (the default is
FALSE
).store_int64
Use value.v_int64 rather than v_int.