annotate GEMBASSY-1.0.3/gsoap/src/init2.c @ 1:84a17b3fad1f draft

Uploaded
author ktnyt
date Fri, 26 Jun 2015 05:20:29 -0400
parents 8300eb051bea
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1 /*
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2 init2.c
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
3
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
4 Symbol table initialization.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
5
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
6 gSOAP XML Web services tools
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
7 Copyright (C) 2000-2008, Robert van Engelen, Genivia Inc. All Rights Reserved.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
8 This part of the software is released under one of the following licenses:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
9 GPL or Genivia's license for commercial use.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
10 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
11 GPL license.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
12
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
13 This program is free software; you can redistribute it and/or modify it under
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
14 the terms of the GNU General Public License as published by the Free Software
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
15 Foundation; either version 2 of the License, or (at your option) any later
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
16 version.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
17
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
18 This program is distributed in the hope that it will be useful, but WITHOUT ANY
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
19 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
20 PARTICULAR PURPOSE. See the GNU General Public License for more details.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
21
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
22 You should have received a copy of the GNU General Public License along with
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
23 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
24 Place, Suite 330, Boston, MA 02111-1307 USA
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
25
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
26 Author contact information:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
27 engelen@genivia.com / engelen@acm.org
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
28
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
29 This program is released under the GPL with the additional exemption that
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
30 compiling, linking, and/or using OpenSSL is allowed.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
31 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
32 A commercial use license is available from Genivia, Inc., contact@genivia.com
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
33 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
34 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
35
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
36 #include "soapcpp2.h"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
37
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
38 #ifdef HAVE_CONFIG_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
39 #include "soapcpp2_yacc.h"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
40 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
41 #include "soapcpp2_yacc.tab.h"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
42 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
43
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
44 typedef struct Keyword
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
45 { char *s; /* name */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
46 Token t; /* token */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
47 } Keyword;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
48
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
49 static Keyword keywords[] =
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
50 { { "asm", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
51 { "auto", AUTO },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
52 { "bool", BOOL },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
53 { "break", BREAK },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
54 { "case", CASE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
55 { "catch", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
56 { "char", CHAR },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
57 { "class", CLASS },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
58 { "const", CONST },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
59 { "const_cast", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
60 { "continue", CONTINUE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
61 { "default", DEFAULT },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
62 { "delete", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
63 { "do", DO },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
64 { "double", DOUBLE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
65 { "dynamic_cast", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
66 { "else", ELSE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
67 { "enum", ENUM },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
68 { "errno", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
69 { "explicit", EXPLICIT },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
70 { "export", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
71 { "extern", EXTERN },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
72 { "false", CFALSE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
73 { "float", FLOAT },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
74 { "for", FOR },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
75 { "friend", FRIEND },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
76 { "goto", GOTO },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
77 { "if", IF },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
78 { "inline", INLINE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
79 { "int", INT },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
80 { "int8_t", CHAR },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
81 { "int16_t", SHORT },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
82 { "int32_t", INT },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
83 { "int64_t", LLONG },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
84 { "long", LONG },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
85 { "LONG64", LLONG },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
86 { "mutable", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
87 { "namespace", NAMESPACE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
88 { "new", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
89 { "NULL", null },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
90 { "operator", OPERATOR },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
91 { "private", PRIVATE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
92 { "protected", PROTECTED },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
93 { "public", PUBLIC },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
94 { "register", REGISTER },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
95 { "reinterpret_cast", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
96 { "restrict", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
97 { "return", RETURN },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
98 { "short", SHORT },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
99 { "signed", SIGNED },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
100 { "size_t", SIZE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
101 { "sizeof", SIZEOF },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
102 { "static", STATIC },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
103 { "static_cast", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
104 { "struct", STRUCT },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
105 { "switch", SWITCH },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
106 { "template", TEMPLATE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
107 { "this", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
108 { "throw", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
109 { "time_t", TIME },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
110 { "true", CTRUE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
111 { "typedef", TYPEDEF },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
112 { "typeid", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
113 { "typename", TYPENAME },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
114 { "uint8_t", UCHAR },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
115 { "uint16_t", USHORT },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
116 { "uint32_t", UINT },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
117 { "uint64_t", ULLONG },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
118 { "ULONG64", ULLONG },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
119 { "union", UNION },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
120 { "unsigned", UNSIGNED },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
121 { "using", USING },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
122 { "virtual", VIRTUAL },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
123 { "void", VOID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
124 { "volatile", VOLATILE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
125 { "wchar_t", WCHAR },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
126 { "while", WHILE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
127
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
128 { "operator!", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
129 { "operator~", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
130 { "operator=", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
131 { "operator+=", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
132 { "operator-=", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
133 { "operator*=", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
134 { "operator/=", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
135 { "operator%=", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
136 { "operator&=", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
137 { "operator^=", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
138 { "operator|=", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
139 { "operator<<=", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
140 { "operator>>=", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
141 { "operator||", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
142 { "operator&&", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
143 { "operator|", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
144 { "operator^", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
145 { "operator&", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
146 { "operator==", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
147 { "operator!=", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
148 { "operator<", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
149 { "operator<=", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
150 { "operator>", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
151 { "operator>=", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
152 { "operator<<", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
153 { "operator>>", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
154 { "operator+", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
155 { "operator-", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
156 { "operator*", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
157 { "operator/", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
158 { "operator%", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
159 { "operator++", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
160 { "operator--", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
161 { "operator->", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
162 { "operator[]", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
163 { "operator()", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
164
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
165 { "mustUnderstand", MUSTUNDERSTAND },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
166
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
167 { "soap", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
168 { "SOAP_ENV__Header", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
169 { "dummy", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
170 { "soap_header", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
171
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
172 { "SOAP_ENV__Fault", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
173 { "SOAP_ENV__Code", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
174 { "SOAP_ENV__Subcode", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
175 { "SOAP_ENV__Reason", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
176 { "SOAP_ENV__Text", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
177 { "SOAP_ENV__Detail", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
178 { "SOAP_ENV__Value", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
179 { "SOAP_ENV__Node", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
180 { "SOAP_ENV__Role", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
181 { "faultcode", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
182 { "faultstring", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
183 { "faultactor", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
184 { "detail", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
185 { "__type", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
186 { "fault", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
187 { "__any", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
188
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
189 { "_QName", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
190 { "_XML", ID },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
191 { "std::string", TYPE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
192 { "std::wstring", TYPE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
193
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
194 { "/*?*/", NONE },
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
195
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
196 { 0, 0 }
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
197 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
198
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
199 /*
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
200 init - initialize symbol table with predefined keywords
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
201 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
202 void init(void)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
203 { struct Keyword *k;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
204 for (k = keywords; k->s; k++)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
205 install(k->s, k->t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
206 }