1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef ADC_PESTATE_HXX
25 #define ADC_PESTATE_HXX
26 
27 
28 
29 // USED SERVICES
30 	// BASE CLASSES
31 #include<s2_luidl/tokintpr.hxx>
32 #include<s2_luidl/tokproct.hxx>
33 	// COMPONENTS
34 	// PARAMETERS
35 
36 namespace csi
37 {
38 namespace uidl
39 {
40 
41 
42 class TokIdentifier;
43 class TokBuiltInType;
44 class TokPunctuation;
45 class Tok_Documentation;
46 
47 class ParseEnvState : public   	TokenInterpreter,
48 					  virtual protected TokenProcessing_Types
49 {
50   public:
51 	virtual void		Process_Identifier(
52 							const TokIdentifier &
53 												i_rToken );
54 	virtual void		Process_NameSeparator();
55 	virtual void		Process_Punctuation(
56 							const TokPunctuation &
57 												i_rToken );
58 	virtual void		Process_BuiltInType(
59 							const TokBuiltInType &
60 												i_rToken );
61 	virtual void		Process_TypeModifier(
62 							const TokTypeModifier &
63 												i_rToken );
64 	virtual void		Process_MetaType(
65 							const TokMetaType &	i_rToken );
66 	virtual void		Process_Stereotype(
67 							const TokStereotype &
68 												i_rToken );
69 	virtual void		Process_ParameterHandling(
70 							const TokParameterHandling &
71 												i_rToken );
72 	virtual void		Process_Raises();
73 	virtual void		Process_Needs();
74 	virtual void		Process_Observes();
75 	virtual void		Process_Assignment(
76 							const TokAssignment &
77 												i_rToken );
78 	virtual void		Process_EOL();
79 
80 	virtual void		On_SubPE_Left();
81 
82 	virtual void		Process_Default();
83 
84   protected:
ParseEnvState()85 						ParseEnvState() 		:	bDefaultIsError(true) {}
SetDefault2Ignore()86 	void				SetDefault2Ignore()		{ bDefaultIsError = false; }
87 
88   private:
89 	virtual UnoIDL_PE &	MyPE() = 0;
90     bool				bDefaultIsError;
91 };
92 
93 
94 
95 // IMPLEMENTATION
96 
97 
98 }   // namespace uidl
99 }   // namespace csi
100 
101 #endif
102 
103