diff options
Diffstat (limited to 'gtk+-mingw/share/gtk-doc/html/glib/glib-Lexical-Scanner.html')
-rw-r--r-- | gtk+-mingw/share/gtk-doc/html/glib/glib-Lexical-Scanner.html | 1465 |
1 files changed, 0 insertions, 1465 deletions
diff --git a/gtk+-mingw/share/gtk-doc/html/glib/glib-Lexical-Scanner.html b/gtk+-mingw/share/gtk-doc/html/glib/glib-Lexical-Scanner.html deleted file mode 100644 index 4fbf2f1..0000000 --- a/gtk+-mingw/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +++ /dev/null @@ -1,1465 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Lexical Scanner</title> -<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> -<link rel="home" href="index.html" title="GLib Reference Manual"> -<link rel="up" href="glib-utilities.html" title="GLib Utilities"> -<link rel="prev" href="glib-Miscellaneous-Utility-Functions.html" title="Miscellaneous Utility Functions"> -<link rel="next" href="glib-Timers.html" title="Timers"> -<meta name="generator" content="GTK-Doc V1.18 (XML mode)"> -<link rel="stylesheet" href="style.css" type="text/css"> -</head> -<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> -<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> -<tr valign="middle"> -<td><a accesskey="p" href="glib-Miscellaneous-Utility-Functions.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> -<td><a accesskey="u" href="glib-utilities.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> -<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> -<th width="100%" align="center">GLib Reference Manual</th> -<td><a accesskey="n" href="glib-Timers.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> -</tr> -<tr><td colspan="5" class="shortcuts"> -<a href="#glib-Lexical-Scanner.synopsis" class="shortcut">Top</a> - | - <a href="#glib-Lexical-Scanner.description" class="shortcut">Description</a> -</td></tr> -</table> -<div class="refentry"> -<a name="glib-Lexical-Scanner"></a><div class="titlepage"></div> -<div class="refnamediv"><table width="100%"><tr> -<td valign="top"> -<h2><span class="refentrytitle"><a name="glib-Lexical-Scanner.top_of_page"></a>Lexical Scanner</span></h2> -<p>Lexical Scanner — a general purpose lexical scanner</p> -</td> -<td valign="top" align="right"></td> -</tr></table></div> -<div class="refsynopsisdiv"> -<a name="glib-Lexical-Scanner.synopsis"></a><h2>Synopsis</h2> -<pre class="synopsis"> -#include <glib.h> - -struct <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner">GScanner</a>; -struct <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="struct GScannerConfig">GScannerConfig</a>; -<a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="returnvalue">GScanner</span></a> * <a class="link" href="glib-Lexical-Scanner.html#g-scanner-new" title="g_scanner_new ()">g_scanner_new</a> (<em class="parameter"><code>const <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="struct GScannerConfig"><span class="type">GScannerConfig</span></a> *config_templ</code></em>); -<span class="returnvalue">void</span> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-destroy" title="g_scanner_destroy ()">g_scanner_destroy</a> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>); - -<span class="returnvalue">void</span> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-input-file" title="g_scanner_input_file ()">g_scanner_input_file</a> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> input_fd</code></em>); -<span class="returnvalue">void</span> <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> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>); -<span class="returnvalue">void</span> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-input-text" title="g_scanner_input_text ()">g_scanner_input_text</a> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *text</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> text_len</code></em>); -<a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType"><span class="returnvalue">GTokenType</span></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> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>); -<a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType"><span class="returnvalue">GTokenType</span></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> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>); -<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-eof" title="g_scanner_eof ()">g_scanner_eof</a> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>); - -<a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-cur-line" title="g_scanner_cur_line ()">g_scanner_cur_line</a> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>); -<a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-cur-position" title="g_scanner_cur_position ()">g_scanner_cur_position</a> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>); -<a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType"><span class="returnvalue">GTokenType</span></a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-cur-token" title="g_scanner_cur_token ()">g_scanner_cur_token</a> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>); -<a class="link" href="glib-Lexical-Scanner.html#GTokenValue" title="union GTokenValue"><span class="returnvalue">GTokenValue</span></a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-cur-value" title="g_scanner_cur_value ()">g_scanner_cur_value</a> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>); - -<a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-set-scope" title="g_scanner_set_scope ()">g_scanner_set_scope</a> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> scope_id</code></em>); -<span class="returnvalue">void</span> <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> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> scope_id</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *symbol</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> value</code></em>); -<span class="returnvalue">void</span> <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> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> scope_id</code></em>, - <em class="parameter"><code><a class="link" href="glib-Hash-Tables.html#GHFunc" title="GHFunc ()"><span class="type">GHFunc</span></a> func</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> user_data</code></em>); -<a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></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> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> scope_id</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *symbol</code></em>); -<span class="returnvalue">void</span> <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> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> scope_id</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *symbol</code></em>); -#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) -#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) -#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) - -#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) -#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) -<a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-lookup-symbol" title="g_scanner_lookup_symbol ()">g_scanner_lookup_symbol</a> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *symbol</code></em>); - -<span class="returnvalue">void</span> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-warn" title="g_scanner_warn ()">g_scanner_warn</a> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>, - <em class="parameter"><code>...</code></em>); -<span class="returnvalue">void</span> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-error" title="g_scanner_error ()">g_scanner_error</a> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>, - <em class="parameter"><code>...</code></em>); -<span class="returnvalue">void</span> <a class="link" href="glib-Lexical-Scanner.html#g-scanner-unexp-token" title="g_scanner_unexp_token ()">g_scanner_unexp_token</a> (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType"><span class="type">GTokenType</span></a> expected_token</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *identifier_spec</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *symbol_spec</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *symbol_name</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *message</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> is_error</code></em>); -<span class="returnvalue">void</span> (<a class="link" href="glib-Lexical-Scanner.html#GScannerMsgFunc" title="GScannerMsgFunc ()">*GScannerMsgFunc</a>) (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *message</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> error</code></em>); - -#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> -#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> -#define <a class="link" href="glib-Lexical-Scanner.html#G-CSET-DIGITS:CAPS" title="G_CSET_DIGITS">G_CSET_DIGITS</a> -#define <a class="link" href="glib-Lexical-Scanner.html#G-CSET-LATINC:CAPS" title="G_CSET_LATINC">G_CSET_LATINC</a> -#define <a class="link" href="glib-Lexical-Scanner.html#G-CSET-LATINS:CAPS" title="G_CSET_LATINS">G_CSET_LATINS</a> -enum <a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType">GTokenType</a>; -union <a class="link" href="glib-Lexical-Scanner.html#GTokenValue" title="union GTokenValue">GTokenValue</a>; -enum <a class="link" href="glib-Lexical-Scanner.html#GErrorType" title="enum GErrorType">GErrorType</a>; -</pre> -</div> -<div class="refsect1"> -<a name="glib-Lexical-Scanner.description"></a><h2>Description</h2> -<p> -The <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> and its associated functions provide a -general purpose lexical scanner. -</p> -</div> -<div class="refsect1"> -<a name="glib-Lexical-Scanner.details"></a><h2>Details</h2> -<div class="refsect2"> -<a name="GScanner"></a><h3>struct GScanner</h3> -<pre class="programlisting">struct GScanner { - /* unused fields */ - gpointer user_data; - guint max_parse_errors; - - /* g_scanner_error() increments this field */ - guint parse_errors; - - /* name of input stream, featured by the default message handler */ - const gchar *input_name; - - /* quarked data */ - GData *qdata; - - /* link into the scanner configuration */ - GScannerConfig *config; - - /* fields filled in after g_scanner_get_next_token() */ - GTokenType token; - GTokenValue value; - guint line; - guint position; - - /* fields filled in after g_scanner_peek_next_token() */ - GTokenType next_token; - GTokenValue next_value; - guint next_line; - guint next_position; - - /* handler function for _warn and _error */ - GScannerMsgFunc msg_handler; -}; -</pre> -<p> -The data structure representing a lexical scanner. -</p> -<p> -You should set <em class="parameter"><code>input_name</code></em> after creating the scanner, since -it is used by the default message handler when displaying -warnings and errors. If you are scanning a file, the filename -would be a good choice. -</p> -<p> -The <em class="parameter"><code>user_data</code></em> and <em class="parameter"><code>max_parse_errors</code></em> fields are not used. -If you need to associate extra data with the scanner you -can place them here. -</p> -<p> -If you want to use your own message handler you can set the -<em class="parameter"><code>msg_handler</code></em> field. The type of the message handler function -is declared by <a class="link" href="glib-Lexical-Scanner.html#GScannerMsgFunc" title="GScannerMsgFunc ()"><span class="type">GScannerMsgFunc</span></a>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GScanner.user-data"></a>user_data</code></em>;</span></p></td> -<td>unused</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScanner.max-parse-errors"></a>max_parse_errors</code></em>;</span></p></td> -<td>unused</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScanner.parse-errors"></a>parse_errors</code></em>;</span></p></td> -<td>g_scanner_error() increments this field</td> -</tr> -<tr> -<td><p><span class="term">const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GScanner.input-name"></a>input_name</code></em>;</span></p></td> -<td>name of input stream, featured by the default message handler</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Keyed-Data-Lists.html#GData" title="GData"><span class="type">GData</span></a> *<em class="structfield"><code><a name="GScanner.qdata"></a>qdata</code></em>;</span></p></td> -<td>quarked data</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="struct GScannerConfig"><span class="type">GScannerConfig</span></a> *<em class="structfield"><code><a name="GScanner.config"></a>config</code></em>;</span></p></td> -<td>link into the scanner configuration</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType"><span class="type">GTokenType</span></a> <em class="structfield"><code><a name="GScanner.token"></a>token</code></em>;</span></p></td> -<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> -</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GTokenValue" title="union GTokenValue"><span class="type">GTokenValue</span></a> <em class="structfield"><code><a name="GScanner.value"></a>value</code></em>;</span></p></td> -<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> -</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScanner.line"></a>line</code></em>;</span></p></td> -<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> -</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScanner.position"></a>position</code></em>;</span></p></td> -<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> -</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType"><span class="type">GTokenType</span></a> <em class="structfield"><code><a name="GScanner.next-token"></a>next_token</code></em>;</span></p></td> -<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> -</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GTokenValue" title="union GTokenValue"><span class="type">GTokenValue</span></a> <em class="structfield"><code><a name="GScanner.next-value"></a>next_value</code></em>;</span></p></td> -<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> -</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScanner.next-line"></a>next_line</code></em>;</span></p></td> -<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> -</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScanner.next-position"></a>next_position</code></em>;</span></p></td> -<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> -</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Lexical-Scanner.html#GScannerMsgFunc" title="GScannerMsgFunc ()"><span class="type">GScannerMsgFunc</span></a> <em class="structfield"><code><a name="GScanner.msg-handler"></a>msg_handler</code></em>;</span></p></td> -<td>handler function for _warn and _error</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="GScannerConfig"></a><h3>struct GScannerConfig</h3> -<pre class="programlisting">struct GScannerConfig { - /* Character sets - */ - gchar *cset_skip_characters; /* default: " \t\n" */ - gchar *cset_identifier_first; - gchar *cset_identifier_nth; - gchar *cpair_comment_single; /* default: "#\n" */ - - /* Should symbol lookup work case sensitive? - */ - guint case_sensitive : 1; - - /* Boolean values to be adjusted "on the fly" - * to configure scanning behaviour. - */ - guint skip_comment_multi : 1; /* C like comment */ - guint skip_comment_single : 1; /* single line comment */ - guint scan_comment_multi : 1; /* scan multi line comments? */ - 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; /* `0x0ff0' */ - guint scan_hex_dollar : 1; /* `$0ff0' */ - guint scan_string_sq : 1; /* string: 'anything' */ - guint scan_string_dq : 1; /* string: "\\-escapes!\n" */ - guint numbers_2_int : 1; /* bin, octal, hex => int */ - guint int_2_float : 1; /* int => G_TOKEN_FLOAT? */ - guint identifier_2_string : 1; - guint char_2_token : 1; /* return G_TOKEN_CHAR? */ - guint symbol_2_token : 1; - guint scope_0_fallback : 1; /* try scope 0 on lookups? */ - guint store_int64 : 1; /* use value.v_int64 rather than v_int */ -}; -</pre> -<p> -Specifies the <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> parser configuration. Most settings can -be changed during the parsing phase and will affect the lexical -parsing of the next unpeeked token. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GScannerConfig.cset-skip-characters"></a>cset_skip_characters</code></em>;</span></p></td> -<td>specifies which characters should be skipped -by the scanner (the default is the whitespace characters: space, -tab, carriage-return and line-feed).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GScannerConfig.cset-identifier-first"></a>cset_identifier_first</code></em>;</span></p></td> -<td>specifies the characters which can start -identifiers (the default is <a class="link" href="glib-Lexical-Scanner.html#G-CSET-a-2-z" title="G_CSET_a_2_z"><span class="type">G_CSET_a_2_z</span></a>, "_", and <a class="link" href="glib-Lexical-Scanner.html#G-CSET-A-2-Z:CAPS" title="G_CSET_A_2_Z"><span class="type">G_CSET_A_2_Z</span></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GScannerConfig.cset-identifier-nth"></a>cset_identifier_nth</code></em>;</span></p></td> -<td>specifies the characters which can be used -in identifiers, after the first character (the default is -<a class="link" href="glib-Lexical-Scanner.html#G-CSET-a-2-z" title="G_CSET_a_2_z"><span class="type">G_CSET_a_2_z</span></a>, "_0123456789", <a class="link" href="glib-Lexical-Scanner.html#G-CSET-A-2-Z:CAPS" title="G_CSET_A_2_Z"><span class="type">G_CSET_A_2_Z</span></a>, <a class="link" href="glib-Lexical-Scanner.html#G-CSET-LATINS:CAPS" title="G_CSET_LATINS"><span class="type">G_CSET_LATINS</span></a>, -<a class="link" href="glib-Lexical-Scanner.html#G-CSET-LATINC:CAPS" title="G_CSET_LATINC"><span class="type">G_CSET_LATINC</span></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GScannerConfig.cpair-comment-single"></a>cpair_comment_single</code></em>;</span></p></td> -<td>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).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.case-sensitive"></a>case_sensitive</code></em> : 1;</span></p></td> -<td>specifies if symbols are case sensitive (the -default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.skip-comment-multi"></a>skip_comment_multi</code></em> : 1;</span></p></td> -<td>specifies if multi-line 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>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.skip-comment-single"></a>skip_comment_single</code></em> : 1;</span></p></td> -<td>specifies if single-line 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>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.scan-comment-multi"></a>scan_comment_multi</code></em> : 1;</span></p></td> -<td>specifies if multi-line comments are recognized -(the default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.scan-identifier"></a>scan_identifier</code></em> : 1;</span></p></td> -<td>specifies if identifiers are recognized (the -default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.scan-identifier-1char"></a>scan_identifier_1char</code></em> : 1;</span></p></td> -<td>specifies if single-character -identifiers are recognized (the default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.scan-identifier-NULL"></a>scan_identifier_NULL</code></em> : 1;</span></p></td> -<td>specifies if <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> is reported as -<code class="literal">G_TOKEN_IDENTIFIER_NULL</code> (the default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.scan-symbols"></a>scan_symbols</code></em> : 1;</span></p></td> -<td>specifies if symbols are recognized (the default -is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.scan-binary"></a>scan_binary</code></em> : 1;</span></p></td> -<td>specifies if binary numbers are recognized (the -default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.scan-octal"></a>scan_octal</code></em> : 1;</span></p></td> -<td>specifies if octal numbers are recognized (the -default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.scan-float"></a>scan_float</code></em> : 1;</span></p></td> -<td>specifies if floating point numbers are recognized -(the default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.scan-hex"></a>scan_hex</code></em> : 1;</span></p></td> -<td>specifies if hexadecimal numbers are recognized (the -default is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.scan-hex-dollar"></a>scan_hex_dollar</code></em> : 1;</span></p></td> -<td>specifies if '$' is recognized 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>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.scan-string-sq"></a>scan_string_sq</code></em> : 1;</span></p></td> -<td>specifies if strings can be 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>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.scan-string-dq"></a>scan_string_dq</code></em> : 1;</span></p></td> -<td>specifies if strings can be 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>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.numbers-2-int"></a>numbers_2_int</code></em> : 1;</span></p></td> -<td>specifies if binary, octal and 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>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.int-2-float"></a>int_2_float</code></em> : 1;</span></p></td> -<td>specifies if all numbers are reported as <code class="literal">G_TOKEN_FLOAT</code> -(the default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.identifier-2-string"></a>identifier_2_string</code></em> : 1;</span></p></td> -<td>specifies if identifiers 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>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.char-2-token"></a>char_2_token</code></em> : 1;</span></p></td> -<td>specifies if characters are reported by setting -<code class="literal">token = ch</code> or as <code class="literal">G_TOKEN_CHAR</code> (the default -is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.symbol-2-token"></a>symbol_2_token</code></em> : 1;</span></p></td> -<td>specifies if symbols are reported by setting -<code class="literal">token = v_symbol</code> or as <code class="literal">G_TOKEN_SYMBOL</code> (the -default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.scope-0-fallback"></a>scope_0_fallback</code></em> : 1;</span></p></td> -<td>specifies if a symbol is searched for in the -default scope in addition to the current scope (the default is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>).</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GScannerConfig.store-int64"></a>store_int64</code></em> : 1;</span></p></td> -<td>use value.v_int64 rather than v_int</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-new"></a><h3>g_scanner_new ()</h3> -<pre class="programlisting"><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="returnvalue">GScanner</span></a> * g_scanner_new (<em class="parameter"><code>const <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="struct GScannerConfig"><span class="type">GScannerConfig</span></a> *config_templ</code></em>);</pre> -<p> -Creates a new <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a>. -</p> -<p> -The <em class="parameter"><code>config_templ</code></em> structure specifies the initial settings -of the scanner, which are copied into the <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -<em class="parameter"><code>config</code></em> field. 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. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>config_templ</code></em> :</span></p></td> -<td>the initial scanner settings</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the new <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-destroy"></a><h3>g_scanner_destroy ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> g_scanner_destroy (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>);</pre> -<p> -Frees all memory used by the <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody><tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr></tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-input-file"></a><h3>g_scanner_input_file ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> g_scanner_input_file (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> input_fd</code></em>);</pre> -<p> -Prepares to scan a file. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>input_fd</code></em> :</span></p></td> -<td>a file descriptor</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-sync-file-offset"></a><h3>g_scanner_sync_file_offset ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> g_scanner_sync_file_offset (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>);</pre> -<p> -Rewinds the filedescriptor to the current buffer position -and blows the file read ahead buffer. This is useful for -third party uses of the scanners filedescriptor, which hooks -onto the current scanning position. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody><tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr></tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-input-text"></a><h3>g_scanner_input_text ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> g_scanner_input_text (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *text</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> text_len</code></em>);</pre> -<p> -Prepares to scan a text buffer. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td> -<td>the text buffer to scan</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>text_len</code></em> :</span></p></td> -<td>the length of the text buffer</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-peek-next-token"></a><h3>g_scanner_peek_next_token ()</h3> -<pre class="programlisting"><a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType"><span class="returnvalue">GTokenType</span></a> g_scanner_peek_next_token (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>);</pre> -<p> -Parses the next token, without removing it from the input stream. -The token data is placed in the <em class="parameter"><code>next_token</code></em>, <em class="parameter"><code>next_value</code></em>, <em class="parameter"><code>next_line</code></em>, -and <em class="parameter"><code>next_position</code></em> fields of the <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> structure. -</p> -<p> -Note that, while the token is not removed from the input stream -(i.e. the next call to <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> will return the -same token), it will not be reevaluated. This can lead to surprising -results when changing scope or the scanner configuration after peeking -the next token. Getting the next token after switching the scope or -configuration will return whatever was peeked before, regardless of -any symbols that may have been added or removed in the new scope. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the type of the token</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-get-next-token"></a><h3>g_scanner_get_next_token ()</h3> -<pre class="programlisting"><a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType"><span class="returnvalue">GTokenType</span></a> g_scanner_get_next_token (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>);</pre> -<p> -Parses the next token just like <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> -and also removes it from the input stream. The token data is -placed in the <em class="parameter"><code>token</code></em>, <em class="parameter"><code>value</code></em>, <em class="parameter"><code>line</code></em>, and <em class="parameter"><code>position</code></em> fields of -the <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> structure. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the type of the token</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-eof"></a><h3>g_scanner_eof ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_scanner_eof (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>);</pre> -<p> -Returns <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the scanner has reached the end of -the file or text buffer. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td> -<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the scanner has reached the end of -the file or text buffer</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-cur-line"></a><h3>g_scanner_cur_line ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_scanner_cur_line (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>);</pre> -<p> -Returns the current line in the input stream (counting -from 1). This is the line of the last token parsed via -<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>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the current line</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-cur-position"></a><h3>g_scanner_cur_position ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_scanner_cur_position (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>);</pre> -<p> -Returns the current position in the current line (counting -from 0). This is the position of the last token parsed via -<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>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the current position on the line</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-cur-token"></a><h3>g_scanner_cur_token ()</h3> -<pre class="programlisting"><a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType"><span class="returnvalue">GTokenType</span></a> g_scanner_cur_token (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>);</pre> -<p> -Gets the current token type. This is simply the <em class="parameter"><code>token</code></em> -field in the <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> structure. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the current token type</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-cur-value"></a><h3>g_scanner_cur_value ()</h3> -<pre class="programlisting"><a class="link" href="glib-Lexical-Scanner.html#GTokenValue" title="union GTokenValue"><span class="returnvalue">GTokenValue</span></a> g_scanner_cur_value (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>);</pre> -<p> -Gets the current token value. This is simply the <em class="parameter"><code>value</code></em> -field in the <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> structure. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the current token value</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-set-scope"></a><h3>g_scanner_set_scope ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_scanner_set_scope (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> scope_id</code></em>);</pre> -<p> -Sets the current scope. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>scope_id</code></em> :</span></p></td> -<td>the new scope id</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the old scope id</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-scope-add-symbol"></a><h3>g_scanner_scope_add_symbol ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> g_scanner_scope_add_symbol (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> scope_id</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *symbol</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> value</code></em>);</pre> -<p> -Adds a symbol to the given scope. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>scope_id</code></em> :</span></p></td> -<td>the scope id</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>symbol</code></em> :</span></p></td> -<td>the symbol to add</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td> -<td>the value of the symbol</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-scope-foreach-symbol"></a><h3>g_scanner_scope_foreach_symbol ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> g_scanner_scope_foreach_symbol (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> scope_id</code></em>, - <em class="parameter"><code><a class="link" href="glib-Hash-Tables.html#GHFunc" title="GHFunc ()"><span class="type">GHFunc</span></a> func</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre> -<p> -Calls the given function for each of the symbol/value pairs -in the given scope of the <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a>. The function is passed -the symbol and value of each pair, and the given <em class="parameter"><code>user_data</code></em> -parameter. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>scope_id</code></em> :</span></p></td> -<td>the scope id</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td> -<td>the function to call for each symbol/value pair</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> -<td>user data to pass to the function</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-scope-lookup-symbol"></a><h3>g_scanner_scope_lookup_symbol ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> g_scanner_scope_lookup_symbol (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> scope_id</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *symbol</code></em>);</pre> -<p> -Looks up a symbol in a scope and return its value. If the -symbol is not bound in the scope, <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> is returned. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>scope_id</code></em> :</span></p></td> -<td>the scope id</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>symbol</code></em> :</span></p></td> -<td>the symbol to look up</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the value of <em class="parameter"><code>symbol</code></em> in the given scope, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> -if <em class="parameter"><code>symbol</code></em> is not bound in the given scope.</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-scope-remove-symbol"></a><h3>g_scanner_scope_remove_symbol ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> g_scanner_scope_remove_symbol (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> scope_id</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *symbol</code></em>);</pre> -<p> -Removes a symbol from a scope. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>scope_id</code></em> :</span></p></td> -<td>the scope id</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>symbol</code></em> :</span></p></td> -<td>the symbol to remove</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-add-symbol"></a><h3>g_scanner_add_symbol()</h3> -<pre class="programlisting">#define g_scanner_add_symbol( scanner, symbol, value )</pre> -<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"> -<h3 class="title">Warning</h3> -<p><code class="literal">g_scanner_add_symbol</code> has been deprecated since version 2.2 and should not be used in newly-written code. Use <a class="link" href="glib-Lexical-Scanner.html#g-scanner-scope-add-symbol" title="g_scanner_scope_add_symbol ()"><code class="function">g_scanner_scope_add_symbol()</code></a> instead.</p> -</div> -<p> -Adds a symbol to the default scope. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>symbol</code></em> :</span></p></td> -<td>the symbol to add</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td> -<td>the value of the symbol</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-remove-symbol"></a><h3>g_scanner_remove_symbol()</h3> -<pre class="programlisting">#define g_scanner_remove_symbol( scanner, symbol )</pre> -<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"> -<h3 class="title">Warning</h3> -<p><code class="literal">g_scanner_remove_symbol</code> has been deprecated since version 2.2 and should not be used in newly-written code. Use <a class="link" href="glib-Lexical-Scanner.html#g-scanner-scope-remove-symbol" title="g_scanner_scope_remove_symbol ()"><code class="function">g_scanner_scope_remove_symbol()</code></a> instead.</p> -</div> -<p> -Removes a symbol from the default scope. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>symbol</code></em> :</span></p></td> -<td>the symbol to remove</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-foreach-symbol"></a><h3>g_scanner_foreach_symbol()</h3> -<pre class="programlisting">#define g_scanner_foreach_symbol( scanner, func, data )</pre> -<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"> -<h3 class="title">Warning</h3> -<p><code class="literal">g_scanner_foreach_symbol</code> has been deprecated since version 2.2 and should not be used in newly-written code. Use <a class="link" href="glib-Lexical-Scanner.html#g-scanner-scope-foreach-symbol" title="g_scanner_scope_foreach_symbol ()"><code class="function">g_scanner_scope_foreach_symbol()</code></a> instead.</p> -</div> -<p> -Calls a function for each symbol in the default scope. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td> -<td>the function to call with each symbol</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td> -<td>data to pass to the function</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-freeze-symbol-table"></a><h3>g_scanner_freeze_symbol_table()</h3> -<pre class="programlisting">#define g_scanner_freeze_symbol_table(scanner)</pre> -<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"> -<h3 class="title">Warning</h3> -<p><code class="literal">g_scanner_freeze_symbol_table</code> has been deprecated since version 2.2 and should not be used in newly-written code. This macro does nothing.</p> -</div> -<p> -There is no reason to use this macro, since it does nothing. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody><tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr></tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-thaw-symbol-table"></a><h3>g_scanner_thaw_symbol_table()</h3> -<pre class="programlisting">#define g_scanner_thaw_symbol_table(scanner)</pre> -<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"> -<h3 class="title">Warning</h3> -<p><code class="literal">g_scanner_thaw_symbol_table</code> has been deprecated since version 2.2 and should not be used in newly-written code. This macro does nothing.</p> -</div> -<p> -There is no reason to use this macro, since it does nothing. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody><tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr></tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-lookup-symbol"></a><h3>g_scanner_lookup_symbol ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> g_scanner_lookup_symbol (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *symbol</code></em>);</pre> -<p> -Looks up a symbol in the current scope and return its value. -If the 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. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>symbol</code></em> :</span></p></td> -<td>the symbol to look up</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<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> -if <em class="parameter"><code>symbol</code></em> is not bound in the current scope</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-warn"></a><h3>g_scanner_warn ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> g_scanner_warn (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>, - <em class="parameter"><code>...</code></em>);</pre> -<p> -Outputs a warning message, via the <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> message handler. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td> -<td>the message format. See the <code class="function">printf()</code> documentation</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td> -<td>the parameters to insert into the format string</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-error"></a><h3>g_scanner_error ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> g_scanner_error (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>, - <em class="parameter"><code>...</code></em>);</pre> -<p> -Outputs an error message, via the <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> message handler. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td> -<td>the message format. See the <code class="function">printf()</code> documentation</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td> -<td>the parameters to insert into the format string</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-scanner-unexp-token"></a><h3>g_scanner_unexp_token ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> g_scanner_unexp_token (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GTokenType" title="enum GTokenType"><span class="type">GTokenType</span></a> expected_token</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *identifier_spec</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *symbol_spec</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *symbol_name</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *message</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> is_error</code></em>);</pre> -<p> -Outputs a message through the scanner's msg_handler, -resulting from an unexpected token in the input stream. -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 <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 <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 scanner's current token (not the peeked token) -to construct part of the message. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>expected_token</code></em> :</span></p></td> -<td>the expected token</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>identifier_spec</code></em> :</span></p></td> -<td>a string describing how the scanner's user -refers to identifiers (<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> defaults to "identifier"). -This is used if <em class="parameter"><code>expected_token</code></em> is <code class="literal">G_TOKEN_IDENTIFIER</code> or -<code class="literal">G_TOKEN_IDENTIFIER_NULL</code>.</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>symbol_spec</code></em> :</span></p></td> -<td>a string describing how the scanner's user refers -to symbols (<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> defaults to "symbol"). This is used if -<em class="parameter"><code>expected_token</code></em> is <code class="literal">G_TOKEN_SYMBOL</code> or any token value greater -than <code class="literal">G_TOKEN_LAST</code>.</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>symbol_name</code></em> :</span></p></td> -<td>the name of the symbol, if the scanner's current -token is a symbol.</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td> -<td>a message string to output at the end of the -warning/error, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>.</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>is_error</code></em> :</span></p></td> -<td>if <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> it is output as an error. If <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> it is -output as a warning.</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="GScannerMsgFunc"></a><h3>GScannerMsgFunc ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> (*GScannerMsgFunc) (<em class="parameter"><code><a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> *scanner</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *message</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> error</code></em>);</pre> -<p> -Specifies the type of the message handler function. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>scanner</code></em> :</span></p></td> -<td>a <a class="link" href="glib-Lexical-Scanner.html#GScanner" title="struct GScanner"><span class="type">GScanner</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td> -<td>the message</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> -<td> -<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the message signals an error, -<a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> if it signals a warning.</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="G-CSET-a-2-z"></a><h3>G_CSET_a_2_z</h3> -<pre class="programlisting">#define G_CSET_a_2_z "abcdefghijklmnopqrstuvwxyz" -</pre> -<p> -The set of lowercase ASCII alphabet characters. -Used for specifying valid identifier characters -in <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="struct GScannerConfig"><span class="type">GScannerConfig</span></a>. -</p> -</div> -<hr> -<div class="refsect2"> -<a name="G-CSET-A-2-Z:CAPS"></a><h3>G_CSET_A_2_Z</h3> -<pre class="programlisting">#define G_CSET_A_2_Z "ABCDEFGHIJKLMNOPQRSTUVWXYZ" -</pre> -<p> -The set of uppercase ASCII alphabet characters. -Used for specifying valid identifier characters -in <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="struct GScannerConfig"><span class="type">GScannerConfig</span></a>. -</p> -</div> -<hr> -<div class="refsect2"> -<a name="G-CSET-DIGITS:CAPS"></a><h3>G_CSET_DIGITS</h3> -<pre class="programlisting">#define G_CSET_DIGITS "0123456789" -</pre> -</div> -<hr> -<div class="refsect2"> -<a name="G-CSET-LATINC:CAPS"></a><h3>G_CSET_LATINC</h3> -<pre class="programlisting">#define G_CSET_LATINC</pre> -<p> -The set of uppercase ISO 8859-1 alphabet characters -which are not ASCII characters. -Used for specifying valid identifier characters -in <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="struct GScannerConfig"><span class="type">GScannerConfig</span></a>. -</p> -</div> -<hr> -<div class="refsect2"> -<a name="G-CSET-LATINS:CAPS"></a><h3>G_CSET_LATINS</h3> -<pre class="programlisting">#define G_CSET_LATINS</pre> -<p> -The set of lowercase ISO 8859-1 alphabet characters -which are not ASCII characters. -Used for specifying valid identifier characters -in <a class="link" href="glib-Lexical-Scanner.html#GScannerConfig" title="struct GScannerConfig"><span class="type">GScannerConfig</span></a>. -</p> -</div> -<hr> -<div class="refsect2"> -<a name="GTokenType"></a><h3>enum GTokenType</h3> -<pre class="programlisting">typedef enum { - G_TOKEN_EOF = 0, - - G_TOKEN_LEFT_PAREN = '(', - G_TOKEN_RIGHT_PAREN = ')', - G_TOKEN_LEFT_CURLY = '{', - G_TOKEN_RIGHT_CURLY = '}', - G_TOKEN_LEFT_BRACE = '[', - G_TOKEN_RIGHT_BRACE = ']', - G_TOKEN_EQUAL_SIGN = '=', - G_TOKEN_COMMA = ',', - - G_TOKEN_NONE = 256, - - G_TOKEN_ERROR, - - G_TOKEN_CHAR, - G_TOKEN_BINARY, - G_TOKEN_OCTAL, - G_TOKEN_INT, - G_TOKEN_HEX, - G_TOKEN_FLOAT, - G_TOKEN_STRING, - - G_TOKEN_SYMBOL, - G_TOKEN_IDENTIFIER, - G_TOKEN_IDENTIFIER_NULL, - - G_TOKEN_COMMENT_SINGLE, - G_TOKEN_COMMENT_MULTI, -} GTokenType; -</pre> -<p> -The possible types of token returned from each -<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> call. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><a name="G-TOKEN-EOF:CAPS"></a><span class="term"><code class="literal">G_TOKEN_EOF</code></span></p></td> -<td>the end of the file -</td> -</tr> -<tr> -<td><p><a name="G-TOKEN-LEFT-PAREN:CAPS"></a><span class="term"><code class="literal">G_TOKEN_LEFT_PAREN</code></span></p></td> -<td>a '(' character -</td> -</tr> -<tr> -<td><p><a name="G-TOKEN-RIGHT-PAREN:CAPS"></a><span class="term"><code class="literal">G_TOKEN_RIGHT_PAREN</code></span></p></td> -<td>a ')' character -</td> -</tr> -<tr> -<td><p><a name="G-TOKEN-LEFT-CURLY:CAPS"></a><span class="term"><code class="literal">G_TOKEN_LEFT_CURLY</code></span></p></td> -<td>a '{' character -</td> -</tr> -<tr> -<td><p><a name="G-TOKEN-RIGHT-CURLY:CAPS"></a><span class="term"><code class="literal">G_TOKEN_RIGHT_CURLY</code></span></p></td> -<td>a '}' character -</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="GTokenValue"></a><h3>union GTokenValue</h3> -<pre class="programlisting">union _GTokenValue -{ - gpointer v_symbol; - gchar *v_identifier; - gulong v_binary; - gulong v_octal; - gulong v_int; - guint64 v_int64; - gdouble v_float; - gulong v_hex; - gchar *v_string; - gchar *v_comment; - guchar v_char; - guint v_error; -}; -</pre> -<p> -A union holding the value of the token. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GTokenValue.v-symbol"></a>v_symbol</code></em>;</span></p></td> -<td>token symbol value</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GTokenValue.v-identifier"></a>v_identifier</code></em>;</span></p></td> -<td>token identifier value</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gulong" title="gulong"><span class="type">gulong</span></a> <em class="structfield"><code><a name="GTokenValue.v-binary"></a>v_binary</code></em>;</span></p></td> -<td>token binary integer value</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gulong" title="gulong"><span class="type">gulong</span></a> <em class="structfield"><code><a name="GTokenValue.v-octal"></a>v_octal</code></em>;</span></p></td> -<td>octal integer value</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gulong" title="gulong"><span class="type">gulong</span></a> <em class="structfield"><code><a name="GTokenValue.v-int"></a>v_int</code></em>;</span></p></td> -<td>integer value</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint64" title="guint64"><span class="type">guint64</span></a> <em class="structfield"><code><a name="GTokenValue.v-int64"></a>v_int64</code></em>;</span></p></td> -<td>64-bit integer value</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="GTokenValue.v-float"></a>v_float</code></em>;</span></p></td> -<td>floating point value</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gulong" title="gulong"><span class="type">gulong</span></a> <em class="structfield"><code><a name="GTokenValue.v-hex"></a>v_hex</code></em>;</span></p></td> -<td>hex integer value</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GTokenValue.v-string"></a>v_string</code></em>;</span></p></td> -<td>string value</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GTokenValue.v-comment"></a>v_comment</code></em>;</span></p></td> -<td>comment value</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a> <em class="structfield"><code><a name="GTokenValue.v-char"></a>v_char</code></em>;</span></p></td> -<td>character value</td> -</tr> -<tr> -<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GTokenValue.v-error"></a>v_error</code></em>;</span></p></td> -<td>error value</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="GErrorType"></a><h3>enum GErrorType</h3> -<pre class="programlisting">typedef enum { - G_ERR_UNKNOWN, - G_ERR_UNEXP_EOF, - G_ERR_UNEXP_EOF_IN_STRING, - G_ERR_UNEXP_EOF_IN_COMMENT, - G_ERR_NON_DIGIT_IN_CONST, - G_ERR_DIGIT_RADIX, - G_ERR_FLOAT_RADIX, - G_ERR_FLOAT_MALFORMED -} GErrorType; -</pre> -<p> -The possible errors, used in the <em class="parameter"><code>v_error</code></em> field -of <a class="link" href="glib-Lexical-Scanner.html#GTokenValue" title="union GTokenValue"><span class="type">GTokenValue</span></a>, when the token is a <code class="literal">G_TOKEN_ERROR</code>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><a name="G-ERR-UNKNOWN:CAPS"></a><span class="term"><code class="literal">G_ERR_UNKNOWN</code></span></p></td> -<td>unknown error -</td> -</tr> -<tr> -<td><p><a name="G-ERR-UNEXP-EOF:CAPS"></a><span class="term"><code class="literal">G_ERR_UNEXP_EOF</code></span></p></td> -<td>unexpected end of file -</td> -</tr> -<tr> -<td><p><a name="G-ERR-UNEXP-EOF-IN-STRING:CAPS"></a><span class="term"><code class="literal">G_ERR_UNEXP_EOF_IN_STRING</code></span></p></td> -<td>unterminated string constant -</td> -</tr> -<tr> -<td><p><a name="G-ERR-UNEXP-EOF-IN-COMMENT:CAPS"></a><span class="term"><code class="literal">G_ERR_UNEXP_EOF_IN_COMMENT</code></span></p></td> -<td>unterminated comment -</td> -</tr> -<tr> -<td><p><a name="G-ERR-NON-DIGIT-IN-CONST:CAPS"></a><span class="term"><code class="literal">G_ERR_NON_DIGIT_IN_CONST</code></span></p></td> -<td>non-digit character in a number -</td> -</tr> -<tr> -<td><p><a name="G-ERR-DIGIT-RADIX:CAPS"></a><span class="term"><code class="literal">G_ERR_DIGIT_RADIX</code></span></p></td> -<td>digit beyond radix in a number -</td> -</tr> -<tr> -<td><p><a name="G-ERR-FLOAT-RADIX:CAPS"></a><span class="term"><code class="literal">G_ERR_FLOAT_RADIX</code></span></p></td> -<td>non-decimal floating point number -</td> -</tr> -<tr> -<td><p><a name="G-ERR-FLOAT-MALFORMED:CAPS"></a><span class="term"><code class="literal">G_ERR_FLOAT_MALFORMED</code></span></p></td> -<td>malformed floating point number -</td> -</tr> -</tbody> -</table></div> -</div> -</div> -</div> -<div class="footer"> -<hr> - Generated by GTK-Doc V1.18</div> -</body> -</html>
\ No newline at end of file |