hc
2023-11-06 15ade055295d13f95d49e3d99b09f3bbfb4a43e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
 
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Free Software" and "Free Software Needs
Free Documentation", with the Front-Cover Texts being "A GNU Manual,"
and with the Back-Cover Texts as in (a) below.
 
(a) The FSF's Back-Cover Text is: "You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Debugging with GDB: Built-In Func/Proc</title>
 
<meta name="description" content="Debugging with GDB: Built-In Func/Proc">
<meta name="keywords" content="Debugging with GDB: Built-In Func/Proc">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Modula_002d2.html#Modula_002d2" rel="up" title="Modula-2">
<link href="M2-Constants.html#M2-Constants" rel="next" title="M2 Constants">
<link href="M2-Operators.html#M2-Operators" rel="previous" title="M2 Operators">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
 
 
</head>
 
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Built_002dIn-Func_002fProc"></a>
<div class="header">
<p>
Next: <a href="M2-Constants.html#M2-Constants" accesskey="n" rel="next">M2 Constants</a>, Previous: <a href="M2-Operators.html#M2-Operators" accesskey="p" rel="previous">M2 Operators</a>, Up: <a href="Modula_002d2.html#Modula_002d2" accesskey="u" rel="up">Modula-2</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Built_002din-Functions-and-Procedures"></a>
<h4 class="subsubsection">15.4.9.2 Built-in Functions and Procedures</h4>
<a name="index-Modula_002d2-built_002dins"></a>
 
<p>Modula-2 also makes available several built-in procedures and functions.
In describing these, the following metavariables are used:
</p>
<dl compact="compact">
<dt><var>a</var></dt>
<dd><p>represents an <code>ARRAY</code> variable.
</p>
</dd>
<dt><var>c</var></dt>
<dd><p>represents a <code>CHAR</code> constant or variable.
</p>
</dd>
<dt><var>i</var></dt>
<dd><p>represents a variable or constant of integral type.
</p>
</dd>
<dt><var>m</var></dt>
<dd><p>represents an identifier that belongs to a set.  Generally used in the
same function with the metavariable <var>s</var>.  The type of <var>s</var> should
be <code>SET OF <var>mtype</var></code> (where <var>mtype</var> is the type of <var>m</var>).
</p>
</dd>
<dt><var>n</var></dt>
<dd><p>represents a variable or constant of integral or floating-point type.
</p>
</dd>
<dt><var>r</var></dt>
<dd><p>represents a variable or constant of floating-point type.
</p>
</dd>
<dt><var>t</var></dt>
<dd><p>represents a type.
</p>
</dd>
<dt><var>v</var></dt>
<dd><p>represents a variable.
</p>
</dd>
<dt><var>x</var></dt>
<dd><p>represents a variable or constant of one of many types.  See the
explanation of the function for details.
</p></dd>
</dl>
 
<p>All Modula-2 built-in procedures also return a result, described below.
</p>
<dl compact="compact">
<dt><code>ABS(<var>n</var>)</code></dt>
<dd><p>Returns the absolute value of <var>n</var>.
</p>
</dd>
<dt><code>CAP(<var>c</var>)</code></dt>
<dd><p>If <var>c</var> is a lower case letter, it returns its upper case
equivalent, otherwise it returns its argument.
</p>
</dd>
<dt><code>CHR(<var>i</var>)</code></dt>
<dd><p>Returns the character whose ordinal value is <var>i</var>.
</p>
</dd>
<dt><code>DEC(<var>v</var>)</code></dt>
<dd><p>Decrements the value in the variable <var>v</var> by one.  Returns the new value.
</p>
</dd>
<dt><code>DEC(<var>v</var>,<var>i</var>)</code></dt>
<dd><p>Decrements the value in the variable <var>v</var> by <var>i</var>.  Returns the
new value.
</p>
</dd>
<dt><code>EXCL(<var>m</var>,<var>s</var>)</code></dt>
<dd><p>Removes the element <var>m</var> from the set <var>s</var>.  Returns the new
set.
</p>
</dd>
<dt><code>FLOAT(<var>i</var>)</code></dt>
<dd><p>Returns the floating point equivalent of the integer <var>i</var>.
</p>
</dd>
<dt><code>HIGH(<var>a</var>)</code></dt>
<dd><p>Returns the index of the last member of <var>a</var>.
</p>
</dd>
<dt><code>INC(<var>v</var>)</code></dt>
<dd><p>Increments the value in the variable <var>v</var> by one.  Returns the new value.
</p>
</dd>
<dt><code>INC(<var>v</var>,<var>i</var>)</code></dt>
<dd><p>Increments the value in the variable <var>v</var> by <var>i</var>.  Returns the
new value.
</p>
</dd>
<dt><code>INCL(<var>m</var>,<var>s</var>)</code></dt>
<dd><p>Adds the element <var>m</var> to the set <var>s</var> if it is not already
there.  Returns the new set.
</p>
</dd>
<dt><code>MAX(<var>t</var>)</code></dt>
<dd><p>Returns the maximum value of the type <var>t</var>.
</p>
</dd>
<dt><code>MIN(<var>t</var>)</code></dt>
<dd><p>Returns the minimum value of the type <var>t</var>.
</p>
</dd>
<dt><code>ODD(<var>i</var>)</code></dt>
<dd><p>Returns boolean TRUE if <var>i</var> is an odd number.
</p>
</dd>
<dt><code>ORD(<var>x</var>)</code></dt>
<dd><p>Returns the ordinal value of its argument.  For example, the ordinal
value of a character is its <small>ASCII</small> value (on machines supporting
the <small>ASCII</small> character set).  The argument <var>x</var> must be of an
ordered type, which include integral, character and enumerated types.
</p>
</dd>
<dt><code>SIZE(<var>x</var>)</code></dt>
<dd><p>Returns the size of its argument.  The argument <var>x</var> can be a
variable or a type.
</p>
</dd>
<dt><code>TRUNC(<var>r</var>)</code></dt>
<dd><p>Returns the integral part of <var>r</var>.
</p>
</dd>
<dt><code>TSIZE(<var>x</var>)</code></dt>
<dd><p>Returns the size of its argument.  The argument <var>x</var> can be a
variable or a type.
</p>
</dd>
<dt><code>VAL(<var>t</var>,<var>i</var>)</code></dt>
<dd><p>Returns the member of the type <var>t</var> whose ordinal value is <var>i</var>.
</p></dd>
</dl>
 
<blockquote>
<p><em>Warning:</em>  Sets and their operations are not yet supported, so
<small>GDB</small> treats the use of procedures <code>INCL</code> and <code>EXCL</code> as
an error.
</p></blockquote>
 
<a name="index-Modula_002d2-constants"></a>
<hr>
<div class="header">
<p>
Next: <a href="M2-Constants.html#M2-Constants" accesskey="n" rel="next">M2 Constants</a>, Previous: <a href="M2-Operators.html#M2-Operators" accesskey="p" rel="previous">M2 Operators</a>, Up: <a href="Modula_002d2.html#Modula_002d2" accesskey="u" rel="up">Modula-2</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
 
 
 
</body>
</html>