html-template-pro 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ }