27#ifndef __G_SCANNER_H__
28#define __G_SCANNER_H__
30#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
31#error "Only <glib.h> can be included directly."
51#define G_CSET_A_2_Z "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
52#define G_CSET_a_2_z "abcdefghijklmnopqrstuvwxyz"
53#define G_CSET_DIGITS "0123456789"
54#define G_CSET_LATINC "\300\301\302\303\304\305\306"\
55 "\307\310\311\312\313\314\315\316\317\320"\
56 "\321\322\323\324\325\326"\
57 "\330\331\332\333\334\335\336"
58#define G_CSET_LATINS "\337\340\341\342\343\344\345\346"\
59 "\347\350\351\352\353\354\355\356\357\360"\
60 "\361\362\363\364\365\366"\
61 "\370\371\372\373\374\375\376\377"
253 const gchar *symbol);
257 const gchar *symbol);
265 const gchar *symbol);
269 const gchar *identifier_spec,
270 const gchar *symbol_spec,
271 const gchar *symbol_name,
272 const gchar *message,
284#define g_scanner_add_symbol( scanner, symbol, value ) G_STMT_START { \
285 g_scanner_scope_add_symbol ((scanner), 0, (symbol), (value)); \
286} G_STMT_END GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_scanner_scope_add_symbol)
287#define g_scanner_remove_symbol( scanner, symbol ) G_STMT_START { \
288 g_scanner_scope_remove_symbol ((scanner), 0, (symbol)); \
289} G_STMT_END GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_scanner_scope_remove_symbol)
290#define g_scanner_foreach_symbol( scanner, func, data ) G_STMT_START { \
291 g_scanner_scope_foreach_symbol ((scanner), 0, (func), (data)); \
292} G_STMT_END GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_scanner_scope_foreach_symbol)
296#define g_scanner_freeze_symbol_table(scanner) ((void)0) GLIB_DEPRECATED_MACRO_IN_2_26
297#define g_scanner_thaw_symbol_table(scanner) ((void)0) GLIB_DEPRECATED_MACRO_IN_2_26
typedefG_BEGIN_DECLS struct _GData GData
typedefG_BEGIN_DECLS struct _GHashTable GHashTable
#define GLIB_AVAILABLE_IN_ALL
#define G_GNUC_PRINTF(format_idx, arg_idx)
GLIB_AVAILABLE_IN_ALL gboolean g_scanner_eof(GScanner *scanner)
GLIB_AVAILABLE_IN_ALL void g_scanner_scope_add_symbol(GScanner *scanner, guint scope_id, const gchar *symbol, gpointer value)
GLIB_AVAILABLE_IN_ALL guint g_scanner_set_scope(GScanner *scanner, guint scope_id)
GLIB_AVAILABLE_IN_ALL void GLIB_AVAILABLE_IN_ALL void g_scanner_warn(GScanner *scanner, const gchar *format,...) G_GNUC_PRINTF(2
GLIB_AVAILABLE_IN_ALL void g_scanner_input_file(GScanner *scanner, gint input_fd)
GLIB_AVAILABLE_IN_ALL void g_scanner_error(GScanner *scanner, const gchar *format,...) G_GNUC_PRINTF(2
typedefG_BEGIN_DECLS struct _GScanner GScanner
GLIB_AVAILABLE_IN_ALL GTokenType g_scanner_get_next_token(GScanner *scanner)
GLIB_AVAILABLE_IN_ALL GTokenType g_scanner_peek_next_token(GScanner *scanner)
GLIB_AVAILABLE_IN_ALL GScanner * g_scanner_new(const GScannerConfig *config_templ)
GLIB_AVAILABLE_IN_ALL void g_scanner_destroy(GScanner *scanner)
GLIB_AVAILABLE_IN_ALL GTokenType g_scanner_cur_token(GScanner *scanner)
GLIB_AVAILABLE_IN_ALL void g_scanner_scope_remove_symbol(GScanner *scanner, guint scope_id, const gchar *symbol)
GLIB_AVAILABLE_IN_ALL guint g_scanner_cur_line(GScanner *scanner)
GLIB_AVAILABLE_IN_ALL void g_scanner_unexp_token(GScanner *scanner, GTokenType expected_token, const gchar *identifier_spec, const gchar *symbol_spec, const gchar *symbol_name, const gchar *message, gint is_error)
GLIB_AVAILABLE_IN_ALL gpointer g_scanner_scope_lookup_symbol(GScanner *scanner, guint scope_id, const gchar *symbol)
GLIB_AVAILABLE_IN_ALL void g_scanner_sync_file_offset(GScanner *scanner)
GLIB_AVAILABLE_IN_ALL gpointer g_scanner_lookup_symbol(GScanner *scanner, const gchar *symbol)
GLIB_AVAILABLE_IN_ALL guint g_scanner_cur_position(GScanner *scanner)
GLIB_AVAILABLE_IN_ALL GTokenValue g_scanner_cur_value(GScanner *scanner)
GLIB_AVAILABLE_IN_ALL void g_scanner_scope_foreach_symbol(GScanner *scanner, guint scope_id, GHFunc func, gpointer user_data)
void(* GScannerMsgFunc)(GScanner *scanner, gchar *message, gboolean error)
GLIB_AVAILABLE_IN_ALL void g_scanner_input_text(GScanner *scanner, const gchar *text, guint text_len)
@ G_TOKEN_IDENTIFIER_NULL
@ G_ERR_UNEXP_EOF_IN_STRING
@ G_ERR_UNEXP_EOF_IN_COMMENT
@ G_ERR_NON_DIGIT_IN_CONST
G_BEGIN_DECLS typedef char gchar
void(* GHFunc)(gpointer key, gpointer value, gpointer user_data)
json_t format(printf, 1, 2)))
static void error(LoadState *S, const char *why)
guint skip_comment_single
gchar * cset_skip_characters
guint scan_identifier_NULL
gchar * cpair_comment_single
gchar * cset_identifier_nth
guint identifier_2_string
guint scan_identifier_1char
gchar * cset_identifier_first
GHashTable * symbol_table
GScannerMsgFunc msg_handler