结构
GLibScannerConfig
描述 [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;
}
指定 GScanner 解析器配置。大多数设置可在解析阶段进行更改,并影响下一非窥视令牌的词法解析。
结构成员
cset_skip_characters指定扫描器应当跳过的字符(默认值为空白字符:空格、制表符、回车符和换行符)。
cset_identifier_first指定标识符开头可以有的字符(默认值为 %G_CSET_a_2_z、"_" 和
G_CSET_A_2_Z)。cset_identifier_nth指定可在标识符中使用的字符(首个字符之后)(默认值为 %G_CSET_a_2_z、"_0123456789"、
G_CSET_A_2_Z、G_CSET_LATINS、G_CSET_LATINC)。cpair_comment_single指定单行注释的开头和结尾的字符。默认值为“#\n”,这意味着单行注释以“#”开头,直到“\n”(行尾)。
case_sensitive指定符号是否区分大小写(默认值为
FALSE)。skip_comment_multi指定是否跳过多行注释,不将其作为令牌返回(默认值为
TRUE)。skip_comment_single指定是否跳过单行注释,不将其作为令牌返回(默认值为
TRUE)。scan_comment_multi指定是否识别多行注释(默认值为
TRUE)。scan_identifier指定是否识别标识符(默认值为
TRUE)。scan_identifier_1char指定是否识别单字符标识符(默认值为
FALSE)。scan_identifier_NULL指定是否将
NULL报告为G_TOKEN_IDENTIFIER_NULL(默认值为FALSE)。scan_symbols指定是否识别符号(默认值为
TRUE)。scan_binary指定是否识别二进制数(默认值为
FALSE)。scan_octal指定是否识别八进制数(默认值为
TRUE)。scan_float指定是否识别浮点数(默认值为
TRUE)。scan_hex指定是否识别十六进制数(默认值为
TRUE)。scan_hex_dollar指定是否识别“$”作为十六进制数的前缀(默认值为
FALSE)。scan_string_sq指定字符串是否可以用单引号括起来(默认值为
TRUE)。scan_string_dq指定字符串是否可以用双引号括起来(默认值为
TRUE)。numbers_2_int指定是否将二进制数、八进制数和十六进制数报告为
G_TOKEN_INT(默认值为TRUE)。int_2_float指定是否将所有数字报告为
G_TOKEN_FLOAT(默认值为FALSE)。identifier_2_string指定是否将标识符报告为字符串(默认值为
FALSE)。char_2_token指定是否通过设置
token = ch报告字符,还是报告为G_TOKEN_CHAR(默认值为TRUE)。symbol_2_token指定是否通过设置
token = v_symbol报告符号,还是报告为G_TOKEN_SYMBOL(默认值为FALSE)。scope_0_fallback指定除了在当前的作用域内,是否还要在默认的作用域中搜索符号(默认值为
FALSE)。store_int64使用 value.v_int64 而不是 v_int。