html-template-pro 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (222) hide show
  1. data/.autotest +9 -0
  2. data/ARTISTIC +131 -0
  3. data/History.txt +4 -0
  4. data/LGPL +504 -0
  5. data/Manifest.txt +221 -0
  6. data/README.rdoc +52 -0
  7. data/Rakefile +18 -0
  8. data/benchmark.rb +136 -0
  9. data/config/website.yml +2 -0
  10. data/ext/html/template/internal/Pro.xs +679 -0
  11. data/ext/html/template/internal/builtin_findfile.inc +361 -0
  12. data/ext/html/template/internal/calc.h +26 -0
  13. data/ext/html/template/internal/calc.inc +120 -0
  14. data/ext/html/template/internal/callback_stubs.inc +63 -0
  15. data/ext/html/template/internal/expr.c +2267 -0
  16. data/ext/html/template/internal/expr.y +476 -0
  17. data/ext/html/template/internal/expr_iface.c +94 -0
  18. data/ext/html/template/internal/exprpstr.h +36 -0
  19. data/ext/html/template/internal/exprpstr.inc +144 -0
  20. data/ext/html/template/internal/exprtool.h +99 -0
  21. data/ext/html/template/internal/exprtool.inc +289 -0
  22. data/ext/html/template/internal/exprtype.h +62 -0
  23. data/ext/html/template/internal/exprval.h +30 -0
  24. data/ext/html/template/internal/extconf.rb +6 -0
  25. data/ext/html/template/internal/internal.c +449 -0
  26. data/ext/html/template/internal/loadfile.h +11 -0
  27. data/ext/html/template/internal/loadfile.inc +171 -0
  28. data/ext/html/template/internal/pabidecl.h +54 -0
  29. data/ext/html/template/internal/pabstract.h +426 -0
  30. data/ext/html/template/internal/parse_expr.h +15 -0
  31. data/ext/html/template/internal/pbuffer.c +76 -0
  32. data/ext/html/template/internal/pbuffer.h +31 -0
  33. data/ext/html/template/internal/pmiscdef.h +54 -0
  34. data/ext/html/template/internal/pparam.h +101 -0
  35. data/ext/html/template/internal/ppport.h +1098 -0
  36. data/ext/html/template/internal/procore.c +1189 -0
  37. data/ext/html/template/internal/procore.h +18 -0
  38. data/ext/html/template/internal/proparam.c +443 -0
  39. data/ext/html/template/internal/proparam.h +571 -0
  40. data/ext/html/template/internal/proscope.h +32 -0
  41. data/ext/html/template/internal/proscope.inc +107 -0
  42. data/ext/html/template/internal/prostate.h +49 -0
  43. data/ext/html/template/internal/prostate.inc +24 -0
  44. data/ext/html/template/internal/provalue.h +14 -0
  45. data/ext/html/template/internal/pstring.h +60 -0
  46. data/ext/html/template/internal/pstrutils.h +25 -0
  47. data/ext/html/template/internal/pstrutils.inc +150 -0
  48. data/ext/html/template/internal/tagstack.h +30 -0
  49. data/ext/html/template/internal/tagstack.inc +65 -0
  50. data/ext/html/template/internal/tmpllog.c +62 -0
  51. data/ext/html/template/internal/tmpllog.h +27 -0
  52. data/ext/html/template/internal/tmplpro.h +218 -0
  53. data/ext/html/template/internal/tmplpro_version.c +35 -0
  54. data/lib/html/template/pro.rb +225 -0
  55. data/script/console +10 -0
  56. data/script/destroy +14 -0
  57. data/script/generate +14 -0
  58. data/script/txt2html +71 -0
  59. data/tasks/extconf.rake +13 -0
  60. data/tasks/extconf/tmplpro.rake +43 -0
  61. data/templates-Pro/a.incl +1 -0
  62. data/templates-Pro/empty.incl +0 -0
  63. data/templates-Pro/include/1/a.incl +1 -0
  64. data/templates-Pro/include/2.out +3 -0
  65. data/templates-Pro/include/2.tmpl +1 -0
  66. data/templates-Pro/include/2/a.incl +1 -0
  67. data/templates-Pro/include/3.tmpl +1 -0
  68. data/templates-Pro/include/4.tmpl +1 -0
  69. data/templates-Pro/include/a.incl +1 -0
  70. data/templates-Pro/test_broken.tmpl +25 -0
  71. data/templates-Pro/test_broken1.out +1 -0
  72. data/templates-Pro/test_broken1.tmpl +1 -0
  73. data/templates-Pro/test_esc1.out +4 -0
  74. data/templates-Pro/test_esc1.tmpl +4 -0
  75. data/templates-Pro/test_esc2.out +5 -0
  76. data/templates-Pro/test_esc2.tmpl +6 -0
  77. data/templates-Pro/test_esc3.out +4 -0
  78. data/templates-Pro/test_esc3.tmpl +4 -0
  79. data/templates-Pro/test_esc4.out +3 -0
  80. data/templates-Pro/test_esc4.tmpl +4 -0
  81. data/templates-Pro/test_expr1.out +26 -0
  82. data/templates-Pro/test_expr1.tmpl +26 -0
  83. data/templates-Pro/test_expr2.out +34 -0
  84. data/templates-Pro/test_expr2.tmpl +34 -0
  85. data/templates-Pro/test_expr3.out +6 -0
  86. data/templates-Pro/test_expr3.tmpl +6 -0
  87. data/templates-Pro/test_expr4.out +4 -0
  88. data/templates-Pro/test_expr4.tmpl +4 -0
  89. data/templates-Pro/test_expr5.out +18 -0
  90. data/templates-Pro/test_expr5.tmpl +18 -0
  91. data/templates-Pro/test_expr6.out +18 -0
  92. data/templates-Pro/test_expr6.tmpl +18 -0
  93. data/templates-Pro/test_expr7.out +44 -0
  94. data/templates-Pro/test_expr7.tmpl +20 -0
  95. data/templates-Pro/test_expr8.out +15 -0
  96. data/templates-Pro/test_expr8.tmpl +15 -0
  97. data/templates-Pro/test_if1.out +25 -0
  98. data/templates-Pro/test_if1.tmpl +28 -0
  99. data/templates-Pro/test_if2.out +17 -0
  100. data/templates-Pro/test_if2.tmpl +25 -0
  101. data/templates-Pro/test_if3.out +12 -0
  102. data/templates-Pro/test_if3.tmpl +14 -0
  103. data/templates-Pro/test_if4.out +15 -0
  104. data/templates-Pro/test_if4.tmpl +31 -0
  105. data/templates-Pro/test_if5.out +16 -0
  106. data/templates-Pro/test_if5.tmpl +16 -0
  107. data/templates-Pro/test_if6.out +15 -0
  108. data/templates-Pro/test_if6.tmpl +31 -0
  109. data/templates-Pro/test_if7.out +14 -0
  110. data/templates-Pro/test_if7.tmpl +18 -0
  111. data/templates-Pro/test_include1.out +23 -0
  112. data/templates-Pro/test_include1.tmpl +7 -0
  113. data/templates-Pro/test_include2.out +120 -0
  114. data/templates-Pro/test_include2.tmpl +10 -0
  115. data/templates-Pro/test_include3.out +8 -0
  116. data/templates-Pro/test_include3.tmpl +8 -0
  117. data/templates-Pro/test_include4.out +7 -0
  118. data/templates-Pro/test_include4.tmpl +6 -0
  119. data/templates-Pro/test_include5.out +7 -0
  120. data/templates-Pro/test_include5.tmpl +6 -0
  121. data/templates-Pro/test_loop1.erb +17 -0
  122. data/templates-Pro/test_loop1.out +12 -0
  123. data/templates-Pro/test_loop1.tmpl +16 -0
  124. data/templates-Pro/test_loop2.erb +19 -0
  125. data/templates-Pro/test_loop2.out +40 -0
  126. data/templates-Pro/test_loop2.tmpl +19 -0
  127. data/templates-Pro/test_loop3.out +38 -0
  128. data/templates-Pro/test_loop3.tmpl +40 -0
  129. data/templates-Pro/test_loop4.out +44 -0
  130. data/templates-Pro/test_loop4.tmpl +20 -0
  131. data/templates-Pro/test_loop5.out +9 -0
  132. data/templates-Pro/test_loop5.tmpl +11 -0
  133. data/templates-Pro/test_loop6.out +33 -0
  134. data/templates-Pro/test_loop6.tmpl +15 -0
  135. data/templates-Pro/test_malloc.tmpl +1 -0
  136. data/templates-Pro/test_userfunc1.out +14 -0
  137. data/templates-Pro/test_userfunc1.tmpl +14 -0
  138. data/templates-Pro/test_userfunc2.out +35 -0
  139. data/templates-Pro/test_userfunc2.tmpl +5 -0
  140. data/templates-Pro/test_userfunc3.out +5 -0
  141. data/templates-Pro/test_userfunc3.tmpl +5 -0
  142. data/templates-Pro/test_userfunc4.out +10 -0
  143. data/templates-Pro/test_userfunc4.tmpl +10 -0
  144. data/templates-Pro/test_userfunc5.out +4 -0
  145. data/templates-Pro/test_userfunc5.tmpl +4 -0
  146. data/templates-Pro/test_userfunc6.out +4 -0
  147. data/templates-Pro/test_userfunc6.tmpl +4 -0
  148. data/templates-Pro/test_var1.erb +23 -0
  149. data/templates-Pro/test_var1.out +20 -0
  150. data/templates-Pro/test_var1.tmpl +23 -0
  151. data/templates-Pro/test_var2.erb +7 -0
  152. data/templates-Pro/test_var2.out +6 -0
  153. data/templates-Pro/test_var2.tmpl +7 -0
  154. data/templates-Pro/test_var3.out +14 -0
  155. data/templates-Pro/test_var3.tmpl +16 -0
  156. data/templates/case_loop.tmpl +3 -0
  157. data/templates/context.tmpl +3 -0
  158. data/templates/counter.tmpl +2 -0
  159. data/templates/default.tmpl +1 -0
  160. data/templates/default_escape.tmpl +4 -0
  161. data/templates/double_loop.tmpl +7 -0
  162. data/templates/escape.tmpl +5 -0
  163. data/templates/global-loops.tmpl +9 -0
  164. data/templates/globals.tmpl +11 -0
  165. data/templates/if.tmpl +7 -0
  166. data/templates/ifelse.tmpl +6 -0
  167. data/templates/include.tmpl +14 -0
  168. data/templates/include_path/a.tmpl +2 -0
  169. data/templates/include_path/b.tmpl +1 -0
  170. data/templates/include_path/inner.tmpl +1 -0
  171. data/templates/include_path/one.tmpl +2 -0
  172. data/templates/include_path2/inner.tmpl +1 -0
  173. data/templates/included.tmpl +4 -0
  174. data/templates/included2.tmpl +3 -0
  175. data/templates/js.tmpl +1 -0
  176. data/templates/long_loops.tmpl +307 -0
  177. data/templates/loop-context.tmpl +2 -0
  178. data/templates/loop-if.tmpl +9 -0
  179. data/templates/medium.tmpl +217 -0
  180. data/templates/multiline_tags.tmpl +7 -0
  181. data/templates/newline_test1.tmpl +1 -0
  182. data/templates/newline_test2.tmpl +1 -0
  183. data/templates/other-loop.tmpl +7 -0
  184. data/templates/outer.tmpl +3 -0
  185. data/templates/query-test.tmpl +21 -0
  186. data/templates/query-test2.tmpl +12 -0
  187. data/templates/recursive.tmpl +2 -0
  188. data/templates/searchpath/included.tmpl +4 -0
  189. data/templates/searchpath/three.tmpl +1 -0
  190. data/templates/searchpath/two.tmpl +2 -0
  191. data/templates/simple-loop-nonames.tmpl +13 -0
  192. data/templates/simple-loop.tmpl +12 -0
  193. data/templates/simple.tmpl +9 -0
  194. data/templates/unless.tmpl +5 -0
  195. data/templates/urlescape.tmpl +3 -0
  196. data/templates/vanguard1.tmpl +2 -0
  197. data/templates/vanguard2.tmpl +3 -0
  198. data/test/templates/complex.tmpl +24 -0
  199. data/test/templates/foo.tmpl +6 -0
  200. data/test/templates/func.tmpl +2 -0
  201. data/test/templates/loop.tmpl +14 -0
  202. data/test/templates/negative.tmpl +1 -0
  203. data/test/templates/numerics.tmpl +6 -0
  204. data/test/templates/register.tmpl +2 -0
  205. data/test/test_basic.rb +23 -0
  206. data/test/test_coderefs.rb +16 -0
  207. data/test/test_complex.rb +106 -0
  208. data/test/test_helper.rb +3 -0
  209. data/test/test_html_template.rb +583 -0
  210. data/test/test_html_template_internal_extn.rb +10 -0
  211. data/test/test_html_template_pro.rb +177 -0
  212. data/test/test_path_like_variable_scope.rb +59 -0
  213. data/test/test_random.rb +21 -0
  214. data/test/test_realloc.rb +16 -0
  215. data/test/test_register.rb +25 -0
  216. data/test/test_tmplpro.rb +9 -0
  217. data/test/tests.rb +9 -0
  218. data/website/index.txt +57 -0
  219. data/website/javascripts/rounded_corners_lite.inc.js +285 -0
  220. data/website/stylesheets/screen.css +159 -0
  221. data/website/template.html.erb +50 -0
  222. metadata +303 -0
