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_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 as G_TOKEN_IDENTIFIER_NULL (the default is FALSE).

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 is TRUE).

int_2_float

Specifies if all numbers are reported as G_TOKEN_FLOAT (the default is FALSE).

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 as G_TOKEN_CHAR (the default is TRUE).

symbol_2_token

Specifies if symbols are reported by setting token = v_symbol or as G_TOKEN_SYMBOL (the default is FALSE).

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.