1 /******************************************************************************
2 *
3 * Copyright (C) 2006, The Gentee Group. All rights reserved.
4 * This file is part of the Gentee open source project <http://www.gentee.com>.
5 *
6 * THIS FILE IS PROVIDED UNDER THE TERMS OF THE GENTEE LICENSE ("AGREEMENT").
7 * ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE CONSTITUTES RECIPIENTS
8 * ACCEPTANCE OF THE AGREEMENT.
9 *
10 * funclist_c 16.06.2008 0.0.A.
11 *
12 * Author: Generated with 'funclist' program
13 *
14 * Summary: This file contains the embedded functions.
15 *
16 ******************************************************************************/
17
18
19 #include <math.h>
20 #include "../genteeapi/gentee.h"
21 #include "funclist.h"
22 #include "bytecode.h"
23 #include "cmdlist.h"
24 #include "../common/crc.h"
25 #include "../common/mix.h"
26 #include "../common/arr.h"
27 #include "../common/collection.h"
28 #include "../vm/vmtype.h"
29 #include "../vm/vmres.h"
30 #include "../algorithm/qsort.h"
31 #include "../algorithm/search.h"
32
33 #ifdef RUNTIME
34 extern uint STDCALL gentee_lex( pbuf input, plex pl, parr output );
35 extern plex STDCALL lex_init( plex pl, puint ptbl );
36 extern void STDCALL lex_delete( plex pl );
37 //uint STDCALL gentee_lex( pbuf input, plex pl, parr output ){ return 0; }
38 //plex STDCALL lex_init( plex pl, puint ptbl ){ return NULL; }
39 //void STDCALL lex_delete( plex pl ){}
40 uint STDCALL gentee_compile( pcompileinfo compinit ){ return 0; }
41 #endif
42
43 #if defined __WATCOMC__
44 #define ATOI64 atoll
45 #else
46 #define ATOI64 _atoi64
47 #endif
48
49 const ubyte embfuncs[] = {
50 'g', 'e', 't', 'i', 'd', 0, 0x83, TUint, TStr, TUint, TCollection,
51 't', 'y', 'p', 'e', '_', 'h', 'a', 's', 'i', 'n', 'i', 't', 0, 0x81, TUint, TUint,
52 't', 'y', 'p', 'e', '_', 'h', 'a', 's', 'd', 'e', 'l', 'e', 't', 'e', 0, 0x81, TUint, TUint,
53 't', 'y', 'p', 'e', '_', 'i', 's', 'i', 'n', 'h', 'e', 'r', 'i', 't', 0, 0x82, TUint, TUint, TUint,
54 't', 'y', 'p', 'e', '_', 'i', 'n', 'i', 't', 0, 0x82, TUint, TUint, TUint,
55 't', 'y', 'p', 'e', '_', 'd', 'e', 'l', 'e', 't', 'e', 0, 0x2, TUint, TUint,
56 's', 'i', 'z', 'e', 'o', 'f', 0, 0x81, TUint, TUint,
57 'n', 'e', 'w', 0, 0x82, TUint, TUint, TUint,
58 'd', 'e', 's', 't', 'r', 'o', 'y', 0, 0x1, TUint,
59 'l', 'e', 'x', '_', 'i', 'n', 'i', 't', 0, 0x82, TUint, TUint, TUint,
60 'l', 'e', 'x', '_', 'd', 'e', 'l', 'e', 't', 'e', 0, 0x1, TUint,
61 'g', 'e', 'n', 't', 'e', 'e', '_', 'l', 'e', 'x', 0, 0x83, TUint, TUint, TUint, TUint,
62 'g', 'e', 'n', 't', 'e', 'e', '_', 'c', 'o', 'm', 'p', 'i', 'l', 'e', 0, 0x81, TUint, TUint,
63 'g', 'e', 'n', 't', 'e', 'e', '_', 's', 'e', 't', 0, 0x82, TUint, TUint, TUint,
64 'm', 'a', 'l', 'l', 'o', 'c', 0, 0x81, TUint, TUint,
65 'm', 'c', 'o', 'p', 'y', 0, 0x83, TUint, TUint, TUint, TUint,
66 'm', 'c', 'm', 'p', 0, 0x83, TInt, TUint, TUint, TUint,
67 'm', 'f', 'r', 'e', 'e', 0, 0x1, TUint,
68 'm', 'm', 'o', 'v', 'e', 0, 0x83, TUint, TUint, TUint, TUint,
69 'm', 'z', 'e', 'r', 'o', 0, 0x82, TUint, TUint, TUint,
70 'm', 'l', 'e', 'n', 0, 0x81, TUint, TUint,
71 'm', 'l', 'e', 'n', 's', 'h', 0, 0x81, TUint, TUint,
72 'g', 'e', 't', 'c', 'h', 0, 0x80, TUint,
73 's', 'c', 'a', 'n', 0, 0x82, TUint, TUint, TUint,
74 'r', 'e', 's', '_', 'g', 'e', 't', 's', 't', 'r', 0, 0x81, TStr, TUint,
75 'c', 'r', 'c', 0, 0x83, TUint, TUint, TUint, TUint,
76 's', 't', 'r', 'c', 'm', 'p', 0, 0x82, TInt, TUint, TUint,
77 's', 't', 'r', 'c', 'm', 'p', 'i', 'g', 'n', 0, 0x82, TInt, TUint, TUint,
78 's', 't', 'r', 'c', 'm', 'p', 'l', 'e', 'n', 0, 0x83, TInt, TUint, TUint, TUint,
79 's', 't', 'r', 'c', 'm', 'p', 'i', 'g', 'n', 'l', 'e', 'n', 0, 0x83, TInt, TUint, TUint, TUint,
80 'u', 's', 't', 'r', 'c', 'm', 'p', 'l', 'e', 'n', 0, 0x83, TInt, TUint, TUint, TUint,
81 'u', 's', 't', 'r', 'c', 'm', 'p', 'i', 'g', 'n', 'l', 'e', 'n', 0, 0x83, TInt, TUint, TUint, TUint,
82 'g', 'e', 'n', 't', 'e', 'e', '_', 'p', 't', 'r', 0, 0x81, TUint, TUint,
83 'a', 'r', 'g', 'c', 0, 0x80, TUint,
84 'a', 'r', 'g', 'v', 0, 0x82, TStr, TStr, TUint,
85 'c', 'a', 'l', 'l', 'a', 'd', 'd', 'r', 0, 0x80, TUint,
86 'q', 's', '_', 'i', 'n', 'i', 't', 0, 0x4, TUint, TUint, TUint, TUint,
87 'q', 's', '_', 's', 'e', 'a', 'r', 'c', 'h', 0, 0x83, TUint, TUint, TUint, TUint,
88 'f', 'a', 's', 't', 's', 'o', 'r', 't', 0, 0x4, TUint, TUint, TUint, TUint,
89 's', 'o', 'r', 't', 0, 0x4, TUint, TUint, TUint, TUint,
90 'g', 'e', 't', 't', 'e', 'm', 'p', 0, 0x80, TStr,
91 '@', 'a', 'p', 'p', 'e', 'n', 'd', 0, 0x83, TBuf, TBuf, TUint, TUint,
92 '@', 'i', 'n', 'i', 't', 0, 0x81, TBuf, TBuf,
93 '@', 'd', 'e', 'l', 0, 0x83, TBuf, TBuf, TUint, TUint,
94 '@', 'd', 'e', 'l', 'e', 't', 'e', 0, 0x1, TBuf,
95 '@', 'c', 'l', 'e', 'a', 'r', 0, 0x81, TBuf, TBuf,
96 '@', 'c', 'o', 'p', 'y', 0, 0x83, TBuf, TBuf, TUint, TUint,
97 '@', 'i', 'n', 's', 'e', 'r', 't', 0, 0x84, TBuf, TBuf, TUint, TUint, TUint,
98 '@', 'f', 'r', 'e', 'e', 0, 0x81, TBuf, TBuf,
99 '@', 'p', 't', 'r', 0, 0x81, TUint, TBuf,
100 '@', 'l', 'o', 'a', 'd', 0, 0x83, TBuf, TBuf, TUint, TUint,
101 '@', 'a', 'r', 'r', 'a', 'y', 0, 0x82, TBuf, TBuf, TUint,
102 '@', 'i', 'n', 'd', 'e', 'x', 0, 0x82, TUint, TBuf, TUint,
103 '@', 'r', 'e', 's', 'e', 'r', 'v', 'e', 0, 0x82, TBuf, TBuf, TUint,
104 '@', 'e', 'x', 'p', 'a', 'n', 'd', 0, 0x82, TBuf, TBuf, TUint,
105 '#', '*', 0, 0x81, TUint, TBuf,
106 '#', '=', 0, 0x82, TBuf, TBuf, TBuf,
107 '#', '+', '=', 0, 0x82, TBuf, TBuf, TBuf,
108 '#', '+', '=', 0, 0x82, TBuf, TBuf, TUbyte,
109 '#', '+', '=', 0, 0x82, TBuf, TBuf, TUshort,
110 '#', '+', '=', 0, 0x82, TBuf, TBuf, TUint,
111 '#', '+', '=', 0, 0x82, TBuf, TBuf, TUlong,
112 '#', '=', '=', 0, 0x82, TUint, TBuf, TBuf,
113 '@', 'f', 'i', 'n', 'd', 'c', 'h', 0, 0x83, TUint, TBuf, TUint, TUint,
114 '@', 'f', 'i', 'n', 'd', 's', 'h', 0, 0x83, TUint, TBuf, TUint, TUint,
115 '@', 'i', 'n', 'i', 't', 0, 0x81, TStr, TStr,
116 '@', 'l', 'o', 'a', 'd', 0, 0x83, TStr, TStr, TUint, TUint,
117 '@', 'c', 'o', 'p', 'y', 0, 0x82, TStr, TStr, TUint,
118 '@', 'f', 'i', 'n', 'd', 'c', 'h', 0, 0x84, TUint, TStr, TUint, TUint, TUint,
119 '@', 'f', 'i', 'n', 'd', 'c', 'h', 0, 0x82, TUint, TStr, TUint,
120 '@', 'f', 'w', 'i', 'l', 'd', 'c', 'a', 'r', 'd', 0, 0x82, TUint, TStr, TStr,
121 '@', 'p', 'r', 'i', 'n', 't', 0, 0x1, TStr,
122 'p', 'r', 'i', 'n', 't', 0, 0x1, TStr,
123 '@', 's', 'e', 't', 'l', 'e', 'n', 0, 0x82, TStr, TStr, TUint,
124 '@', 's', 'u', 'b', 's', 't', 'r', 0, 0x84, TStr, TStr, TStr, TUint, TUint,
125 '#', '=', 0, 0x82, TStr, TStr, TStr,
126 '#', '+', '=', 0, 0x82, TStr, TStr, TStr,
127 '#', '+', '=', 0, 0x82, TStr, TStr, TUint,
128 '#', '*', 0, 0x81, TUint, TStr,
129 '@', 'o', 'u', 't', '4', 0, 0x83, TStr, TStr, TStr, TUint,
130 '@', 'o', 'u', 't', '8', 0, 0x83, TStr, TStr, TStr, TUlong,
131 '@', 'i', 'n', 'd', 'e', 'x', 0, 0x82, TUint, TReserved, TUint,
132 '@', 'i', 'n', 'i', 't', 0, 0x81, TArr, TArr,
133 '@', 'd', 'e', 'l', 'e', 't', 'e', 0, 0x1, TArr,
134 '@', 'o', 'f', 't', 'y', 'p', 'e', 0, 0x2, TArr, TUint,
135 '@', 'a', 'r', 'r', 'a', 'y', 0, 0x2, TArr, TUint,
136 '@', 'a', 'r', 'r', 'a', 'y', 0, 0x3, TArr, TUint, TUint,
137 '@', 'a', 'r', 'r', 'a', 'y', 0, 0x4, TArr, TUint, TUint, TUint,
138 '@', 'i', 'n', 'd', 'e', 'x', 0, 0x82, TUint, TArr, TUint,
139 '@', 'i', 'n', 'd', 'e', 'x', 0, 0x83, TUint, TArr, TUint, TUint,
140 '@', 'i', 'n', 'd', 'e', 'x', 0, 0x84, TUint, TArr, TUint, TUint, TUint,
141 '#', '*', 0, 0x81, TUint, TArr,
142 '@', 'e', 'x', 'p', 'a', 'n', 'd', 0, 0x82, TUint, TArr, TUint,
143 '@', 'i', 'n', 's', 'e', 'r', 't', 0, 0x83, TUint, TArr, TUint, TUint,
144 '@', 'd', 'e', 'l', 0, 0x83, TArr, TArr, TUint, TUint,
145 '@', 'i', 'n', 'd', 'e', 'x', 0, 0x82, TUint, TCollection, TUint,
146 '@', 'p', 't', 'r', 0, 0x82, TUint, TCollection, TUint,
147 '@', 'g', 'e', 't', 't', 'y', 'p', 'e', 0, 0x82, TUint, TCollection, TUint,
148 '#', '*', 0, 0x81, TUint, TCollection,
149 '@', 'p', 'r', 'i', 'n', 't', 'f', 0, 0x83, TStr, TStr, TStr, TCollection,
150 's', 'i', 'n', 0, 0x81, TDouble, TDouble,
151 'c', 'o', 's', 0, 0x81, TDouble, TDouble,
152 't', 'a', 'n', 0, 0x81, TDouble, TDouble,
153 'a', 's', 'i', 'n', 0, 0x81, TDouble, TDouble,
154 'a', 'c', 'o', 's', 0, 0x81, TDouble, TDouble,
155 'a', 't', 'a', 'n', 0, 0x81, TDouble, TDouble,
156 'e', 'x', 'p', 0, 0x81, TDouble, TDouble,
157 'l', 'n', 0, 0x81, TDouble, TDouble,
158 'l', 'o', 'g', 0, 0x81, TDouble, TDouble,
159 'p', 'o', 'w', 0, 0x82, TDouble, TDouble, TDouble,
160 's', 'q', 'r', 't', 0, 0x81, TDouble, TDouble,
161 'a', 'b', 's', 0, 0x81, TUint, TInt,
162 'f', 'a', 'b', 's', 0, 0x81, TDouble, TDouble,
163 'm', 'o', 'd', 'f', 0, 0x82, TDouble, TDouble, TUint,
164 'c', 'e', 'i', 'l', 0, 0x81, TDouble, TDouble,
165 'f', 'l', 'o', 'o', 'r', 0, 0x81, TDouble, TDouble,
166 's', 't', 'r', 't', 'o', 'l', 0, 0x83, TInt, TUint, TUint, TUint,
167 's', 't', 'r', 't', 'o', 'u', 'l', 0, 0x83, TUint, TUint, TUint, TUint,
168 'a', 't', 'o', 'f', 0, 0x81, TDouble, TUint,
169 'a', 't', 'o', 'i', '6', '4', 0, 0x81, TLong, TUint,
170 '_', 'g', 'e', 't', 'e', 'n', 'v', 0, 0x81, TUint, TUint,
171 '_', 's', 'e', 't', 'e', 'n', 'v', 0, 0x81, TInt, TUint,
172 };
173
174 const pvoid embfuncaddr[] = {
175 vm_getid, type_hasinit, type_hasdelete, type_isinherit, type_init,
176 type_delete, type_sizeof, type_new, type_destroy, lex_init, lex_delete,
177 gentee_lex, gentee_compile, gentee_set, mem_alloc, mem_copy, mem_cmp,
178 mem_free, mem_move, mem_zero, mem_len, mem_lensh, os_getchar, os_scan,
179 vmres_getstr, crc, os_strcmp, os_strcmpign, os_strcmplen, os_strcmpignlen,
180 os_ustrcmplen, os_ustrcmpignlen, gentee_ptr, argc, argv, vm_calladdr,
181 qs_init, qs_search, fastsort, sort, os_gettemp, buf_append, buf_init,
182 buf_del, buf_delete, buf_clear, buf_copy, buf_insert, buf_free, buf_ptr,
183 buf_copy, buf_array, buf_index, buf_reserve, buf_expand, buf_len,
184 buf_set, buf_add, buf_appendch, buf_appendushort, buf_appenduint,
185 buf_appendulong, buf_isequal, buf_find, buf_findsh, str_init, str_copylen,
186 str_copyzero, str_find, str_findch, str_fwildcard, str_output, str_output,
187 str_setlen, str_substr, str_copy, str_add, str_appenduint, str_len,
188 str_out4, str_out8, mem_index, garr_init, garr_delete, garr_oftype,
189 garr_array, garr_array2, garr_array3, garr_index, garr_index2, garr_index3,
190 garr_count, garr_expand, garr_insert, garr_del, collect_index, collect_index,
191 collect_gettype, collect_count, str_sprintf, sin, cos, tan, asin,
192 acos, atan, exp, log, log10, pow, sqrt, labs, fabs, modf, ceil, floor,
193 strtol, strtoul, atof, ATOI64, getenv, _putenv,
194 };
195