@@ -0,0 +1,18 @@
1
+ #define ERR_PRO_INVALID_ARGUMENT 1
2
+ #define ERR_PRO_FILE_NOT_FOUND 2
3
+ #define ERR_PRO_CANT_OPEN_FILE 3
4
+
5
+ #include "pstring.h"
6
+ #include "tmpllog.h"
7
+ #include "pabstract.h"
8
+
9
+ struct tmplpro_param;
10
+
11
+ static int tmplpro_exec_tmpl_filename (struct tmplpro_param* ProParams,const char* filename);
12
+ static int tmplpro_exec_tmpl_scalarref (struct tmplpro_param* ProParams, PSTRING memarea);
13
+
14
+ /*
15
+ * Local Variables:
16
+ * mode: c
17
+ * End:
18
+ */
@@ -0,0 +1,443 @@
1
+ /* generated; do not edit */
2
+ #include "pabidecl.h"
3
+ #include "pabstract.h"
4
+ #include "pparam.h"
5
+ #include "proparam.h"
6
+
7
+
8
+ API_IMPL
9
+ int
10
+ APICALL tmplpro_get_option_global_vars(struct tmplpro_param* param) {
11
+ return param->global_vars;
12
+ }
13
+
14
+ API_IMPL
15
+ void
16
+ APICALL tmplpro_set_option_global_vars(struct tmplpro_param* param, int val) {
17
+ param->global_vars=val;
18
+ }
19
+
20
+ API_IMPL
21
+ int
22
+ APICALL tmplpro_get_option_max_includes(struct tmplpro_param* param) {
23
+ return param->max_includes;
24
+ }
25
+
26
+ API_IMPL
27
+ void
28
+ APICALL tmplpro_set_option_max_includes(struct tmplpro_param* param, int val) {
29
+ param->max_includes=val;
30
+ }
31
+
32
+ API_IMPL
33
+ int
34
+ APICALL tmplpro_get_option_debug(struct tmplpro_param* param) {
35
+ return param->debug;
36
+ }
37
+
38
+ API_IMPL
39
+ void
40
+ APICALL tmplpro_set_option_debug(struct tmplpro_param* param, int val) {
41
+ param->debug=val;
42
+ }
43
+
44
+ API_IMPL
45
+ int
46
+ APICALL tmplpro_get_option_tmpl_var_case(struct tmplpro_param* param) {
47
+ return param->tmpl_var_case;
48
+ }
49
+
50
+ API_IMPL
51
+ void
52
+ APICALL tmplpro_set_option_tmpl_var_case(struct tmplpro_param* param, int val) {
53
+ param->tmpl_var_case=val;
54
+ }
55
+
56
+ API_IMPL
57
+ int
58
+ APICALL tmplpro_get_option_no_includes(struct tmplpro_param* param) {
59
+ return (int) param->no_includes;
60
+ }
61
+
62
+ API_IMPL
63
+ void
64
+ APICALL tmplpro_set_option_no_includes(struct tmplpro_param* param, int val) {
65
+ param->no_includes=(flag)val;
66
+ }
67
+
68
+ API_IMPL
69
+ int
70
+ APICALL tmplpro_get_option_loop_context_vars(struct tmplpro_param* param) {
71
+ return (int) param->loop_context_vars;
72
+ }
73
+
74
+ API_IMPL
75
+ void
76
+ APICALL tmplpro_set_option_loop_context_vars(struct tmplpro_param* param, int val) {
77
+ param->loop_context_vars=(flag)val;
78
+ }
79
+
80
+ API_IMPL
81
+ int
82
+ APICALL tmplpro_get_option_strict(struct tmplpro_param* param) {
83
+ return (int) param->strict;
84
+ }
85
+
86
+ API_IMPL
87
+ void
88
+ APICALL tmplpro_set_option_strict(struct tmplpro_param* param, int val) {
89
+ param->strict=(flag)val;
90
+ }
91
+
92
+ API_IMPL
93
+ int
94
+ APICALL tmplpro_get_option_filters(struct tmplpro_param* param) {
95
+ return (int) param->filters;
96
+ }
97
+
98
+ API_IMPL
99
+ void
100
+ APICALL tmplpro_set_option_filters(struct tmplpro_param* param, int val) {
101
+ param->filters=(flag)val;
102
+ }
103
+
104
+ API_IMPL
105
+ int
106
+ APICALL tmplpro_get_option_default_escape(struct tmplpro_param* param) {
107
+ return param->default_escape;
108
+ }
109
+
110
+ API_IMPL
111
+ void
112
+ APICALL tmplpro_set_option_default_escape(struct tmplpro_param* param, int val) {
113
+ param->default_escape=val;
114
+ }
115
+
116
+ API_IMPL
117
+ const char*
118
+ APICALL tmplpro_get_option_filename(struct tmplpro_param* param) {
119
+ return param->filename;
120
+ }
121
+
122
+ API_IMPL
123
+ void
124
+ APICALL tmplpro_set_option_filename(struct tmplpro_param* param, const char* val) {
125
+ param->filename=val;
126
+ if (NULL!=val) {
127
+ param->scalarref.begin=NULL;
128
+ param->scalarref.endnext=NULL;
129
+ }
130
+ }
131
+
132
+ API_IMPL
133
+ PSTRING
134
+ APICALL tmplpro_get_option_scalarref(struct tmplpro_param* param) {
135
+ return param->scalarref;
136
+ }
137
+
138
+ API_IMPL
139
+ void
140
+ APICALL tmplpro_set_option_scalarref(struct tmplpro_param* param, PSTRING val) {
141
+ param->scalarref=val;
142
+ if (NULL!=val.begin) param->filename=NULL;
143
+ }
144
+
145
+ API_IMPL
146
+ int
147
+ APICALL tmplpro_get_option_path_like_variable_scope(struct tmplpro_param* param) {
148
+ return (int) param->path_like_variable_scope;
149
+ }
150
+
151
+ API_IMPL
152
+ void
153
+ APICALL tmplpro_set_option_path_like_variable_scope(struct tmplpro_param* param, int val) {
154
+ param->path_like_variable_scope=(flag)val;
155
+ }
156
+
157
+ API_IMPL
158
+ int
159
+ APICALL tmplpro_get_option_search_path_on_include(struct tmplpro_param* param) {
160
+ return (int) param->search_path_on_include;
161
+ }
162
+
163
+ API_IMPL
164
+ void
165
+ APICALL tmplpro_set_option_search_path_on_include(struct tmplpro_param* param, int val) {
166
+ param->search_path_on_include=(flag)val;
167
+ }
168
+
169
+ API_IMPL
170
+ char**
171
+ APICALL tmplpro_get_option_path(struct tmplpro_param* param) {
172
+ return param->path;
173
+ }
174
+
175
+ API_IMPL
176
+ void
177
+ APICALL tmplpro_set_option_path(struct tmplpro_param* param, char** val) {
178
+ param->path=val;
179
+ }
180
+
181
+ API_IMPL
182
+ writer_functype
183
+ APICALL tmplpro_get_option_WriterFuncPtr(struct tmplpro_param* param) {
184
+ return param->WriterFuncPtr;
185
+ }
186
+
187
+ API_IMPL
188
+ void
189
+ APICALL tmplpro_set_option_WriterFuncPtr(struct tmplpro_param* param, writer_functype val) {
190
+ param->WriterFuncPtr=val;
191
+ }
192
+
193
+ API_IMPL
194
+ get_ABSTRACT_VALUE_functype
195
+ APICALL tmplpro_get_option_GetAbstractValFuncPtr(struct tmplpro_param* param) {
196
+ return param->GetAbstractValFuncPtr;
197
+ }
198
+
199
+ API_IMPL
200
+ void
201
+ APICALL tmplpro_set_option_GetAbstractValFuncPtr(struct tmplpro_param* param, get_ABSTRACT_VALUE_functype val) {
202
+ param->GetAbstractValFuncPtr=val;
203
+ }
204
+
205
+ API_IMPL
206
+ ABSTRACT_VALUE2PSTRING_functype
207
+ APICALL tmplpro_get_option_AbstractVal2pstringFuncPtr(struct tmplpro_param* param) {
208
+ return param->AbstractVal2pstringFuncPtr;
209
+ }
210
+
211
+ API_IMPL
212
+ void
213
+ APICALL tmplpro_set_option_AbstractVal2pstringFuncPtr(struct tmplpro_param* param, ABSTRACT_VALUE2PSTRING_functype val) {
214
+ param->AbstractVal2pstringFuncPtr=val;
215
+ }
216
+
217
+ API_IMPL
218
+ ABSTRACT_VALUE2ABSTRACT_ARRAY_functype
219
+ APICALL tmplpro_get_option_AbstractVal2abstractArrayFuncPtr(struct tmplpro_param* param) {
220
+ return param->AbstractVal2abstractArrayFuncPtr;
221
+ }
222
+
223
+ API_IMPL
224
+ void
225
+ APICALL tmplpro_set_option_AbstractVal2abstractArrayFuncPtr(struct tmplpro_param* param, ABSTRACT_VALUE2ABSTRACT_ARRAY_functype val) {
226
+ param->AbstractVal2abstractArrayFuncPtr=val;
227
+ }
228
+
229
+ API_IMPL
230
+ get_ABSTRACT_ARRAY_length_functype
231
+ APICALL tmplpro_get_option_GetAbstractArrayLengthFuncPtr(struct tmplpro_param* param) {
232
+ return param->GetAbstractArrayLengthFuncPtr;
233
+ }
234
+
235
+ API_IMPL
236
+ void
237
+ APICALL tmplpro_set_option_GetAbstractArrayLengthFuncPtr(struct tmplpro_param* param, get_ABSTRACT_ARRAY_length_functype val) {
238
+ param->GetAbstractArrayLengthFuncPtr=val;
239
+ }
240
+
241
+ API_IMPL
242
+ get_ABSTRACT_MAP_functype
243
+ APICALL tmplpro_get_option_GetAbstractMapFuncPtr(struct tmplpro_param* param) {
244
+ return param->GetAbstractMapFuncPtr;
245
+ }
246
+
247
+ API_IMPL
248
+ void
249
+ APICALL tmplpro_set_option_GetAbstractMapFuncPtr(struct tmplpro_param* param, get_ABSTRACT_MAP_functype val) {
250
+ param->GetAbstractMapFuncPtr=val;
251
+ }
252
+
253
+ API_IMPL
254
+ is_ABSTRACT_VALUE_true_functype
255
+ APICALL tmplpro_get_option_IsAbstractValTrueFuncPtr(struct tmplpro_param* param) {
256
+ return param->IsAbstractValTrueFuncPtr;
257
+ }
258
+
259
+ API_IMPL
260
+ void
261
+ APICALL tmplpro_set_option_IsAbstractValTrueFuncPtr(struct tmplpro_param* param, is_ABSTRACT_VALUE_true_functype val) {
262
+ param->IsAbstractValTrueFuncPtr=val;
263
+ }
264
+
265
+ API_IMPL
266
+ find_file_functype
267
+ APICALL tmplpro_get_option_FindFileFuncPtr(struct tmplpro_param* param) {
268
+ return param->FindFileFuncPtr;
269
+ }
270
+
271
+ API_IMPL
272
+ void
273
+ APICALL tmplpro_set_option_FindFileFuncPtr(struct tmplpro_param* param, find_file_functype val) {
274
+ param->FindFileFuncPtr=val;
275
+ }
276
+
277
+ API_IMPL
278
+ load_file_functype
279
+ APICALL tmplpro_get_option_LoadFileFuncPtr(struct tmplpro_param* param) {
280
+ return param->LoadFileFuncPtr;
281
+ }
282
+
283
+ API_IMPL
284
+ void
285
+ APICALL tmplpro_set_option_LoadFileFuncPtr(struct tmplpro_param* param, load_file_functype val) {
286
+ param->LoadFileFuncPtr=val;
287
+ }
288
+
289
+ API_IMPL
290
+ unload_file_functype
291
+ APICALL tmplpro_get_option_UnloadFileFuncPtr(struct tmplpro_param* param) {
292
+ return param->UnloadFileFuncPtr;
293
+ }
294
+
295
+ API_IMPL
296
+ void
297
+ APICALL tmplpro_set_option_UnloadFileFuncPtr(struct tmplpro_param* param, unload_file_functype val) {
298
+ param->UnloadFileFuncPtr=val;
299
+ }
300
+
301
+ API_IMPL
302
+ exit_loop_scope_functype
303
+ APICALL tmplpro_get_option_ExitLoopScopeFuncPtr(struct tmplpro_param* param) {
304
+ return param->ExitLoopScopeFuncPtr;
305
+ }
306
+
307
+ API_IMPL
308
+ void
309
+ APICALL tmplpro_set_option_ExitLoopScopeFuncPtr(struct tmplpro_param* param, exit_loop_scope_functype val) {
310
+ param->ExitLoopScopeFuncPtr=val;
311
+ }
312
+
313
+ API_IMPL
314
+ ABSTRACT_WRITER*
315
+ APICALL tmplpro_get_option_ext_writer_state(struct tmplpro_param* param) {
316
+ return param->ext_writer_state;
317
+ }
318
+
319
+ API_IMPL
320
+ void
321
+ APICALL tmplpro_set_option_ext_writer_state(struct tmplpro_param* param, ABSTRACT_WRITER* val) {
322
+ param->ext_writer_state=val;
323
+ }
324
+
325
+ API_IMPL
326
+ ABSTRACT_FILTER*
327
+ APICALL tmplpro_get_option_ext_filter_state(struct tmplpro_param* param) {
328
+ return param->ext_filter_state;
329
+ }
330
+
331
+ API_IMPL
332
+ void
333
+ APICALL tmplpro_set_option_ext_filter_state(struct tmplpro_param* param, ABSTRACT_FILTER* val) {
334
+ param->ext_filter_state=val;
335
+ }
336
+
337
+ API_IMPL
338
+ ABSTRACT_FINDFILE*
339
+ APICALL tmplpro_get_option_ext_findfile_state(struct tmplpro_param* param) {
340
+ return param->ext_findfile_state;
341
+ }
342
+
343
+ API_IMPL
344
+ void
345
+ APICALL tmplpro_set_option_ext_findfile_state(struct tmplpro_param* param, ABSTRACT_FINDFILE* val) {
346
+ param->ext_findfile_state=val;
347
+ }
348
+
349
+ API_IMPL
350
+ ABSTRACT_DATASTATE*
351
+ APICALL tmplpro_get_option_ext_data_state(struct tmplpro_param* param) {
352
+ return param->ext_data_state;
353
+ }
354
+
355
+ API_IMPL
356
+ void
357
+ APICALL tmplpro_set_option_ext_data_state(struct tmplpro_param* param, ABSTRACT_DATASTATE* val) {
358
+ param->ext_data_state=val;
359
+ }
360
+
361
+ API_IMPL
362
+ ABSTRACT_CALLER*
363
+ APICALL tmplpro_get_option_ext_calluserfunc_state(struct tmplpro_param* param) {
364
+ return param->ext_calluserfunc_state;
365
+ }
366
+
367
+ API_IMPL
368
+ void
369
+ APICALL tmplpro_set_option_ext_calluserfunc_state(struct tmplpro_param* param, ABSTRACT_CALLER* val) {
370
+ param->ext_calluserfunc_state=val;
371
+ }
372
+
373
+ API_IMPL
374
+ init_expr_arglist_functype
375
+ APICALL tmplpro_get_option_InitExprArglistFuncPtr(struct tmplpro_param* param) {
376
+ return param->InitExprArglistFuncPtr;
377
+ }
378
+
379
+ API_IMPL
380
+ void
381
+ APICALL tmplpro_set_option_InitExprArglistFuncPtr(struct tmplpro_param* param, init_expr_arglist_functype val) {
382
+ param->InitExprArglistFuncPtr=val;
383
+ }
384
+
385
+ API_IMPL
386
+ free_expr_arglist_functype
387
+ APICALL tmplpro_get_option_FreeExprArglistFuncPtr(struct tmplpro_param* param) {
388
+ return param->FreeExprArglistFuncPtr;
389
+ }
390
+
391
+ API_IMPL
392
+ void
393
+ APICALL tmplpro_set_option_FreeExprArglistFuncPtr(struct tmplpro_param* param, free_expr_arglist_functype val) {
394
+ param->FreeExprArglistFuncPtr=val;
395
+ }
396
+
397
+ API_IMPL
398
+ push_expr_arglist_functype
399
+ APICALL tmplpro_get_option_PushExprArglistFuncPtr(struct tmplpro_param* param) {
400
+ return param->PushExprArglistFuncPtr;
401
+ }
402
+
403
+ API_IMPL
404
+ void
405
+ APICALL tmplpro_set_option_PushExprArglistFuncPtr(struct tmplpro_param* param, push_expr_arglist_functype val) {
406
+ param->PushExprArglistFuncPtr=val;
407
+ }
408
+
409
+ API_IMPL
410
+ call_expr_userfnc_functype
411
+ APICALL tmplpro_get_option_CallExprUserfncFuncPtr(struct tmplpro_param* param) {
412
+ return param->CallExprUserfncFuncPtr;
413
+ }
414
+
415
+ API_IMPL
416
+ void
417
+ APICALL tmplpro_set_option_CallExprUserfncFuncPtr(struct tmplpro_param* param, call_expr_userfnc_functype val) {
418
+ param->CallExprUserfncFuncPtr=val;
419
+ }
420
+
421
+ API_IMPL
422
+ is_expr_userfnc_functype
423
+ APICALL tmplpro_get_option_IsExprUserfncFuncPtr(struct tmplpro_param* param) {
424
+ return param->IsExprUserfncFuncPtr;
425
+ }
426
+
427
+ API_IMPL
428
+ void
429
+ APICALL tmplpro_set_option_IsExprUserfncFuncPtr(struct tmplpro_param* param, is_expr_userfnc_functype val) {
430
+ param->IsExprUserfncFuncPtr=val;
431
+ }
432
+
433
+ API_IMPL
434
+ ABSTRACT_FUNCMAP*
435
+ APICALL tmplpro_get_option_expr_func_map(struct tmplpro_param* param) {
436
+ return param->expr_func_map;
437
+ }
438
+
439
+ API_IMPL
440
+ void
441
+ APICALL tmplpro_set_option_expr_func_map(struct tmplpro_param* param, ABSTRACT_FUNCMAP* val) {
442
+ param->expr_func_map=val;
443
+ }