summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/ETCL/ETCL_l.cpp.diff
blob: 5b87c3845f4985092ea3b4883687c2e380c0efd9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
--- ETCL_l.cpp.orig	Mon Feb  7 18:49:18 2000
+++ ETCL_l.cpp	Mon Feb  7 18:51:27 2000
@@ -469,7 +469,7 @@
 //
 // = LIBRARY
 //   orbsvcs/ECTL
-// 
+//
 // = FILENAME
 //   ETCL.ll
 //
@@ -641,6 +641,23 @@
 #define YY_RULE_SETUP \
 	YY_USER_ACTION
 
+class TAO_ETCL_Lex_State_Guard
+{
+public:
+  TAO_ETCL_Lex_State_Guard (void *state)
+  {
+    this->previous_state = yy_current_buffer;
+    yy_switch_to_buffer ((YY_BUFFER_STATE)state);
+  }
+  ~TAO_ETCL_Lex_State_Guard (void)
+  {
+    yy_switch_to_buffer (this->previous_state);
+  }
+
+private:
+  YY_BUFFER_STATE previous_state;
+};
+
 YY_DECL
 	{
 	register yy_state_type yy_current_state;
@@ -649,7 +666,10 @@
 
 #line 50 "ETCL/ETCL.ll"
 
+        static ACE_SYNCH_MUTEX mutex;
+        ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, mutex, -1);
 
+        TAO_ETCL_Lex_State_Guard lex_helper (state);
 
 	if ( yy_init )
 		{
@@ -895,8 +915,8 @@
 case 33:
 YY_RULE_SETUP
 #line 84 "ETCL/ETCL.ll"
-{ 
-		  lvalp->constraint = 
+{
+		  lvalp->constraint =
 		    new TAO_ETCL_Boolean_Literal (1);
 		  TAO_YY_LEX_DEBUG; return TAO_ETCL_BOOLEAN;
 		}
@@ -904,8 +924,8 @@
 case 34:
 YY_RULE_SETUP
 #line 89 "ETCL/ETCL.ll"
-{ 
-		  lvalp->constraint = 
+{
+		  lvalp->constraint =
 		    new TAO_ETCL_Boolean_Literal (0);
 		  TAO_YY_LEX_DEBUG; return TAO_ETCL_BOOLEAN;
 		}
@@ -913,10 +933,10 @@
 case 35:
 YY_RULE_SETUP
 #line 94 "ETCL/ETCL.ll"
-{ 
-		  lvalp->constraint = 
+{
+		  lvalp->constraint =
 		    new TAO_ETCL_Integer_Literal (ACE_OS::atoi (yytext));
-		  TAO_YY_LEX_DEBUG; return TAO_ETCL_INTEGER; 
+		  TAO_YY_LEX_DEBUG; return TAO_ETCL_INTEGER;
 		}
 	YY_BREAK
 case 36:
@@ -924,41 +944,41 @@
 #line 99 "ETCL/ETCL.ll"
 {
 		  double v;
-		  sscanf (yytext, "%lf", &v); 
-		  lvalp->constraint = 
+		  sscanf (yytext, "%lf", &v);
+		  lvalp->constraint =
 		    new TAO_ETCL_Float_Literal (v);
-		  TAO_YY_LEX_DEBUG; return TAO_ETCL_FLOAT; 
+		  TAO_YY_LEX_DEBUG; return TAO_ETCL_FLOAT;
 		}
 	YY_BREAK
 case 37:
 YY_RULE_SETUP
 #line 106 "ETCL/ETCL.ll"
-{ 
+{
 		  lvalp->constraint =
 		    new TAO_ETCL_String_Literal (extract_string(yytext));
-		  TAO_YY_LEX_DEBUG; return TAO_ETCL_STRING; 
+		  TAO_YY_LEX_DEBUG; return TAO_ETCL_STRING;
 		}
 	YY_BREAK
 case 38:
 YY_RULE_SETUP
 #line 111 "ETCL/ETCL.ll"
-{ 
-		  lvalp->constraint = 
+{
+		  lvalp->constraint =
 		    new TAO_ETCL_Identifier (yytext);
-		  TAO_YY_LEX_DEBUG; return TAO_ETCL_IDENT; 
+		  TAO_YY_LEX_DEBUG; return TAO_ETCL_IDENT;
 		}
 	YY_BREAK
 case 39:
 YY_RULE_SETUP
 #line 116 "ETCL/ETCL.ll"
-{ 
+{
                   TAO_YY_LEX_DEBUG; break; // Ignore
                 }
 	YY_BREAK
 case 40:
 YY_RULE_SETUP
 #line 119 "ETCL/ETCL.ll"
-{ 
+{
                   TAO_YY_LEX_DEBUG; break; // @@ TODO
                 }
 	YY_BREAK
@@ -1877,7 +1897,7 @@
           continue;
         }
       *t = *i;
-     
+
     }
 
   return str;