1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/REC-html40/Transitional.dtd">
4
<title>[tpat_int.h] Language Interface</title>
5
<meta name="robots" content="noindex">
8
<h1><font color="#008B8B">[tpat_int.h] Language Interface</font></h1>
9
<h2><font color="#008B8B"><a href="styx.html">contents</a></font></h2><br>
10
<br><a href="ptm.htm">#include "ptm.h"</a>
11
<br><a href="gls.htm">#include "gls.h"</a>
15
<br><hr width="100%" size=2><h2><b> symbol objects - init & quit </b></h2>
16
<table border=0 cellspacing=20>
18
<td bgcolor="#FFF8DC" align=left><pre>void <b>tpat_initSymbols</b>()</pre>
19
<td bgcolor="#FFF0F5" align=left>
21
<td bgcolor="#FFF8DC" align=left><pre>void <b>tpat_quitSymbols</b>()</pre>
22
<td bgcolor="#FFF0F5" align=left>
25
<br><hr width="100%" size=2><h2><b> Types & Constants </b></h2>
27
<table border=0 cellspacing=10>
29
<td align=left><b> tpat </b>
30
<td align=left>abstract type
34
<table border=0 cellspacing=10>
36
<td align=left><b> tpatSpec </b>
37
<td align=left>abstract type
40
<td align=left><b> tpatBlock </b>
41
<td align=left>abstract type
44
<td align=left><b> tpatIdx </b>
45
<td align=left>abstract type
48
<td align=left><b> tpatVal </b>
49
<td align=left>abstract type
52
<td align=left><b> tpatPat </b>
53
<td align=left>abstract type
56
<td align=left><b> tpatOptSpc </b>
57
<td align=left>abstract type
60
<td align=left><b> tpatCode </b>
61
<td align=left>abstract type
64
<br><hr width="100%" size=2><h2><b> Access to Tokens </b></h2>
65
<table border=0 cellspacing=20>
67
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>Ttpat_Ide</b>(GLS_Tok x)</pre>
68
<td bgcolor="#FFF0F5" align=left>
70
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>Ttpat_Nat</b>(GLS_Tok x)</pre>
71
<td bgcolor="#FFF0F5" align=left>
73
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>Ttpat_Str</b>(GLS_Tok x)</pre>
74
<td bgcolor="#FFF0F5" align=left>
76
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>Ttpat_Reg</b>(GLS_Tok x)</pre>
77
<td bgcolor="#FFF0F5" align=left>
79
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>Ttpat_Key</b>(GLS_Tok x)</pre>
80
<td bgcolor="#FFF0F5" align=left>
82
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>Ttpat_Spc</b>(GLS_Tok x)</pre>
83
<td bgcolor="#FFF0F5" align=left>
85
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>Ttpat__other_</b>(GLS_Tok x)</pre>
86
<td bgcolor="#FFF0F5" align=left>
89
<br><hr width="100%" size=2><h2><b> Access to Terms </b></h2>
90
<table border=0 cellspacing=20>
92
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpat_tpat</b>(PT_Term x, tpat* x1)</pre>
93
<td bgcolor="#FFF0F5" align=left>
95
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpat_Spec</b>(PT_Term x, tpatSpec* x1)</pre>
96
<td bgcolor="#FFF0F5" align=left>
98
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpat_Block</b>(PT_Term x, tpatBlock* x1)</pre>
99
<td bgcolor="#FFF0F5" align=left>
101
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpat_Idx</b>(PT_Term x, tpatIdx* x1)</pre>
102
<td bgcolor="#FFF0F5" align=left>
104
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpat_Val</b>(PT_Term x, tpatVal* x1)</pre>
105
<td bgcolor="#FFF0F5" align=left>
107
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpat_Pat</b>(PT_Term x, tpatPat* x1)</pre>
108
<td bgcolor="#FFF0F5" align=left>
110
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpat_OptSpc</b>(PT_Term x, tpatOptSpc* x1)</pre>
111
<td bgcolor="#FFF0F5" align=left>
113
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpat_Code</b>(PT_Term x, tpatCode* x1)</pre>
114
<td bgcolor="#FFF0F5" align=left>
117
<br><hr width="100%" size=2><h2><b> tpat </b></h2>
118
<table border=0 cellspacing=20>
120
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpat_Start_Spec</b>(tpat x, tpatSpec* x1)
121
#define tpat_Start_0 tpat_Start_Spec</pre>
122
<td bgcolor="#FFF0F5" align=left>
124
<br><hr width="100%" size=2><h2><b> Spec </b></h2>
125
<table border=0 cellspacing=20>
127
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatSpec_dfn</b>(tpatSpec x, tpatCode* x1)</pre>
128
<td bgcolor="#FFF0F5" align=left>
131
<br><hr width="100%" size=2><h2><b> Block </b></h2>
132
<table border=0 cellspacing=20>
134
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatBlock_inc</b>(tpatBlock x, GLS_Tok* x1, GLS_Tok* x2)</pre>
135
<td bgcolor="#FFF0F5" align=left>
137
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatBlock_out</b>(tpatBlock x, GLS_Tok* x1, GLS_Tok* x2,
138
GLS_Tok* x3, tpatBlock* x4)</pre>
139
<td bgcolor="#FFF0F5" align=left> <tr valign=top>
140
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatBlock_blk</b>(tpatBlock x, tpatCode* x1)</pre>
141
<td bgcolor="#FFF0F5" align=left>
143
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatBlock_tpat</b>(tpatBlock x, GLS_Tok* x1, GLS_Lst(GLS_Tok)* x2,
145
<td bgcolor="#FFF0F5" align=left> <tr valign=top>
146
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatBlock_for</b>(tpatBlock x, GLS_Tok* x1, GLS_Tok* x2,
147
GLS_Tok* x3, GLS_Tok* x4,
149
<td bgcolor="#FFF0F5" align=left> <tr valign=top>
150
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatBlock_iter</b>(tpatBlock x, GLS_Tok* x1, GLS_Lst(GLS_Tok)* x2,
151
GLS_Tok* x3, GLS_Tok* x4,
153
<td bgcolor="#FFF0F5" align=left> <tr valign=top>
154
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatBlock_var</b>(tpatBlock x, GLS_Tok* x1, GLS_Tok* x2,
155
tpatOptSpc* x3, tpatOptSpc* x4,
157
<td bgcolor="#FFF0F5" align=left>
159
<br><hr width="100%" size=2><h2><b> Idx </b></h2>
160
<table border=0 cellspacing=20>
162
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatIdx_nat</b>(tpatIdx x, GLS_Tok* x1)</pre>
163
<td bgcolor="#FFF0F5" align=left>
165
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatIdx_ide</b>(tpatIdx x, GLS_Tok* x1)</pre>
166
<td bgcolor="#FFF0F5" align=left>
169
<br><hr width="100%" size=2><h2><b> Val </b></h2>
170
<table border=0 cellspacing=20>
172
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatVal_reg</b>(tpatVal x, GLS_Tok* x1)</pre>
173
<td bgcolor="#FFF0F5" align=left>
175
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatVal_idx</b>(tpatVal x, tpatOptSpc* x1, GLS_Tok* x2,
176
GLS_Tok* x3, tpatIdx* x4,
177
tpatOptSpc* x5)</pre>
178
<td bgcolor="#FFF0F5" align=left> <tr valign=top>
179
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatVal_spc</b>(tpatVal x, GLS_Tok* x1)</pre>
180
<td bgcolor="#FFF0F5" align=left>
182
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatVal_fun</b>(tpatVal x, GLS_Lst(tpatVal)* x1)</pre>
183
<td bgcolor="#FFF0F5" align=left>
185
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatVal_str</b>(tpatVal x, GLS_Tok* x1)</pre>
186
<td bgcolor="#FFF0F5" align=left>
188
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatVal_ide</b>(tpatVal x, GLS_Tok* x1)</pre>
189
<td bgcolor="#FFF0F5" align=left>
192
<br><hr width="100%" size=2><h2><b> Pat </b></h2>
193
<table border=0 cellspacing=20>
195
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatPat_dfn</b>(tpatPat x, tpatVal* x1)</pre>
196
<td bgcolor="#FFF0F5" align=left>
199
<br><hr width="100%" size=2><h2><b> OptSpc </b></h2>
200
<table border=0 cellspacing=20>
202
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatOptSpc_spc</b>(tpatOptSpc x, GLS_Tok* x1)</pre>
203
<td bgcolor="#FFF0F5" align=left>
205
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatOptSpc_nul</b>(tpatOptSpc x)</pre>
206
<td bgcolor="#FFF0F5" align=left>
209
<br><hr width="100%" size=2><h2><b> Code </b></h2>
210
<table border=0 cellspacing=20>
212
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_if</b>(tpatCode x, tpatOptSpc* x1, tpatVal* x2,
213
tpatOptSpc* x3, tpatBlock* x4,
215
<td bgcolor="#FFF0F5" align=left> <tr valign=top>
216
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_par3</b>(tpatCode x, tpatCode* x1)</pre>
217
<td bgcolor="#FFF0F5" align=left>
219
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_par1</b>(tpatCode x, tpatCode* x1)</pre>
220
<td bgcolor="#FFF0F5" align=left>
222
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_asg</b>(tpatCode x, tpatCode* x1)</pre>
223
<td bgcolor="#FFF0F5" align=left>
225
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_par2</b>(tpatCode x, tpatCode* x1)</pre>
226
<td bgcolor="#FFF0F5" align=left>
228
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_blk</b>(tpatCode x, tpatBlock* x1, tpatCode* x2)</pre>
229
<td bgcolor="#FFF0F5" align=left>
231
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_par4</b>(tpatCode x, tpatCode* x1)</pre>
232
<td bgcolor="#FFF0F5" align=left>
234
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_pat</b>(tpatCode x, tpatPat* x1, tpatCode* x2)</pre>
235
<td bgcolor="#FFF0F5" align=left>
237
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_misc</b>(tpatCode x, GLS_Tok* x1, tpatCode* x2)</pre>
238
<td bgcolor="#FFF0F5" align=left>
240
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_ide</b>(tpatCode x, GLS_Tok* x1, tpatCode* x2)</pre>
241
<td bgcolor="#FFF0F5" align=left>
243
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_str</b>(tpatCode x, GLS_Tok* x1, tpatCode* x2)</pre>
244
<td bgcolor="#FFF0F5" align=left>
246
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_else</b>(tpatCode x, tpatOptSpc* x1, tpatOptSpc* x2,
247
tpatBlock* x3, tpatCode* x4)</pre>
248
<td bgcolor="#FFF0F5" align=left> <tr valign=top>
249
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_nul</b>(tpatCode x)</pre>
250
<td bgcolor="#FFF0F5" align=left>
252
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_pky</b>(tpatCode x)</pre>
253
<td bgcolor="#FFF0F5" align=left>
255
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_nat</b>(tpatCode x, GLS_Tok* x1, tpatCode* x2)</pre>
256
<td bgcolor="#FFF0F5" align=left>
258
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_spc</b>(tpatCode x, GLS_Tok* x1, tpatCode* x2)</pre>
259
<td bgcolor="#FFF0F5" align=left>
261
<td bgcolor="#FFF8DC" align=left><pre>c_bool <b>tpatCode_reg</b>(tpatCode x, GLS_Tok* x1, tpatCode* x2)</pre>
262
<td bgcolor="#FFF0F5" align=left>