1*78bc99aaSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*78bc99aaSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*78bc99aaSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*78bc99aaSAndrew Rist  * distributed with this work for additional information
6*78bc99aaSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*78bc99aaSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*78bc99aaSAndrew Rist  * "License"); you may not use this file except in compliance
9*78bc99aaSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*78bc99aaSAndrew Rist  *
11*78bc99aaSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*78bc99aaSAndrew Rist  *
13*78bc99aaSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*78bc99aaSAndrew Rist  * software distributed under the License is distributed on an
15*78bc99aaSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*78bc99aaSAndrew Rist  * KIND, either express or implied.  See the License for the
17*78bc99aaSAndrew Rist  * specific language governing permissions and limitations
18*78bc99aaSAndrew Rist  * under the License.
19*78bc99aaSAndrew Rist  *
20*78bc99aaSAndrew Rist  *************************************************************/
21cdf0e10cSrcweir 
22cdf0e10cSrcweir #include <precomp.h>
23cdf0e10cSrcweir #include <s2_luidl/tk_keyw.hxx>
24cdf0e10cSrcweir 
25cdf0e10cSrcweir 
26cdf0e10cSrcweir // NOT FULLY DECLARED SERVICES
27cdf0e10cSrcweir #include <s2_luidl/tokintpr.hxx>
28cdf0e10cSrcweir 
29cdf0e10cSrcweir 
30cdf0e10cSrcweir using csi::uidl::TokBuiltInType;
31cdf0e10cSrcweir using csi::uidl::TokTypeModifier;
32cdf0e10cSrcweir using csi::uidl::TokMetaType;
33cdf0e10cSrcweir using csi::uidl::TokStereotype;
34cdf0e10cSrcweir using csi::uidl::TokParameterHandling;
35cdf0e10cSrcweir 
36cdf0e10cSrcweir 
37cdf0e10cSrcweir lux::EnumValueMap			G_aTokBuiltInType_EV_TokenId_Values;
38cdf0e10cSrcweir TokBuiltInType::EV_TokenId  ev_bty_none(TokBuiltInType::e_none,"");
39cdf0e10cSrcweir TokBuiltInType::EV_TokenId  ev_bty_any(TokBuiltInType::bty_any,"any");
40cdf0e10cSrcweir TokBuiltInType::EV_TokenId  ev_bty_boolean(TokBuiltInType::bty_boolean,"boolean");
41cdf0e10cSrcweir TokBuiltInType::EV_TokenId  ev_bty_byte(TokBuiltInType::bty_byte,"byte");
42cdf0e10cSrcweir TokBuiltInType::EV_TokenId  ev_bty_char(TokBuiltInType::bty_char,"char");
43cdf0e10cSrcweir TokBuiltInType::EV_TokenId  ev_bty_double(TokBuiltInType::bty_double,"double");
44cdf0e10cSrcweir TokBuiltInType::EV_TokenId  ev_bty_hyper(TokBuiltInType::bty_hyper,"hyper");
45cdf0e10cSrcweir TokBuiltInType::EV_TokenId  ev_bty_long(TokBuiltInType::bty_long,"long");
46cdf0e10cSrcweir TokBuiltInType::EV_TokenId  ev_bty_short(TokBuiltInType::bty_short,"short");
47cdf0e10cSrcweir TokBuiltInType::EV_TokenId  ev_bty_string(TokBuiltInType::bty_string,"string");
48cdf0e10cSrcweir TokBuiltInType::EV_TokenId  ev_bty_void(TokBuiltInType::bty_void,"void");
49cdf0e10cSrcweir TokBuiltInType::EV_TokenId  ev_bty_ellipse(TokBuiltInType::bty_ellipse,"...");
50cdf0e10cSrcweir 
51cdf0e10cSrcweir 
52cdf0e10cSrcweir lux::EnumValueMap	        G_aTokTypeModifier_EV_TokenId_Values;
53cdf0e10cSrcweir TokTypeModifier::EV_TokenId ev_tmod_none(TokTypeModifier::e_none,"");
54cdf0e10cSrcweir TokTypeModifier::EV_TokenId ev_tmod_unsigned(TokTypeModifier::tmod_unsigned,"unsigned");
55cdf0e10cSrcweir TokTypeModifier::EV_TokenId ev_tmod_sequence(TokTypeModifier::tmod_sequence,"sequence");
56cdf0e10cSrcweir 
57cdf0e10cSrcweir 
58cdf0e10cSrcweir lux::EnumValueMap	        G_aTokMetaType_EV_TokenId_Values;
59cdf0e10cSrcweir TokMetaType::EV_TokenId     ev_mt_none(TokMetaType::e_none,"");
60cdf0e10cSrcweir TokMetaType::EV_TokenId   	ev_mt_attribute(TokMetaType::mt_attribute,"attribute");
61cdf0e10cSrcweir TokMetaType::EV_TokenId   	ev_mt_constants(TokMetaType::mt_constants,"constants");
62cdf0e10cSrcweir TokMetaType::EV_TokenId   	ev_mt_enum(TokMetaType::mt_enum,"enum");
63cdf0e10cSrcweir TokMetaType::EV_TokenId   	ev_mt_exception(TokMetaType::mt_exception,"exception");
64cdf0e10cSrcweir TokMetaType::EV_TokenId   	ev_mt_ident(TokMetaType::mt_ident,"ident");
65cdf0e10cSrcweir TokMetaType::EV_TokenId   	ev_mt_interface(TokMetaType::mt_interface,"interface");
66cdf0e10cSrcweir TokMetaType::EV_TokenId   	ev_mt_module(TokMetaType::mt_module,"module");
67cdf0e10cSrcweir TokMetaType::EV_TokenId   	ev_mt_property(TokMetaType::mt_property,"property");
68cdf0e10cSrcweir TokMetaType::EV_TokenId   	ev_mt_service(TokMetaType::mt_service,"service");
69cdf0e10cSrcweir TokMetaType::EV_TokenId   	ev_mt_singleton(TokMetaType::mt_singleton,"singleton");
70cdf0e10cSrcweir TokMetaType::EV_TokenId   	ev_mt_struct(TokMetaType::mt_struct,"struct");
71cdf0e10cSrcweir TokMetaType::EV_TokenId   	ev_mt_typedef(TokMetaType::mt_typedef,"typedef");
72cdf0e10cSrcweir TokMetaType::EV_TokenId   	ev_mt_uik(TokMetaType::mt_uik,"uik");
73cdf0e10cSrcweir 
74cdf0e10cSrcweir 
75cdf0e10cSrcweir lux::EnumValueMap	        G_aTokStereotype_EV_TokenId_Values;
76cdf0e10cSrcweir TokStereotype::EV_TokenId   ev_ste_none(TokStereotype::e_none,"");
77cdf0e10cSrcweir TokStereotype::EV_TokenId   ev_ste_bound(TokStereotype::ste_bound,"bound");
78cdf0e10cSrcweir TokStereotype::EV_TokenId   ev_ste_const(TokStereotype::ste_const,"const");
79cdf0e10cSrcweir TokStereotype::EV_TokenId   ev_ste_constrained(TokStereotype::ste_constrained,"constrained");
80cdf0e10cSrcweir TokStereotype::EV_TokenId   ev_ste_maybeambiguous(TokStereotype::ste_maybeambiguous,"maybeambiguous");
81cdf0e10cSrcweir TokStereotype::EV_TokenId   ev_ste_maybedefault(TokStereotype::ste_maybedefault,"maybedefault");
82cdf0e10cSrcweir TokStereotype::EV_TokenId   ev_ste_maybevoid(TokStereotype::ste_maybevoid,"maybevoid");
83cdf0e10cSrcweir TokStereotype::EV_TokenId   ev_ste_oneway(TokStereotype::ste_oneway,"oneway");
84cdf0e10cSrcweir TokStereotype::EV_TokenId   ev_ste_optional(TokStereotype::ste_optional,"optional");
85cdf0e10cSrcweir TokStereotype::EV_TokenId   ev_ste_readonly(TokStereotype::ste_readonly,"readonly");
86cdf0e10cSrcweir TokStereotype::EV_TokenId   ev_ste_removable(TokStereotype::ste_removable,"removable");
87cdf0e10cSrcweir TokStereotype::EV_TokenId   ev_ste_virtual(TokStereotype::ste_virtual,"virtual");
88cdf0e10cSrcweir TokStereotype::EV_TokenId   ev_ste_transient(TokStereotype::ste_transient,"transient");
89cdf0e10cSrcweir TokStereotype::EV_TokenId   ev_ste_published(TokStereotype::ste_published,"published");
90cdf0e10cSrcweir 
91cdf0e10cSrcweir 
92cdf0e10cSrcweir lux::EnumValueMap	        		G_aTokParameterHandling_EV_TokenId_Values;
93cdf0e10cSrcweir TokParameterHandling::EV_TokenId    ev_ph_none(TokParameterHandling::e_none,"");
94cdf0e10cSrcweir TokParameterHandling::EV_TokenId   	ev_ph_in(TokParameterHandling::ph_in,"in");
95cdf0e10cSrcweir TokParameterHandling::EV_TokenId   	ev_ph_out(TokParameterHandling::ph_out,"out");
96cdf0e10cSrcweir TokParameterHandling::EV_TokenId   	ev_ph_inout(TokParameterHandling::ph_inout,"inout");
97cdf0e10cSrcweir 
98cdf0e10cSrcweir 
99cdf0e10cSrcweir namespace lux
100cdf0e10cSrcweir {
101cdf0e10cSrcweir 
102cdf0e10cSrcweir template<> EnumValueMap &
Values_()103cdf0e10cSrcweir TokBuiltInType::EV_TokenId::Values_()		{ return G_aTokBuiltInType_EV_TokenId_Values; }
104cdf0e10cSrcweir template<> EnumValueMap &
Values_()105cdf0e10cSrcweir TokTypeModifier::EV_TokenId::Values_()		{ return G_aTokTypeModifier_EV_TokenId_Values; }
106cdf0e10cSrcweir template<> EnumValueMap &
Values_()107cdf0e10cSrcweir TokMetaType::EV_TokenId::Values_()			{ return G_aTokMetaType_EV_TokenId_Values; }
108cdf0e10cSrcweir template<> EnumValueMap &
Values_()109cdf0e10cSrcweir TokStereotype::EV_TokenId::Values_()		{ return G_aTokStereotype_EV_TokenId_Values; }
110cdf0e10cSrcweir template<> EnumValueMap &
Values_()111cdf0e10cSrcweir TokParameterHandling::EV_TokenId::Values_()	{ return G_aTokParameterHandling_EV_TokenId_Values; }
112cdf0e10cSrcweir 
113cdf0e10cSrcweir }   // namespace lux
114cdf0e10cSrcweir 
115cdf0e10cSrcweir 
116cdf0e10cSrcweir 
117cdf0e10cSrcweir namespace csi
118cdf0e10cSrcweir {
119cdf0e10cSrcweir namespace uidl
120cdf0e10cSrcweir {
121cdf0e10cSrcweir 
122cdf0e10cSrcweir void
Trigger(TokenInterpreter & io_rInterpreter) const123cdf0e10cSrcweir TokBuiltInType::Trigger( TokenInterpreter &	io_rInterpreter ) const
124cdf0e10cSrcweir {
125cdf0e10cSrcweir 	io_rInterpreter.Process_BuiltInType(*this);
126cdf0e10cSrcweir }
127cdf0e10cSrcweir 
128cdf0e10cSrcweir const char *
Text() const129cdf0e10cSrcweir TokBuiltInType::Text() const
130cdf0e10cSrcweir {
131cdf0e10cSrcweir 	return eTag.Text();
132cdf0e10cSrcweir }
133cdf0e10cSrcweir 
134cdf0e10cSrcweir void
Trigger(TokenInterpreter & io_rInterpreter) const135cdf0e10cSrcweir TokTypeModifier::Trigger( TokenInterpreter &	io_rInterpreter ) const
136cdf0e10cSrcweir {
137cdf0e10cSrcweir 	io_rInterpreter.Process_TypeModifier(*this);
138cdf0e10cSrcweir }
139cdf0e10cSrcweir 
140cdf0e10cSrcweir const char *
Text() const141cdf0e10cSrcweir TokTypeModifier::Text() const
142cdf0e10cSrcweir {
143cdf0e10cSrcweir 	return eTag.Text();
144cdf0e10cSrcweir }
145cdf0e10cSrcweir 
146cdf0e10cSrcweir void
Trigger(TokenInterpreter & io_rInterpreter) const147cdf0e10cSrcweir TokMetaType::Trigger( TokenInterpreter &	io_rInterpreter ) const
148cdf0e10cSrcweir {
149cdf0e10cSrcweir 	io_rInterpreter.Process_MetaType(*this);
150cdf0e10cSrcweir }
151cdf0e10cSrcweir 
152cdf0e10cSrcweir const char *
Text() const153cdf0e10cSrcweir TokMetaType::Text() const
154cdf0e10cSrcweir {
155cdf0e10cSrcweir 	return eTag.Text();
156cdf0e10cSrcweir }
157cdf0e10cSrcweir 
158cdf0e10cSrcweir void
Trigger(TokenInterpreter & io_rInterpreter) const159cdf0e10cSrcweir TokStereotype::Trigger( TokenInterpreter &	io_rInterpreter ) const
160cdf0e10cSrcweir {
161cdf0e10cSrcweir 	io_rInterpreter.Process_Stereotype(*this);
162cdf0e10cSrcweir }
163cdf0e10cSrcweir 
164cdf0e10cSrcweir const char *
Text() const165cdf0e10cSrcweir TokStereotype::Text() const
166cdf0e10cSrcweir {
167cdf0e10cSrcweir 	return eTag.Text();
168cdf0e10cSrcweir }
169cdf0e10cSrcweir 
170cdf0e10cSrcweir void
Trigger(TokenInterpreter & io_rInterpreter) const171cdf0e10cSrcweir TokParameterHandling::Trigger( TokenInterpreter &	io_rInterpreter ) const
172cdf0e10cSrcweir {
173cdf0e10cSrcweir 	io_rInterpreter.Process_ParameterHandling(*this);
174cdf0e10cSrcweir }
175cdf0e10cSrcweir 
176cdf0e10cSrcweir const char *
Text() const177cdf0e10cSrcweir TokParameterHandling::Text() const
178cdf0e10cSrcweir {
179cdf0e10cSrcweir 	return eTag.Text();
180cdf0e10cSrcweir }
181cdf0e10cSrcweir 
182cdf0e10cSrcweir void
Trigger(TokenInterpreter & io_rInterpreter) const183cdf0e10cSrcweir TokRaises::Trigger( TokenInterpreter &	io_rInterpreter ) const
184cdf0e10cSrcweir {
185cdf0e10cSrcweir 	io_rInterpreter.Process_Raises();
186cdf0e10cSrcweir }
187cdf0e10cSrcweir 
188cdf0e10cSrcweir const char *
Text() const189cdf0e10cSrcweir TokRaises::Text() const
190cdf0e10cSrcweir {
191cdf0e10cSrcweir 	return "raises";
192cdf0e10cSrcweir }
193cdf0e10cSrcweir 
194cdf0e10cSrcweir void
Trigger(TokenInterpreter & io_rInterpreter) const195cdf0e10cSrcweir TokNeeds::Trigger( TokenInterpreter &	io_rInterpreter ) const
196cdf0e10cSrcweir {
197cdf0e10cSrcweir 	io_rInterpreter.Process_Needs();
198cdf0e10cSrcweir }
199cdf0e10cSrcweir 
200cdf0e10cSrcweir const char *
Text() const201cdf0e10cSrcweir TokNeeds::Text() const
202cdf0e10cSrcweir {
203cdf0e10cSrcweir 	return "needs";
204cdf0e10cSrcweir }
205cdf0e10cSrcweir void
Trigger(TokenInterpreter & io_rInterpreter) const206cdf0e10cSrcweir TokObserves::Trigger( TokenInterpreter &	io_rInterpreter ) const
207cdf0e10cSrcweir {
208cdf0e10cSrcweir 	io_rInterpreter.Process_Observes();
209cdf0e10cSrcweir }
210cdf0e10cSrcweir 
211cdf0e10cSrcweir const char *
Text() const212cdf0e10cSrcweir TokObserves::Text() const
213cdf0e10cSrcweir {
214cdf0e10cSrcweir 	return "observes";
215cdf0e10cSrcweir }
216cdf0e10cSrcweir 
217cdf0e10cSrcweir }   // namespace uidl
218cdf0e10cSrcweir }   // namespace csi
219cdf0e10cSrcweir 
220