结构
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。