1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
<title>Ipelib: IpeLex Class Reference</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
7
<!-- Generated by Doxygen 1.5.1 -->
10
<li><a href="index.html"><span>Main Page</span></a></li>
11
<li><a href="modules.html"><span>Modules</span></a></li>
12
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
16
<li><a href="annotated.html"><span>Class List</span></a></li>
17
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
18
<li><a href="functions.html"><span>Class Members</span></a></li>
20
<h1>IpeLex Class Reference<br>
22
[<a class="el" href="group__base.html">Ipe Base</a>]</small>
23
</h1><!-- doxytag: class="IpeLex" -->Lexical analyser. Seeded with a string.
24
<a href="#_details">More...</a>
26
<a href="class_ipe_lex-members.html">List of all members.</a><h2>Public Member Functions</h2>
28
<li><a class="el" href="class_ipe_lex.html#08105c9b6628faa36137d5247d71b091">IpeLex</a> (<a class="el" href="class_ipe_string.html">IpeString</a> str)
29
<li><a class="el" href="class_ipe_string.html">IpeString</a> <a class="el" href="class_ipe_lex.html#ef8b82e9869885d413ac5816b44c625d">Token</a> ()
30
<li><a class="el" href="class_ipe_string.html">IpeString</a> <a class="el" href="class_ipe_lex.html#4115c4998df05bc2734e42b5948628d8">NextToken</a> ()
31
<li>int <a class="el" href="class_ipe_lex.html#56bc1fd2d74fd65ee3a29d3ebbd7c593">GetInt</a> ()
32
<li>int <a class="el" href="class_ipe_lex.html#c3b9614875d8d79865aa52300313dbb1">GetHexByte</a> ()
33
<li><a class="el" href="class_ipe_fixed.html">IpeFixed</a> <a class="el" href="class_ipe_lex.html#7f3a7cbe2852e30e3dcfcd211d7df03f">GetFixed</a> ()
34
<li>unsigned long int <a class="el" href="class_ipe_lex.html#d8467bd8be87c4e6e9e695859acd54b5">GetHexNumber</a> ()
35
<li>double <a class="el" href="class_ipe_lex.html#4464df0c3399bed83b7ccd5a6827a835">GetDouble</a> ()
36
<li>char <a class="el" href="class_ipe_lex.html#7111d2db479f0ef98e84585389128afa">GetChar</a> ()
37
<li>void <a class="el" href="class_ipe_lex.html#c57bd325c4838542e7dddea031dc5657">SkipWhitespace</a> ()
38
<li><a class="el" href="class_ipe_lex.html">IpeLex</a> & <a class="el" href="class_ipe_lex.html#50f4f6fcbf529cea6fe8b043d3e05ec2">operator>></a> (int &i)
39
<li><a class="el" href="class_ipe_lex.html">IpeLex</a> & <a class="el" href="class_ipe_lex.html#9e4f1f99a05fd3df0d8bbd211462afe1">operator>></a> (double &d)
40
<li>void <a class="el" href="class_ipe_lex.html#42bdc77bc886236ed37686e517dec7a1">Mark</a> ()
41
<li>void <a class="el" href="class_ipe_lex.html#eb3f6ebeb9e8f6bcd9e5c190b9341413">FromMark</a> ()
42
<li>bool <a class="el" href="class_ipe_lex.html#e26351dfc30cb55504ab80bc81663b6d">Eos</a> () const
44
<hr><a name="_details"></a><h2>Detailed Description</h2>
45
Lexical analyser. Seeded with a string.
47
<hr><h2>Constructor & Destructor Documentation</h2>
48
<a class="anchor" name="08105c9b6628faa36137d5247d71b091"></a><!-- doxytag: member="IpeLex::IpeLex" ref="08105c9b6628faa36137d5247d71b091" args="(IpeString str)" -->
50
<div class="memproto">
51
<table class="memname">
53
<td class="memname">IpeLex::IpeLex </td>
55
<td class="paramtype"><a class="el" href="class_ipe_string.html">IpeString</a> </td>
56
<td class="paramname"> <em>str</em> </td>
57
<td> ) </td>
58
<td width="100%"><code> [explicit]</code></td>
65
Construct lexical analyzer from a string.
70
<hr><h2>Member Function Documentation</h2>
71
<a class="anchor" name="ef8b82e9869885d413ac5816b44c625d"></a><!-- doxytag: member="IpeLex::Token" ref="ef8b82e9869885d413ac5816b44c625d" args="()" -->
73
<div class="memproto">
74
<table class="memname">
76
<td class="memname"><a class="el" href="class_ipe_string.html">IpeString</a> IpeLex::Token </td>
78
<td class="paramname"> </td>
79
<td> ) </td>
80
<td width="100%"></td>
87
Return NextToken, but without extracting it.
92
<a class="anchor" name="4115c4998df05bc2734e42b5948628d8"></a><!-- doxytag: member="IpeLex::NextToken" ref="4115c4998df05bc2734e42b5948628d8" args="()" -->
94
<div class="memproto">
95
<table class="memname">
97
<td class="memname"><a class="el" href="class_ipe_string.html">IpeString</a> IpeLex::NextToken </td>
99
<td class="paramname"> </td>
100
<td> ) </td>
101
<td width="100%"></td>
110
Skips any whitespace before the token. Returns empty string if end of string is reached.
113
<a class="anchor" name="56bc1fd2d74fd65ee3a29d3ebbd7c593"></a><!-- doxytag: member="IpeLex::GetInt" ref="56bc1fd2d74fd65ee3a29d3ebbd7c593" args="()" -->
114
<div class="memitem">
115
<div class="memproto">
116
<table class="memname">
118
<td class="memname">int IpeLex::GetInt </td>
120
<td class="paramname"> </td>
121
<td> ) </td>
122
<td width="100%"></td>
129
Extract integer token (skipping whitespace).
134
<a class="anchor" name="c3b9614875d8d79865aa52300313dbb1"></a><!-- doxytag: member="IpeLex::GetHexByte" ref="c3b9614875d8d79865aa52300313dbb1" args="()" -->
135
<div class="memitem">
136
<div class="memproto">
137
<table class="memname">
139
<td class="memname">int IpeLex::GetHexByte </td>
141
<td class="paramname"> </td>
142
<td> ) </td>
143
<td width="100%"></td>
150
Extract byte in hex (skipping whitespace).
155
<a class="anchor" name="7f3a7cbe2852e30e3dcfcd211d7df03f"></a><!-- doxytag: member="IpeLex::GetFixed" ref="7f3a7cbe2852e30e3dcfcd211d7df03f" args="()" -->
156
<div class="memitem">
157
<div class="memproto">
158
<table class="memname">
160
<td class="memname"><a class="el" href="class_ipe_fixed.html">IpeFixed</a> IpeLex::GetFixed </td>
162
<td class="paramname"> </td>
163
<td> ) </td>
164
<td width="100%"></td>
171
Extract <a class="el" href="class_ipe_fixed.html">IpeFixed</a> token (skipping whitespace).
176
<a class="anchor" name="d8467bd8be87c4e6e9e695859acd54b5"></a><!-- doxytag: member="IpeLex::GetHexNumber" ref="d8467bd8be87c4e6e9e695859acd54b5" args="()" -->
177
<div class="memitem">
178
<div class="memproto">
179
<table class="memname">
181
<td class="memname">unsigned long int IpeLex::GetHexNumber </td>
183
<td class="paramname"> </td>
184
<td> ) </td>
185
<td width="100%"></td>
192
Extract hexadecimal token (skipping whitespace).
197
<a class="anchor" name="4464df0c3399bed83b7ccd5a6827a835"></a><!-- doxytag: member="IpeLex::GetDouble" ref="4464df0c3399bed83b7ccd5a6827a835" args="()" -->
198
<div class="memitem">
199
<div class="memproto">
200
<table class="memname">
202
<td class="memname">double IpeLex::GetDouble </td>
204
<td class="paramname"> </td>
205
<td> ) </td>
206
<td width="100%"></td>
213
Extract double token (skipping whitespace).
218
<a class="anchor" name="7111d2db479f0ef98e84585389128afa"></a><!-- doxytag: member="IpeLex::GetChar" ref="7111d2db479f0ef98e84585389128afa" args="()" -->
219
<div class="memitem">
220
<div class="memproto">
221
<table class="memname">
223
<td class="memname">char IpeLex::GetChar </td>
225
<td class="paramname"> </td>
226
<td> ) </td>
227
<td width="100%"><code> [inline]</code></td>
234
Extract next character (not skipping anything).
239
<a class="anchor" name="c57bd325c4838542e7dddea031dc5657"></a><!-- doxytag: member="IpeLex::SkipWhitespace" ref="c57bd325c4838542e7dddea031dc5657" args="()" -->
240
<div class="memitem">
241
<div class="memproto">
242
<table class="memname">
244
<td class="memname">void IpeLex::SkipWhitespace </td>
246
<td class="paramname"> </td>
247
<td> ) </td>
248
<td width="100%"></td>
255
Skip over whitespace.
260
<a class="anchor" name="50f4f6fcbf529cea6fe8b043d3e05ec2"></a><!-- doxytag: member="IpeLex::operator>>" ref="50f4f6fcbf529cea6fe8b043d3e05ec2" args="(int &i)" -->
261
<div class="memitem">
262
<div class="memproto">
263
<table class="memname">
265
<td class="memname"><a class="el" href="class_ipe_lex.html">IpeLex</a>& IpeLex::operator>> </td>
267
<td class="paramtype">int & </td>
268
<td class="paramname"> <em>i</em> </td>
269
<td> ) </td>
270
<td width="100%"><code> [inline]</code></td>
277
Operator syntax for <a class="el" href="class_ipe_lex.html#56bc1fd2d74fd65ee3a29d3ebbd7c593">GetInt()</a>.
282
<a class="anchor" name="9e4f1f99a05fd3df0d8bbd211462afe1"></a><!-- doxytag: member="IpeLex::operator>>" ref="9e4f1f99a05fd3df0d8bbd211462afe1" args="(double &d)" -->
283
<div class="memitem">
284
<div class="memproto">
285
<table class="memname">
287
<td class="memname"><a class="el" href="class_ipe_lex.html">IpeLex</a>& IpeLex::operator>> </td>
289
<td class="paramtype">double & </td>
290
<td class="paramname"> <em>d</em> </td>
291
<td> ) </td>
292
<td width="100%"><code> [inline]</code></td>
299
Operator syntax for <a class="el" href="class_ipe_lex.html#4464df0c3399bed83b7ccd5a6827a835">GetDouble()</a>.
304
<a class="anchor" name="42bdc77bc886236ed37686e517dec7a1"></a><!-- doxytag: member="IpeLex::Mark" ref="42bdc77bc886236ed37686e517dec7a1" args="()" -->
305
<div class="memitem">
306
<div class="memproto">
307
<table class="memname">
309
<td class="memname">void IpeLex::Mark </td>
311
<td class="paramname"> </td>
312
<td> ) </td>
313
<td width="100%"><code> [inline]</code></td>
320
Mark the current position.
325
<a class="anchor" name="eb3f6ebeb9e8f6bcd9e5c190b9341413"></a><!-- doxytag: member="IpeLex::FromMark" ref="eb3f6ebeb9e8f6bcd9e5c190b9341413" args="()" -->
326
<div class="memitem">
327
<div class="memproto">
328
<table class="memname">
330
<td class="memname">void IpeLex::FromMark </td>
332
<td class="paramname"> </td>
333
<td> ) </td>
334
<td width="100%"><code> [inline]</code></td>
341
Reset reader to the marked position.
346
<a class="anchor" name="e26351dfc30cb55504ab80bc81663b6d"></a><!-- doxytag: member="IpeLex::Eos" ref="e26351dfc30cb55504ab80bc81663b6d" args="() const" -->
347
<div class="memitem">
348
<div class="memproto">
349
<table class="memname">
351
<td class="memname">bool IpeLex::Eos </td>
353
<td class="paramname"> </td>
354
<td> ) </td>
355
<td width="100%"> const<code> [inline]</code></td>
362
Return true if at end of string (not even whitespace left).
367
<hr>The documentation for this class was generated from the following files:<ul>
368
<li>ipebase.h<li>ipebase.cpp</ul>