36
37
<th width="100%" align="center">GLib Reference Manual</th>
37
38
<td><a accesskey="n" href="glib-Automatic-String-Completion.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
39
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id3137027" class="shortcut">Top</a>
41
<a href="#id3137886" class="shortcut">Description</a></nobr></td></tr>
40
<tr><td colspan="5" class="shortcuts">
41
<a href="#glib-Lexical-Scanner.synopsis" class="shortcut">Top</a>
43
<a href="#glib-Lexical-Scanner.description" class="shortcut">Description</a>
43
46
<div class="refentry" lang="en">
44
47
<a name="glib-Lexical-Scanner"></a><div class="titlepage"></div>
45
48
<div class="refnamediv"><table width="100%"><tr>
48
<a name="id3137027"></a><span class="refentrytitle">Lexical Scanner</span>
50
<p>Lexical Scanner — a general purpose lexical scanner</p>
50
<h2><span class="refentrytitle"><a name="glib-Lexical-Scanner.top_of_page"></a>Lexical Scanner</span></h2>
51
<p>Lexical Scanner — a general purpose lexical scanner</p>
52
53
<td valign="top" align="right"></td>
53
54
</tr></table></div>
54
55
<div class="refsynopsisdiv">
56
<a name="glib-Lexical-Scanner.synopsis"></a><h2>Synopsis</h2>
56
57
<pre class="synopsis">
58
59
#include <glib.h>
61
<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a>;
62
<a class="link" href="glib-Lexical-Scanner.html#GScannerConfig">GScannerConfig</a>;
63
<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a>* <a class="link" href="glib-Lexical-Scanner.html#g-scanner-new">g_scanner_new</a> (const <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig">GScannerConfig</a> *config_templ);
64
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-destroy">g_scanner_destroy</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner);
66
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-input-file">g_scanner_input_file</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
67
<a class="link" href="glib-Basic-Types.html#gint">gint</a> input_fd);
68
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-sync-file-offset">g_scanner_sync_file_offset</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner);
69
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-input-text">g_scanner_input_text</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
70
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *text,
71
<a class="link" href="glib-Basic-Types.html#guint">guint</a> text_len);
72
<a class="link" href="glib-Lexical-Scanner.html#GTokenType">GTokenType</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-peek-next-token">g_scanner_peek_next_token</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner);
73
<a class="link" href="glib-Lexical-Scanner.html#GTokenType">GTokenType</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-get-next-token">g_scanner_get_next_token</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner);
74
<a class="link" href="glib-Basic-Types.html#gboolean">gboolean</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-eof">g_scanner_eof</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner);
76
<a class="link" href="glib-Basic-Types.html#guint">guint</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-cur-line">g_scanner_cur_line</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner);
77
<a class="link" href="glib-Basic-Types.html#guint">guint</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-cur-position">g_scanner_cur_position</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner);
78
<a class="link" href="glib-Lexical-Scanner.html#GTokenType">GTokenType</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-cur-token">g_scanner_cur_token</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner);
79
<a class="link" href="glib-Lexical-Scanner.html#GTokenValue">GTokenValue</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-cur-value">g_scanner_cur_value</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner);
81
<a class="link" href="glib-Basic-Types.html#guint">guint</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-set-scope">g_scanner_set_scope</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
82
<a class="link" href="glib-Basic-Types.html#guint">guint</a> scope_id);
83
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-scope-add-symbol">g_scanner_scope_add_symbol</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
84
<a class="link" href="glib-Basic-Types.html#guint">guint</a> scope_id,
85
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *symbol,
86
<a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> value);
87
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-scope-foreach-symbol">g_scanner_scope_foreach_symbol</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
88
<a class="link" href="glib-Basic-Types.html#guint">guint</a> scope_id,
89
<a class="link" href="glib-Hash-Tables.html#GHFunc">GHFunc</a> func,
90
<a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> user_data);
91
<a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-scope-lookup-symbol">g_scanner_scope_lookup_symbol</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
92
<a class="link" href="glib-Basic-Types.html#guint">guint</a> scope_id,
93
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *symbol);
94
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-scope-remove-symbol">g_scanner_scope_remove_symbol</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
95
<a class="link" href="glib-Basic-Types.html#guint">guint</a> scope_id,
96
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *symbol);
97
#define <a class="link" href="glib-Lexical-Scanner.html#g-scanner-add-symbol">g_scanner_add_symbol</a> ( scanner, symbol, value )
98
#define <a class="link" href="glib-Lexical-Scanner.html#g-scanner-remove-symbol">g_scanner_remove_symbol</a> ( scanner, symbol )
99
#define <a class="link" href="glib-Lexical-Scanner.html#g-scanner-foreach-symbol">g_scanner_foreach_symbol</a> ( scanner, func, data )
101
#define <a class="link" href="glib-Lexical-Scanner.html#g-scanner-freeze-symbol-table">g_scanner_freeze_symbol_table</a> (scanner)
102
#define <a class="link" href="glib-Lexical-Scanner.html#g-scanner-thaw-symbol-table">g_scanner_thaw_symbol_table</a> (scanner)
103
<a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-lookup-symbol">g_scanner_lookup_symbol</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
104
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *symbol);
106
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-warn">g_scanner_warn</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
107
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *format,
109
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-error">g_scanner_error</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
110
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *format,
112
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-unexp-token">g_scanner_unexp_token</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
113
<a class="link" href="glib-Lexical-Scanner.html#GTokenType">GTokenType</a> expected_token,
114
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *identifier_spec,
115
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *symbol_spec,
116
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *symbol_name,
117
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *message,
118
<a class="link" href="glib-Basic-Types.html#gint">gint</a> is_error);
119
void (<a class="link" href="glib-Lexical-Scanner.html#GScannerMsgFunc">*GScannerMsgFunc</a>) (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
120
<a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *message,
121
<a class="link" href="glib-Basic-Types.html#gboolean">gboolean</a> error);
123
#define <a class="link" href="glib-Lexical-Scanner.html#G-CSET-a-2-z">G_CSET_a_2_z</a>
124
#define <a class="link" href="glib-Lexical-Scanner.html#G-CSET-A-2-Z:CAPS">G_CSET_A_2_Z</a>
125
#define <a class="link" href="glib-Lexical-Scanner.html#G-CSET-DIGITS:CAPS">G_CSET_DIGITS</a>
126
#define <a class="link" href="glib-Lexical-Scanner.html#G-CSET-LATINC:CAPS">G_CSET_LATINC</a>
127
#define <a class="link" href="glib-Lexical-Scanner.html#G-CSET-LATINS:CAPS">G_CSET_LATINS</a>
128
enum <a class="link" href="glib-Lexical-Scanner.html#GTokenType">GTokenType</a>;
129
union <a class="link" href="glib-Lexical-Scanner.html#GTokenValue">GTokenValue</a>;
130
enum <a class="link" href="glib-Lexical-Scanner.html#GErrorType">GErrorType</a>;
61
<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a>;
62
<a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="GScannerConfig">GScannerConfig</a>;
63
<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a>* <a class="link" href="glib-Lexical-Scanner.html#g-scanner-new" title="g_scanner_new ()">g_scanner_new</a> (const <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="GScannerConfig">GScannerConfig</a> *config_templ);
64
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-destroy" title="g_scanner_destroy ()">g_scanner_destroy</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner);
66
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-input-file" title="g_scanner_input_file ()">g_scanner_input_file</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
67
<a class="link" href="glib-Basic-Types.html#gint" title="gint">gint</a> input_fd);
68
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-sync-file-offset" title="g_scanner_sync_file_offset ()">g_scanner_sync_file_offset</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner);
69
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-input-text" title="g_scanner_input_text ()">g_scanner_input_text</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
70
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *text,
71
<a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> text_len);
72
<a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType">GTokenType</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-peek-next-token" title="g_scanner_peek_next_token ()">g_scanner_peek_next_token</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner);
73
<a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType">GTokenType</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-get-next-token" title="g_scanner_get_next_token ()">g_scanner_get_next_token</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner);
74
<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean">gboolean</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-eof" title="g_scanner_eof ()">g_scanner_eof</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner);
76
<a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-cur-line" title="g_scanner_cur_line ()">g_scanner_cur_line</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner);
77
<a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-cur-position" title="g_scanner_cur_position ()">g_scanner_cur_position</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner);
78
<a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType">GTokenType</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-cur-token" title="g_scanner_cur_token ()">g_scanner_cur_token</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner);
79
<a class="link" href="glib-Lexical-Scanner.html#GTokenValue" title="union GTokenValue">GTokenValue</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-cur-value" title="g_scanner_cur_value ()">g_scanner_cur_value</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner);
81
<a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-set-scope" title="g_scanner_set_scope ()">g_scanner_set_scope</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
82
<a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> scope_id);
83
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-scope-add-symbol" title="g_scanner_scope_add_symbol ()">g_scanner_scope_add_symbol</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
84
<a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> scope_id,
85
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *symbol,
86
<a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer">gpointer</a> value);
87
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-scope-foreach-symbol" title="g_scanner_scope_foreach_symbol ()">g_scanner_scope_foreach_symbol</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
88
<a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> scope_id,
89
<a class="link" href="glib-Hash-Tables.html#GHFunc" title="GHFunc ()">GHFunc</a> func,
90
<a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer">gpointer</a> user_data);
91
<a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer">gpointer</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-scope-lookup-symbol" title="g_scanner_scope_lookup_symbol ()">g_scanner_scope_lookup_symbol</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
92
<a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> scope_id,
93
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *symbol);
94
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-scope-remove-symbol" title="g_scanner_scope_remove_symbol ()">g_scanner_scope_remove_symbol</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
95
<a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> scope_id,
96
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *symbol);
97
#define <a class="link" href="glib-Lexical-Scanner.html#g-scanner-add-symbol" title="g_scanner_add_symbol()">g_scanner_add_symbol</a> ( scanner, symbol, value )
98
#define <a class="link" href="glib-Lexical-Scanner.html#g-scanner-remove-symbol" title="g_scanner_remove_symbol()">g_scanner_remove_symbol</a> ( scanner, symbol )
99
#define <a class="link" href="glib-Lexical-Scanner.html#g-scanner-foreach-symbol" title="g_scanner_foreach_symbol()">g_scanner_foreach_symbol</a> ( scanner, func, data )
101
#define <a class="link" href="glib-Lexical-Scanner.html#g-scanner-freeze-symbol-table" title="g_scanner_freeze_symbol_table()">g_scanner_freeze_symbol_table</a> (scanner)
102
#define <a class="link" href="glib-Lexical-Scanner.html#g-scanner-thaw-symbol-table" title="g_scanner_thaw_symbol_table()">g_scanner_thaw_symbol_table</a> (scanner)
103
<a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer">gpointer</a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-lookup-symbol" title="g_scanner_lookup_symbol ()">g_scanner_lookup_symbol</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
104
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *symbol);
106
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-warn" title="g_scanner_warn ()">g_scanner_warn</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
107
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *format,
109
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-error" title="g_scanner_error ()">g_scanner_error</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
110
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *format,
112
void <a class="link" href="glib-Lexical-Scanner.html#g-scanner-unexp-token" title="g_scanner_unexp_token ()">g_scanner_unexp_token</a> (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
113
<a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType">GTokenType</a> expected_token,
114
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *identifier_spec,
115
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *symbol_spec,
116
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *symbol_name,
117
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *message,
118
<a class="link" href="glib-Basic-Types.html#gint" title="gint">gint</a> is_error);
119
void (<a class="link" href="glib-Lexical-Scanner.html#GScannerMsgFunc" title="GScannerMsgFunc ()">*GScannerMsgFunc</a>) (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
120
<a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *message,
121
<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean">gboolean</a> error);
123
#define <a class="link" href="glib-Lexical-Scanner.html#G-CSET-a-2-z" title="G_CSET_a_2_z">G_CSET_a_2_z</a>
124
#define <a class="link" href="glib-Lexical-Scanner.html#G-CSET-A-2-Z--CAPS" title="G_CSET_A_2_Z">G_CSET_A_2_Z</a>
125
#define <a class="link" href="glib-Lexical-Scanner.html#G-CSET-DIGITS--CAPS" title="G_CSET_DIGITS">G_CSET_DIGITS</a>
126
#define <a class="link" href="glib-Lexical-Scanner.html#G-CSET-LATINC--CAPS" title="G_CSET_LATINC">G_CSET_LATINC</a>
127
#define <a class="link" href="glib-Lexical-Scanner.html#G-CSET-LATINS--CAPS" title="G_CSET_LATINS">G_CSET_LATINS</a>
128
enum <a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType">GTokenType</a>;
129
union <a class="link" href="glib-Lexical-Scanner.html#GTokenValue" title="union GTokenValue">GTokenValue</a>;
130
enum <a class="link" href="glib-Lexical-Scanner.html#GErrorType" title="enum GErrorType">GErrorType</a>;
133
133
<div class="refsect1" lang="en">
134
<a name="id3137886"></a><h2>Description</h2>
134
<a name="glib-Lexical-Scanner.description"></a><h2>Description</h2>
136
The <a class="link" href="glib-Lexical-Scanner.html#GScanner"><span class="type">GScanner</span></a> and its associated functions provide a general purpose
136
The <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner"><span class="type">GScanner</span></a> and its associated functions provide a general purpose
140
140
<div class="refsect1" lang="en">
141
<a name="id3137915"></a><h2>Details</h2>
141
<a name="glib-Lexical-Scanner.details"></a><h2>Details</h2>
142
142
<div class="refsect2" lang="en">
143
<a name="id3137925"></a><h3>
144
<a name="GScanner"></a>GScanner</h3>
145
<a class="indexterm" name="id3137937"></a><pre class="programlisting">typedef struct {
143
<a name="GScanner"></a><h3>GScanner</h3>
144
<pre class="programlisting">typedef struct {
146
145
/* unused fields */
147
146
gpointer user_data;
148
147
guint max_parse_errors;
201
200
If you want to use your own message handler you can set the
202
201
<em class="structfield"><code>msg_handler</code></em> field. The type of the message
203
handler function is declared by <a class="link" href="glib-Lexical-Scanner.html#GScannerMsgFunc"><span class="type">GScannerMsgFunc</span></a>.
202
handler function is declared by <a class="link" href="glib-Lexical-Scanner.html#GScannerMsgFunc" title="GScannerMsgFunc ()"><span class="type">GScannerMsgFunc</span></a>.
205
204
<div class="variablelist"><table border="0">
206
205
<col align="left" valign="top">
209
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> <em class="structfield"><code>user_data</code></em>;</span></p></td>
214
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint">guint</a> <em class="structfield"><code>max_parse_errors</code></em>;</span></p></td>
219
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint">guint</a> <em class="structfield"><code>parse_errors</code></em>;</span></p></td>
224
<td><p><span class="term">const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *<em class="structfield"><code>input_name</code></em>;</span></p></td>
229
<td><p><span class="term"><a class="link" href="glib-Keyed-Data-Lists.html#GData">GData</a> *<em class="structfield"><code>qdata</code></em>;</span></p></td>
234
<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GScannerConfig">GScannerConfig</a> *<em class="structfield"><code>config</code></em>;</span></p></td>
239
<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GTokenType">GTokenType</a> <em class="structfield"><code>token</code></em>;</span></p></td>
240
<td> token parsed by the last <a class="link" href="glib-Lexical-Scanner.html#g-scanner-get-next-token"><code class="function">g_scanner_get_next_token()</code></a>
244
<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GTokenValue">GTokenValue</a> <em class="structfield"><code>value</code></em>;</span></p></td>
245
<td> value of the last token from <a class="link" href="glib-Lexical-Scanner.html#g-scanner-get-next-token"><code class="function">g_scanner_get_next_token()</code></a>
249
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint">guint</a> <em class="structfield"><code>line</code></em>;</span></p></td>
250
<td> line number of the last token from <a class="link" href="glib-Lexical-Scanner.html#g-scanner-get-next-token"><code class="function">g_scanner_get_next_token()</code></a>
254
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint">guint</a> <em class="structfield"><code>position</code></em>;</span></p></td>
255
<td> char number of the last token from <a class="link" href="glib-Lexical-Scanner.html#g-scanner-get-next-token"><code class="function">g_scanner_get_next_token()</code></a>
259
<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GTokenType">GTokenType</a> <em class="structfield"><code>next_token</code></em>;</span></p></td>
260
<td> token parsed by the last <a class="link" href="glib-Lexical-Scanner.html#g-scanner-peek-next-token"><code class="function">g_scanner_peek_next_token()</code></a>
264
<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GTokenValue">GTokenValue</a> <em class="structfield"><code>next_value</code></em>;</span></p></td>
265
<td> value of the last token from <a class="link" href="glib-Lexical-Scanner.html#g-scanner-peek-next-token"><code class="function">g_scanner_peek_next_token()</code></a>
269
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint">guint</a> <em class="structfield"><code>next_line</code></em>;</span></p></td>
270
<td> line number of the last token from <a class="link" href="glib-Lexical-Scanner.html#g-scanner-peek-next-token"><code class="function">g_scanner_peek_next_token()</code></a>
274
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint">guint</a> <em class="structfield"><code>next_position</code></em>;</span></p></td>
275
<td>char number of the last token from <a class="link" href="glib-Lexical-Scanner.html#g-scanner-peek-next-token"><code class="function">g_scanner_peek_next_token()</code></a>
279
<td><p><span class="term"><a class="link" href="glib-Hash-Tables.html#GHashTable">GHashTable</a> *<em class="structfield"><code>symbol_table</code></em>;</span></p></td>
284
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gint">gint</a> <em class="structfield"><code>input_fd</code></em>;</span></p></td>
289
<td><p><span class="term">const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *<em class="structfield"><code>text</code></em>;</span></p></td>
294
<td><p><span class="term">const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *<em class="structfield"><code>text_end</code></em>;</span></p></td>
299
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *<em class="structfield"><code>buffer</code></em>;</span></p></td>
304
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint">guint</a> <em class="structfield"><code>scope_id</code></em>;</span></p></td>
309
<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GScannerMsgFunc">GScannerMsgFunc</a> <em class="structfield"><code>msg_handler</code></em>;</span></p></td>
208
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer">gpointer</a> <em class="structfield"><code>user_data</code></em>;</span></p></td>
213
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> <em class="structfield"><code>max_parse_errors</code></em>;</span></p></td>
218
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> <em class="structfield"><code>parse_errors</code></em>;</span></p></td>
223
<td><p><span class="term">const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *<em class="structfield"><code>input_name</code></em>;</span></p></td>
228
<td><p><span class="term"><a class="link" href="glib-Keyed-Data-Lists.html#GData" title="GData">GData</a> *<em class="structfield"><code>qdata</code></em>;</span></p></td>
233
<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="GScannerConfig">GScannerConfig</a> *<em class="structfield"><code>config</code></em>;</span></p></td>
238
<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType">GTokenType</a> <em class="structfield"><code>token</code></em>;</span></p></td>
239
<td> token parsed by the last <a class="link" href="glib-Lexical-Scanner.html#g-scanner-get-next-token" title="g_scanner_get_next_token ()"><code class="function">g_scanner_get_next_token()</code></a>
243
<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GTokenValue" title="union GTokenValue">GTokenValue</a> <em class="structfield"><code>value</code></em>;</span></p></td>
244
<td> value of the last token from <a class="link" href="glib-Lexical-Scanner.html#g-scanner-get-next-token" title="g_scanner_get_next_token ()"><code class="function">g_scanner_get_next_token()</code></a>
248
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> <em class="structfield"><code>line</code></em>;</span></p></td>
249
<td> line number of the last token from <a class="link" href="glib-Lexical-Scanner.html#g-scanner-get-next-token" title="g_scanner_get_next_token ()"><code class="function">g_scanner_get_next_token()</code></a>
253
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> <em class="structfield"><code>position</code></em>;</span></p></td>
254
<td> char number of the last token from <a class="link" href="glib-Lexical-Scanner.html#g-scanner-get-next-token" title="g_scanner_get_next_token ()"><code class="function">g_scanner_get_next_token()</code></a>
258
<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType">GTokenType</a> <em class="structfield"><code>next_token</code></em>;</span></p></td>
259
<td> token parsed by the last <a class="link" href="glib-Lexical-Scanner.html#g-scanner-peek-next-token" title="g_scanner_peek_next_token ()"><code class="function">g_scanner_peek_next_token()</code></a>
263
<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GTokenValue" title="union GTokenValue">GTokenValue</a> <em class="structfield"><code>next_value</code></em>;</span></p></td>
264
<td> value of the last token from <a class="link" href="glib-Lexical-Scanner.html#g-scanner-peek-next-token" title="g_scanner_peek_next_token ()"><code class="function">g_scanner_peek_next_token()</code></a>
268
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> <em class="structfield"><code>next_line</code></em>;</span></p></td>
269
<td> line number of the last token from <a class="link" href="glib-Lexical-Scanner.html#g-scanner-peek-next-token" title="g_scanner_peek_next_token ()"><code class="function">g_scanner_peek_next_token()</code></a>
273
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> <em class="structfield"><code>next_position</code></em>;</span></p></td>
274
<td>char number of the last token from <a class="link" href="glib-Lexical-Scanner.html#g-scanner-peek-next-token" title="g_scanner_peek_next_token ()"><code class="function">g_scanner_peek_next_token()</code></a>
278
<td><p><span class="term"><a class="link" href="glib-Hash-Tables.html#GHashTable" title="GHashTable">GHashTable</a> *<em class="structfield"><code>symbol_table</code></em>;</span></p></td>
283
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gint" title="gint">gint</a> <em class="structfield"><code>input_fd</code></em>;</span></p></td>
288
<td><p><span class="term">const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *<em class="structfield"><code>text</code></em>;</span></p></td>
293
<td><p><span class="term">const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *<em class="structfield"><code>text_end</code></em>;</span></p></td>
298
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *<em class="structfield"><code>buffer</code></em>;</span></p></td>
303
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint">guint</a> <em class="structfield"><code>scope_id</code></em>;</span></p></td>
308
<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GScannerMsgFunc" title="GScannerMsgFunc ()">GScannerMsgFunc</a> <em class="structfield"><code>msg_handler</code></em>;</span></p></td>
310
309
<td>function to handle GScanner message output
387
384
<em class="structfield"><code>case_sensitive</code></em> specifies if symbols are
388
case sensitive (the default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>).
385
case sensitive (the default is <a class="link" href="glib-Standard-Macros.html#FALSE--CAPS" title="FALSE"><code class="literal">FALSE</code></a>).
391
388
<em class="structfield"><code>skip_comment_multi</code></em> specifies if multi-line
392
comments are skipped and not returned as tokens (the default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>).
389
comments are skipped and not returned as tokens (the default is <a class="link" href="glib-Standard-Macros.html#TRUE--CAPS" title="TRUE"><code class="literal">TRUE</code></a>).
395
392
<em class="structfield"><code>skip_comment_single</code></em> specifies if single-line
396
comments are skipped and not returned as tokens (the default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>).
393
comments are skipped and not returned as tokens (the default is <a class="link" href="glib-Standard-Macros.html#TRUE--CAPS" title="TRUE"><code class="literal">TRUE</code></a>).
399
396
<em class="structfield"><code>scan_comment_multi</code></em> specifies if multi-line
400
comments are recognized (the default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>).
397
comments are recognized (the default is <a class="link" href="glib-Standard-Macros.html#TRUE--CAPS" title="TRUE"><code class="literal">TRUE</code></a>).
403
400
<em class="structfield"><code>scan_identifier</code></em> specifies if identifiers
404
are recognized (the default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>).
401
are recognized (the default is <a class="link" href="glib-Standard-Macros.html#TRUE--CAPS" title="TRUE"><code class="literal">TRUE</code></a>).
407
404
<em class="structfield"><code>scan_identifier_1char</code></em> specifies if single-character
408
identifiers are recognized (the default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>).
405
identifiers are recognized (the default is <a class="link" href="glib-Standard-Macros.html#FALSE--CAPS" title="FALSE"><code class="literal">FALSE</code></a>).
411
<em class="structfield"><code>scan_identifier_NULL</code></em> specifies if
408
<em class="structfield"><code>scan_identifier_NULL</code></em> specifies if
412
409
<code class="literal">NULL</code> is reported as <span class="type">G_TOKEN_IDENTIFIER_NULL</span>.
413
(the default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>).
410
(the default is <a class="link" href="glib-Standard-Macros.html#FALSE--CAPS" title="FALSE"><code class="literal">FALSE</code></a>).
416
413
<em class="structfield"><code>scan_symbols</code></em> specifies if symbols are
417
recognized (the default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>).
414
recognized (the default is <a class="link" href="glib-Standard-Macros.html#TRUE--CAPS" title="TRUE"><code class="literal">TRUE</code></a>).
420
417
<em class="structfield"><code>scan_binary</code></em> specifies if binary numbers
421
are recognized (the default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>).
418
are recognized (the default is <a class="link" href="glib-Standard-Macros.html#FALSE--CAPS" title="FALSE"><code class="literal">FALSE</code></a>).
424
421
<em class="structfield"><code>scan_octal</code></em> specifies if octal numbers
425
are recognized (the default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>).
422
are recognized (the default is <a class="link" href="glib-Standard-Macros.html#TRUE--CAPS" title="TRUE"><code class="literal">TRUE</code></a>).
428
425
<em class="structfield"><code>scan_float</code></em> specifies if floating point numbers
429
are recognized (the default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>).
426
are recognized (the default is <a class="link" href="glib-Standard-Macros.html#TRUE--CAPS" title="TRUE"><code class="literal">TRUE</code></a>).
432
429
<em class="structfield"><code>scan_hex</code></em> specifies if hexadecimal numbers
433
are recognized (the default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>).
430
are recognized (the default is <a class="link" href="glib-Standard-Macros.html#TRUE--CAPS" title="TRUE"><code class="literal">TRUE</code></a>).
436
433
<em class="structfield"><code>scan_hex_dollar</code></em> specifies if '$' is recognized
437
as a prefix for hexadecimal numbers (the default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>).
434
as a prefix for hexadecimal numbers (the default is <a class="link" href="glib-Standard-Macros.html#FALSE--CAPS" title="FALSE"><code class="literal">FALSE</code></a>).
440
437
<em class="structfield"><code>scan_string_sq</code></em> specifies if strings can be
441
enclosed in single quotes (the default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>).
438
enclosed in single quotes (the default is <a class="link" href="glib-Standard-Macros.html#TRUE--CAPS" title="TRUE"><code class="literal">TRUE</code></a>).
444
441
<em class="structfield"><code>scan_string_dq</code></em> specifies if strings can be
445
enclosed in double quotes (the default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>).
442
enclosed in double quotes (the default is <a class="link" href="glib-Standard-Macros.html#TRUE--CAPS" title="TRUE"><code class="literal">TRUE</code></a>).
448
445
<em class="structfield"><code>numbers_2_int</code></em> specifies if binary, octal and
449
hexadecimal numbers are reported as <span class="type">G_TOKEN_INT</span> (the default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>).
446
hexadecimal numbers are reported as <span class="type">G_TOKEN_INT</span> (the default is <a class="link" href="glib-Standard-Macros.html#TRUE--CAPS" title="TRUE"><code class="literal">TRUE</code></a>).
452
<em class="structfield"><code>int_2_float</code></em> specifies if all numbers are
453
reported as <span class="type">G_TOKEN_FLOAT</span> (the default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>).
449
<em class="structfield"><code>int_2_float</code></em> specifies if all numbers are
450
reported as <span class="type">G_TOKEN_FLOAT</span> (the default is <a class="link" href="glib-Standard-Macros.html#FALSE--CAPS" title="FALSE"><code class="literal">FALSE</code></a>).
456
453
<em class="structfield"><code>identifier_2_string</code></em> specifies if identifiers
457
are reported as strings (the default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>).
454
are reported as strings (the default is <a class="link" href="glib-Standard-Macros.html#FALSE--CAPS" title="FALSE"><code class="literal">FALSE</code></a>).
460
457
<em class="structfield"><code>char_2_token</code></em> specifies if characters
461
are reported by setting <code class="literal">token = ch</code> or as <span class="type">G_TOKEN_CHAR</span>
462
(the default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>).
458
are reported by setting <code class="literal">token = ch</code> or as <span class="type">G_TOKEN_CHAR</span>
459
(the default is <a class="link" href="glib-Standard-Macros.html#TRUE--CAPS" title="TRUE"><code class="literal">TRUE</code></a>).
465
<em class="structfield"><code>symbol_2_token</code></em> specifies if symbols
462
<em class="structfield"><code>symbol_2_token</code></em> specifies if symbols
466
463
are reported by setting <code class="literal">token = v_symbol</code> or as
467
<span class="type">G_TOKEN_SYMBOL</span> (the default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>).
464
<span class="type">G_TOKEN_SYMBOL</span> (the default is <a class="link" href="glib-Standard-Macros.html#FALSE--CAPS" title="FALSE"><code class="literal">FALSE</code></a>).
470
<em class="structfield"><code>scope_0_fallback</code></em> specifies if a symbol
467
<em class="structfield"><code>scope_0_fallback</code></em> specifies if a symbol
471
468
is searched for in the default scope in addition to the current scope
472
(the default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>).
469
(the default is <a class="link" href="glib-Standard-Macros.html#FALSE--CAPS" title="FALSE"><code class="literal">FALSE</code></a>).
476
473
<div class="refsect2" lang="en">
477
<a name="id3139138"></a><h3>
478
<a name="g-scanner-new"></a>g_scanner_new ()</h3>
479
<a class="indexterm" name="id3139151"></a><pre class="programlisting"><a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a>* g_scanner_new (const <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig">GScannerConfig</a> *config_templ);</pre>
474
<a name="g-scanner-new"></a><h3>g_scanner_new ()</h3>
475
<pre class="programlisting"><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a>* g_scanner_new (const <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="GScannerConfig">GScannerConfig</a> *config_templ);</pre>
481
Creates a new <a class="link" href="glib-Lexical-Scanner.html#GScanner"><span class="type">GScanner</span></a>.
477
Creates a new <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner"><span class="type">GScanner</span></a>.
482
478
The <em class="parameter"><code>config_templ</code></em> structure specifies the initial settings of the scanner,
483
which are copied into the <a class="link" href="glib-Lexical-Scanner.html#GScanner"><span class="type">GScanner</span></a> <em class="structfield"><code>config</code></em> field.
484
If you pass <a class="link" href="glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then the default settings are used.
479
which are copied into the <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner"><span class="type">GScanner</span></a> <em class="structfield"><code>config</code></em> field.
480
If you pass <a class="link" href="glib-Standard-Macros.html#NULL--CAPS" title="NULL"><code class="literal">NULL</code></a> then the default settings are used.
486
482
<div class="variablelist"><table border="0">
487
483
<col align="left" valign="top">
490
<td><p><span class="term"><em class="parameter"><code>config_templ</code></em> :</span></p></td>
486
<td><p><span class="term"><em class="parameter"><code>config_templ</code></em> :</span></p></td>
491
487
<td>the initial scanner settings.
495
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
496
<td>the new <a class="link" href="glib-Lexical-Scanner.html#GScanner"><span class="type">GScanner</span></a>.
491
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
492
<td>the new <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner"><span class="type">GScanner</span></a>.
1126
1066
<div class="variablelist"><table border="0">
1127
1067
<col align="left" valign="top">
1129
<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td>
1130
<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner"><span class="type">GScanner</span></a>.
1069
<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td>
1070
<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner"><span class="type">GScanner</span></a>.
1136
1076
<div class="refsect2" lang="en">
1137
<a name="id3141417"></a><h3>
1138
<a name="g-scanner-lookup-symbol"></a>g_scanner_lookup_symbol ()</h3>
1139
<a class="indexterm" name="id3141430"></a><pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> g_scanner_lookup_symbol (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
1140
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *symbol);</pre>
1077
<a name="g-scanner-lookup-symbol"></a><h3>g_scanner_lookup_symbol ()</h3>
1078
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer">gpointer</a> g_scanner_lookup_symbol (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
1079
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *symbol);</pre>
1142
1081
Looks up a symbol in the current scope and return its value. If the
1143
symbol is not bound in the current scope, <a class="link" href="glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned.
1082
symbol is not bound in the current scope, <a class="link" href="glib-Standard-Macros.html#NULL--CAPS" title="NULL"><code class="literal">NULL</code></a> is returned.
1145
1084
<div class="variablelist"><table border="0">
1146
1085
<col align="left" valign="top">
1149
<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td>
1150
<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner"><span class="type">GScanner</span></a>.
1088
<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td>
1089
<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner"><span class="type">GScanner</span></a>.
1154
<td><p><span class="term"><em class="parameter"><code>symbol</code></em> :</span></p></td>
1093
<td><p><span class="term"><em class="parameter"><code>symbol</code></em> :</span></p></td>
1155
1094
<td>the symbol to look up.
1159
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1160
<td>the value of <em class="parameter"><code>symbol</code></em> in the current scope, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
1098
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1099
<td>the value of <em class="parameter"><code>symbol</code></em> in the current scope, or <a class="link" href="glib-Standard-Macros.html#NULL--CAPS" title="NULL"><code class="literal">NULL</code></a>
1161
1100
if <em class="parameter"><code>symbol</code></em> is not bound in the current scope.
1170
<div class="refsect2" lang="en">
1171
<a name="id3141552"></a><h3>
1172
<a name="g-scanner-warn"></a>g_scanner_warn ()</h3>
1173
<a class="indexterm" name="id3141564"></a><pre class="programlisting">void g_scanner_warn (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
1174
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *format,
1177
Outputs a warning message, via the <a class="link" href="glib-Lexical-Scanner.html#GScanner"><span class="type">GScanner</span></a> message handler.
1179
<div class="variablelist"><table border="0">
1180
<col align="left" valign="top">
1183
<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td>
1184
<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner"><span class="type">GScanner</span></a>.
1188
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
1189
<td>the message format. See the <code class="function"><code class="function">printf()</code></code>
1194
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
1195
<td>the parameters to insert into the format string.
1204
<div class="refsect2" lang="en">
1205
<a name="id3141681"></a><h3>
1206
<a name="g-scanner-error"></a>g_scanner_error ()</h3>
1207
<a class="indexterm" name="id3141694"></a><pre class="programlisting">void g_scanner_error (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
1208
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *format,
1211
Outputs an error message, via the <a class="link" href="glib-Lexical-Scanner.html#GScanner"><span class="type">GScanner</span></a> message handler.
1213
<div class="variablelist"><table border="0">
1214
<col align="left" valign="top">
1217
<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td>
1218
<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner"><span class="type">GScanner</span></a>.
1222
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
1223
<td>the message format. See the <code class="function"><code class="function">printf()</code></code>
1228
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
1229
<td>the parameters to insert into the format string.
1238
<div class="refsect2" lang="en">
1239
<a name="id3141808"></a><h3>
1240
<a name="g-scanner-unexp-token"></a>g_scanner_unexp_token ()</h3>
1241
<a class="indexterm" name="id3141821"></a><pre class="programlisting">void g_scanner_unexp_token (<a class="link" href="glib-Lexical-Scanner.html#GScanner">GScanner</a> *scanner,
1242
<a class="link" href="glib-Lexical-Scanner.html#GTokenType">GTokenType</a> expected_token,
1243
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *identifier_spec,
1244
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *symbol_spec,
1245
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *symbol_name,
1246
const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *message,
1247
<a class="link" href="glib-Basic-Types.html#gint">gint</a> is_error);</pre>
1107
<div class="refsect2" lang="en">
1108
<a name="g-scanner-warn"></a><h3>g_scanner_warn ()</h3>
1109
<pre class="programlisting">void g_scanner_warn (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
1110
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *format,
1113
Outputs a warning message, via the <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner"><span class="type">GScanner</span></a> message handler.
1115
<div class="variablelist"><table border="0">
1116
<col align="left" valign="top">
1119
<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td>
1120
<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner"><span class="type">GScanner</span></a>.
1124
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
1125
<td>the message format. See the <code class="function"><code class="function">printf()</code></code>
1130
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
1131
<td>the parameters to insert into the format string.
1138
<div class="refsect2" lang="en">
1139
<a name="g-scanner-error"></a><h3>g_scanner_error ()</h3>
1140
<pre class="programlisting">void g_scanner_error (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
1141
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *format,
1144
Outputs an error message, via the <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner"><span class="type">GScanner</span></a> message handler.
1146
<div class="variablelist"><table border="0">
1147
<col align="left" valign="top">
1150
<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td>
1151
<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner"><span class="type">GScanner</span></a>.
1155
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
1156
<td>the message format. See the <code class="function"><code class="function">printf()</code></code>
1161
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
1162
<td>the parameters to insert into the format string.
1169
<div class="refsect2" lang="en">
1170
<a name="g-scanner-unexp-token"></a><h3>g_scanner_unexp_token ()</h3>
1171
<pre class="programlisting">void g_scanner_unexp_token (<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="GScanner">GScanner</a> *scanner,
1172
<a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType">GTokenType</a> expected_token,
1173
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *identifier_spec,
1174
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *symbol_spec,
1175
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *symbol_name,
1176
const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar">gchar</a> *message,
1177
<a class="link" href="glib-Basic-Types.html#gint" title="gint">gint</a> is_error);</pre>
1249
1179
Outputs a message through the scanner's msg_handler, resulting from an
1250
1180
unexpected token in the input stream.
1251
Note that you should not call <a class="link" href="glib-Lexical-Scanner.html#g-scanner-peek-next-token"><code class="function">g_scanner_peek_next_token()</code></a> followed by
1252
<a class="link" href="glib-Lexical-Scanner.html#g-scanner-unexp-token"><code class="function">g_scanner_unexp_token()</code></a> without an intermediate call to
1253
<a class="link" href="glib-Lexical-Scanner.html#g-scanner-get-next-token"><code class="function">g_scanner_get_next_token()</code></a>, as <a class="link" href="glib-Lexical-Scanner.html#g-scanner-unexp-token"><code class="function">g_scanner_unexp_token()</code></a> evaluates the
1181
Note that you should not call <a class="link" href="glib-Lexical-Scanner.html#g-scanner-peek-next-token" title="g_scanner_peek_next_token ()"><code class="function">g_scanner_peek_next_token()</code></a> followed by
1182
<a class="link" href="glib-Lexical-Scanner.html#g-scanner-unexp-token" title="g_scanner_unexp_token ()"><code class="function">g_scanner_unexp_token()</code></a> without an intermediate call to
1183
<a class="link" href="glib-Lexical-Scanner.html#g-scanner-get-next-token" title="g_scanner_get_next_token ()"><code class="function">g_scanner_get_next_token()</code></a>, as <a class="link" href="glib-Lexical-Scanner.html#g-scanner-unexp-token" title="g_scanner_unexp_token ()"><code class="function">g_scanner_unexp_token()</code></a> evaluates the
1254
1184
scanner's current token (not the peeked token) to construct part
1255
1185
of the message.
1344
1268
<div class="refsect2" lang="en">
1345
<a name="id3142294"></a><h3>
1346
<a name="G-CSET-a-2-z"></a>G_CSET_a_2_z</h3>
1347
<a class="indexterm" name="id3142307"></a><pre class="programlisting">#define G_CSET_a_2_z "abcdefghijklmnopqrstuvwxyz"
1269
<a name="G-CSET-a-2-z"></a><h3>G_CSET_a_2_z</h3>
1270
<pre class="programlisting">#define G_CSET_a_2_z "abcdefghijklmnopqrstuvwxyz"
1350
1273
The set of lowercase ASCII alphabet characters.
1351
Used for specifying valid identifier characters in <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig"><span class="type">GScannerConfig</span></a>.
1274
Used for specifying valid identifier characters in <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="GScannerConfig"><span class="type">GScannerConfig</span></a>.
1355
1278
<div class="refsect2" lang="en">
1356
<a name="id3142332"></a><h3>
1357
<a name="G-CSET-A-2-Z:CAPS"></a>G_CSET_A_2_Z</h3>
1358
<a class="indexterm" name="id3142345"></a><pre class="programlisting">#define G_CSET_A_2_Z "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
1279
<a name="G-CSET-A-2-Z--CAPS"></a><h3>G_CSET_A_2_Z</h3>
1280
<pre class="programlisting">#define G_CSET_A_2_Z "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
1361
1283
The set of uppercase ASCII alphabet characters.
1362
Used for specifying valid identifier characters in <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig"><span class="type">GScannerConfig</span></a>.
1284
Used for specifying valid identifier characters in <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="GScannerConfig"><span class="type">GScannerConfig</span></a>.
1366
1288
<div class="refsect2" lang="en">
1367
<a name="id3142370"></a><h3>
1368
<a name="G-CSET-DIGITS:CAPS"></a>G_CSET_DIGITS</h3>
1369
<a class="indexterm" name="id3142383"></a><pre class="programlisting">#define G_CSET_DIGITS "0123456789"
1289
<a name="G-CSET-DIGITS--CAPS"></a><h3>G_CSET_DIGITS</h3>
1290
<pre class="programlisting">#define G_CSET_DIGITS "0123456789"
1372
1293
The set of digits.
1373
Used for specifying valid identifier characters in <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig"><span class="type">GScannerConfig</span></a>.
1377
<div class="refsect2" lang="en">
1378
<a name="id3142407"></a><h3>
1379
<a name="G-CSET-LATINC:CAPS"></a>G_CSET_LATINC</h3>
1380
<a class="indexterm" name="id3142420"></a><pre class="programlisting">#define G_CSET_LATINC</pre>
1382
The set of uppercase ISO 8859-1 alphabet characters which are
1383
not ASCII characters.
1384
Used for specifying valid identifier characters in <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig"><span class="type">GScannerConfig</span></a>.
1388
<div class="refsect2" lang="en">
1389
<a name="id3142446"></a><h3>
1390
<a name="G-CSET-LATINS:CAPS"></a>G_CSET_LATINS</h3>
1391
<a class="indexterm" name="id3142459"></a><pre class="programlisting">#define G_CSET_LATINS</pre>
1393
The set of lowercase ISO 8859-1 alphabet characters which are
1394
not ASCII characters.
1395
Used for specifying valid identifier characters in <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig"><span class="type">GScannerConfig</span></a>.
1399
<div class="refsect2" lang="en">
1400
<a name="id3142484"></a><h3>
1401
<a name="GTokenType"></a>enum GTokenType</h3>
1402
<a class="indexterm" name="id3142497"></a><pre class="programlisting">typedef enum
1294
Used for specifying valid identifier characters in <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="GScannerConfig"><span class="type">GScannerConfig</span></a>.
1298
<div class="refsect2" lang="en">
1299
<a name="G-CSET-LATINC--CAPS"></a><h3>G_CSET_LATINC</h3>
1300
<pre class="programlisting">#define G_CSET_LATINC</pre>
1302
The set of uppercase ISO 8859-1 alphabet characters which are
1303
not ASCII characters.
1304
Used for specifying valid identifier characters in <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="GScannerConfig"><span class="type">GScannerConfig</span></a>.
1308
<div class="refsect2" lang="en">
1309
<a name="G-CSET-LATINS--CAPS"></a><h3>G_CSET_LATINS</h3>
1310
<pre class="programlisting">#define G_CSET_LATINS</pre>
1312
The set of lowercase ISO 8859-1 alphabet characters which are
1313
not ASCII characters.
1314
Used for specifying valid identifier characters in <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="GScannerConfig"><span class="type">GScannerConfig</span></a>.
1318
<div class="refsect2" lang="en">
1319
<a name="GTokenType"></a><h3>enum GTokenType</h3>
1320
<pre class="programlisting">typedef enum
1404
1322
G_TOKEN_EOF = 0,