Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 242153 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/qvt/declarative/parser/ocl/OCLFileAnalyzer.java (-1 / +1 lines)
Lines 19-25 Link Here
19
import java.util.ArrayList;
19
import java.util.ArrayList;
20
import java.util.List;
20
import java.util.List;
21
21
22
import lpg.lpgjavaruntime.Monitor;
22
import lpg.runtime.Monitor;
23
23
24
import org.eclipse.emf.ecore.EClass;
24
import org.eclipse.emf.ecore.EClass;
25
import org.eclipse.emf.ecore.EClassifier;
25
import org.eclipse.emf.ecore.EClassifier;
(-)src/org/eclipse/qvt/declarative/parser/ocl/environment/OCLFileEnvironment.java (-2 / +2 lines)
Lines 20-27 Link Here
20
import java.util.Collection;
20
import java.util.Collection;
21
import java.util.List;
21
import java.util.List;
22
22
23
import lpg.lpgjavaruntime.IToken;
23
import lpg.runtime.IToken;
24
import lpg.lpgjavaruntime.Monitor;
24
import lpg.runtime.Monitor;
25
25
26
import org.eclipse.emf.common.notify.Notifier;
26
import org.eclipse.emf.common.notify.Notifier;
27
import org.eclipse.emf.ecore.EClass;
27
import org.eclipse.emf.ecore.EClass;
(-)src/org/eclipse/qvt/declarative/parser/qvtrelation/QVTrParser.g (-142 / +142 lines)
Lines 22-35 Link Here
22
%options backtrack
22
%options backtrack
23
%options noserialize
23
%options noserialize
24
%options package=org.eclipse.qvt.declarative.parser.qvtrelation
24
%options package=org.eclipse.qvt.declarative.parser.qvtrelation
25
%options import_terminals=QVTrLexer.g
25
%options import_terminals=QVTrLexer.gi
26
%options ast_type=CSTNode
26
%options ast_type=CSTNode
27
%options programming_language=java
27
%options programming_language=java
28
%options action=("*.java", "/.", "./")
28
%options action=("*.java", "/.", "./")
29
%options ParseTable=lpg.lpgjavaruntime.ParseTable
29
%options ParseTable=lpg.runtime.ParseTable
30
%options include_directory=".;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/lpg;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/parser;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/parser/backtracking"
30
%options include_directory=".;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/lpg;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/parser;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/parser/backtracking"
31
31
32
$KeyWords
32
%KeyWords
33
	checkonly
33
	checkonly
34
	default_values
34
	default_values
35
	domain
35
	domain
Lines 53-65 Link Here
53
	inv
53
	inv
54
	post
54
	post
55
	pre
55
	pre
56
$End
56
%End
57
57
58
$Terminals
58
%Terminals
59
	PLUS_PLUS     ::= '++'
59
	PLUS_PLUS     ::= '++'
60
$End
60
%End
61
61
62
$Globals
62
%Globals
63
/.
63
/.
64
import org.eclipse.qvt.declarative.parser.qvt.cst.*;
64
import org.eclipse.qvt.declarative.parser.qvt.cst.*;
65
import org.eclipse.qvt.declarative.parser.qvtrelation.cst.*;
65
import org.eclipse.qvt.declarative.parser.qvtrelation.cst.*;
Lines 69-89 Link Here
69
import org.eclipse.ocl.parser.backtracking.OCLParserErrors;
69
import org.eclipse.ocl.parser.backtracking.OCLParserErrors;
70
70
71
./
71
./
72
$End
72
%End
73
73
74
$Start
74
%Start
75
	topLevelCS
75
	topLevelCS
76
$End
76
%End
77
77
78
$Include
78
%Include
79
	EssentialOCL.g
79
	EssentialOCL.gi
80
$End
80
%End
81
81
82
$Include
82
%Include
83
	EssentialOCLErrors.g
83
	EssentialOCLErrors.gi
84
$End
84
%End
85
85
86
$Define
86
%Define
87
	$prs_parser_class /.BacktrackingParser./
87
	$prs_parser_class /.BacktrackingParser./
88
	$prs_parser_exception /.NotBacktrackParseTableException./
88
	$prs_parser_exception /.NotBacktrackParseTableException./
89
	$prs_parser_throw /.throw new RuntimeException("****Error: Regenerate $prs_type.java with -BACKTRACK option")./
89
	$prs_parser_throw /.throw new RuntimeException("****Error: Regenerate $prs_type.java with -BACKTRACK option")./
Lines 93-101 Link Here
93
    $LPGParsersym_class /.QVTrParserSymbols./
93
    $LPGParsersym_class /.QVTrParserSymbols./
94
	$copyright_contributions /.*   E.D.Willink - Extended API and implementation for QVTr
94
	$copyright_contributions /.*   E.D.Willink - Extended API and implementation for QVTr
95
*./
95
*./
96
$End
96
%End
97
97
98
$Headers
98
%Headers
99
	/.			
99
	/.			
100
		protected IdentifierCS createIdentifierCS(int token) {
100
		protected IdentifierCS createIdentifierCS(int token) {
101
			IdentifierCS result = QVTCSTFactory.eINSTANCE.createIdentifierCS();
101
			IdentifierCS result = QVTCSTFactory.eINSTANCE.createIdentifierCS();
Lines 113-177 Link Here
113
			return result;
113
			return result;
114
		}
114
		}
115
	./
115
	./
116
$End
116
%End
117
117
118
$Rules
118
%Rules
119
--<topLevel> ::= ('import' <unit> ';' )* <transformation>*
119
--<topLevel> ::= ('import' <unit> ';' )* <transformation>*
120
	topLevelCS_0_ ::= $empty
120
	topLevelCS_0_ ::= %empty
121
		/.$BeginJava
121
		/.$BeginCode
122
					TopLevelCS result = QVTrCSTFactory.eINSTANCE.createTopLevelCS();
122
					TopLevelCS result = QVTrCSTFactory.eINSTANCE.createTopLevelCS();
123
					setOffsets(result, getIToken($getToken(1)));
123
					setOffsets(result, getIToken($getToken(1)));
124
					$setResult(result);
124
					$setResult(result);
125
		  $EndJava
125
		  $EndCode
126
		./
126
		./
127
	topLevelCS_0_ ::= topLevelCS_0_ import unitCS ';'
127
	topLevelCS_0_ ::= topLevelCS_0_ import unitCS ';'
128
		/.$BeginJava
128
		/.$BeginCode
129
					TopLevelCS result = (TopLevelCS)$getSym(1);
129
					TopLevelCS result = (TopLevelCS)$getSym(1);
130
					result.getImportClause().add((UnitCS)$getSym(3));
130
					result.getImportClause().add((UnitCS)$getSym(3));
131
					setOffsets(result, result, getIToken($getToken(4)));
131
					setOffsets(result, result, getIToken($getToken(4)));
132
					$setResult(result);
132
					$setResult(result);
133
		  $EndJava
133
		  $EndCode
134
		./
134
		./
135
	topLevelCS_0_ ::= topLevelCS_0_ ERROR_TOKEN
135
	topLevelCS_0_ ::= topLevelCS_0_ ERROR_TOKEN
136
		/.$BeginJava
136
		/.$BeginCode
137
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_TOPLEVEL);
137
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_TOPLEVEL);
138
		  $EndJava
138
		  $EndCode
139
		./	
139
		./	
140
	topLevelCS_1_ ::= topLevelCS transformationCS
140
	topLevelCS_1_ ::= topLevelCS transformationCS
141
		/.$BeginJava
141
		/.$BeginCode
142
					TransformationCS transformationCS = (TransformationCS)$getSym(2);
142
					TransformationCS transformationCS = (TransformationCS)$getSym(2);
143
					TopLevelCS result = (TopLevelCS)$getSym(1);
143
					TopLevelCS result = (TopLevelCS)$getSym(1);
144
					result.getTransformation().add(transformationCS);
144
					result.getTransformation().add(transformationCS);
145
					setOffsets(result, result, transformationCS);
145
					setOffsets(result, result, transformationCS);
146
					$setResult(result);
146
					$setResult(result);
147
		  $EndJava
147
		  $EndCode
148
		./
148
		./
149
	topLevelCS_1_ ::= topLevelCS_1_ ERROR_TOKEN
149
	topLevelCS_1_ ::= topLevelCS_1_ ERROR_TOKEN
150
		/.$BeginJava
150
		/.$BeginCode
151
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_TRANSFORMATION);
151
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_TRANSFORMATION);
152
		  $EndJava
152
		  $EndCode
153
		./	
153
		./	
154
	topLevelCS -> topLevelCS_0_
154
	topLevelCS -> topLevelCS_0_
155
	topLevelCS -> topLevelCS_1_
155
	topLevelCS -> topLevelCS_1_
156
		
156
		
157
--<unit> ::= <identifier> ('.' <identifier>)*
157
--<unit> ::= <identifier> ('.' <identifier>)*
158
	unitCS ::= identifierCS
158
	unitCS ::= identifierCS
159
		/.$BeginJava
159
		/.$BeginCode
160
					IdentifierCS identifierCS = (IdentifierCS)$getSym(1);
160
					IdentifierCS identifierCS = (IdentifierCS)$getSym(1);
161
					UnitCS result = QVTrCSTFactory.eINSTANCE.createUnitCS();
161
					UnitCS result = QVTrCSTFactory.eINSTANCE.createUnitCS();
162
					result.getIdentifier().add(identifierCS);
162
					result.getIdentifier().add(identifierCS);
163
					setOffsets(result, identifierCS);
163
					setOffsets(result, identifierCS);
164
					$setResult(result);
164
					$setResult(result);
165
		  $EndJava
165
		  $EndCode
166
		./
166
		./
167
	unitCS ::= unitCS '.' identifierCS
167
	unitCS ::= unitCS '.' identifierCS
168
		/.$BeginJava
168
		/.$BeginCode
169
					IdentifierCS identifierCS = (IdentifierCS)$getSym(3);
169
					IdentifierCS identifierCS = (IdentifierCS)$getSym(3);
170
					UnitCS result = (UnitCS)$getSym(1);
170
					UnitCS result = (UnitCS)$getSym(1);
171
					result.getIdentifier().add(identifierCS);
171
					result.getIdentifier().add(identifierCS);
172
					setOffsets(result, result, identifierCS);
172
					setOffsets(result, result, identifierCS);
173
					$setResult(result);
173
					$setResult(result);
174
		  $EndJava
174
		  $EndCode
175
		./
175
		./
176
	
176
	
177
--<transformation> ::= 'transformation' <identifier> 
177
--<transformation> ::= 'transformation' <identifier> 
Lines 179-185 Link Here
179
--                     ['extends' <identifier> (',' <identifier>)* ]
179
--                     ['extends' <identifier> (',' <identifier>)* ]
180
--                     '{' <keyDecl>* ( <relation> | <query> )* '}'
180
--                     '{' <keyDecl>* ( <relation> | <query> )* '}'
181
	transformationCS_0_ ::= transformation identifierCS '(' modelDeclCS
181
	transformationCS_0_ ::= transformation identifierCS '(' modelDeclCS
182
		/.$BeginJava
182
		/.$BeginCode
183
					IdentifierCS identifierCS = (IdentifierCS)$getSym(2);
183
					IdentifierCS identifierCS = (IdentifierCS)$getSym(2);
184
					ModelDeclCS modelDeclCS = (ModelDeclCS)$getSym(4);
184
					ModelDeclCS modelDeclCS = (ModelDeclCS)$getSym(4);
185
					TransformationCS result = QVTrCSTFactory.eINSTANCE.createTransformationCS();
185
					TransformationCS result = QVTrCSTFactory.eINSTANCE.createTransformationCS();
Lines 187-304 Link Here
187
					result.getModelDecl().add(modelDeclCS);
187
					result.getModelDecl().add(modelDeclCS);
188
					setOffsets(result, getIToken($getToken(1)), modelDeclCS);
188
					setOffsets(result, getIToken($getToken(1)), modelDeclCS);
189
					$setResult(result);
189
					$setResult(result);
190
		  $EndJava
190
		  $EndCode
191
		./
191
		./
192
	transformationCS_0_ ::= transformationCS_0_ ',' modelDeclCS
192
	transformationCS_0_ ::= transformationCS_0_ ',' modelDeclCS
193
		/.$BeginJava
193
		/.$BeginCode
194
					ModelDeclCS modelDeclCS = (ModelDeclCS)$getSym(3);
194
					ModelDeclCS modelDeclCS = (ModelDeclCS)$getSym(3);
195
					TransformationCS result = (TransformationCS)$getSym(1);
195
					TransformationCS result = (TransformationCS)$getSym(1);
196
					result.getModelDecl().add(modelDeclCS);
196
					result.getModelDecl().add(modelDeclCS);
197
					setOffsets(result, result, modelDeclCS);
197
					setOffsets(result, result, modelDeclCS);
198
					$setResult(result);
198
					$setResult(result);
199
		  $EndJava
199
		  $EndCode
200
		./
200
		./
201
	transformationCS_0_ ::= transformationCS_0_ ERROR_TOKEN
201
	transformationCS_0_ ::= transformationCS_0_ ERROR_TOKEN
202
		/.$BeginJava
202
		/.$BeginCode
203
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_MODELDECL);
203
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_MODELDECL);
204
		  $EndJava
204
		  $EndCode
205
		./	
205
		./	
206
	transformationCS_1_ ::= transformationCS_0_ ')'
206
	transformationCS_1_ ::= transformationCS_0_ ')'
207
		/.$BeginJava
207
		/.$BeginCode
208
					TransformationCS result = (TransformationCS)$getSym(1);
208
					TransformationCS result = (TransformationCS)$getSym(1);
209
					setOffsets(result, result, getIToken($getToken(3)));
209
					setOffsets(result, result, getIToken($getToken(3)));
210
					$setResult(result);
210
					$setResult(result);
211
		  $EndJava
211
		  $EndCode
212
		./
212
		./
213
	transformationCS_2_ -> transformationCS_1_
213
	transformationCS_2_ -> transformationCS_1_
214
	transformationCS_2_ ::= transformationCS_1_ extends identifierCS
214
	transformationCS_2_ ::= transformationCS_1_ extends identifierCS
215
		/.$BeginJava
215
		/.$BeginCode
216
					IdentifierCS identifierCS = (IdentifierCS)$getSym(3);
216
					IdentifierCS identifierCS = (IdentifierCS)$getSym(3);
217
					TransformationCS result = (TransformationCS)$getSym(1);
217
					TransformationCS result = (TransformationCS)$getSym(1);
218
					result.setExtends(identifierCS);
218
					result.setExtends(identifierCS);
219
					setOffsets(result, result, identifierCS);
219
					setOffsets(result, result, identifierCS);
220
					$setResult(result);
220
					$setResult(result);
221
		  $EndJava
221
		  $EndCode
222
		./
222
		./
223
	transformationCS_3_ -> transformationCS_2_ '{'
223
	transformationCS_3_ -> transformationCS_2_ '{'
224
	transformationCS_3_ ::= transformationCS_3_ keyDeclCS
224
	transformationCS_3_ ::= transformationCS_3_ keyDeclCS
225
		/.$BeginJava
225
		/.$BeginCode
226
					KeyDeclCS keyDeclCS = (KeyDeclCS)$getSym(2);
226
					KeyDeclCS keyDeclCS = (KeyDeclCS)$getSym(2);
227
					TransformationCS result = (TransformationCS)$getSym(1);
227
					TransformationCS result = (TransformationCS)$getSym(1);
228
					result.getKeyDecl().add(keyDeclCS);
228
					result.getKeyDecl().add(keyDeclCS);
229
					setOffsets(result, result, keyDeclCS);
229
					setOffsets(result, result, keyDeclCS);
230
					$setResult(result);
230
					$setResult(result);
231
		  $EndJava
231
		  $EndCode
232
		./
232
		./
233
	transformationCS_4_ -> transformationCS_3_
233
	transformationCS_4_ -> transformationCS_3_
234
	transformationCS_4_ ::= transformationCS_4_ queryCS
234
	transformationCS_4_ ::= transformationCS_4_ queryCS
235
		/.$BeginJava
235
		/.$BeginCode
236
					QueryCS queryCS =(QueryCS)$getSym(2);
236
					QueryCS queryCS =(QueryCS)$getSym(2);
237
					TransformationCS result = (TransformationCS)$getSym(1);
237
					TransformationCS result = (TransformationCS)$getSym(1);
238
					result.getQuery().add(queryCS);
238
					result.getQuery().add(queryCS);
239
					setOffsets(result, result, queryCS);
239
					setOffsets(result, result, queryCS);
240
					$setResult(result);
240
					$setResult(result);
241
		  $EndJava
241
		  $EndCode
242
		./
242
		./
243
	transformationCS_4_ ::= transformationCS_4_ relationCS
243
	transformationCS_4_ ::= transformationCS_4_ relationCS
244
		/.$BeginJava
244
		/.$BeginCode
245
					RelationCS relationCS = (RelationCS)$getSym(2);
245
					RelationCS relationCS = (RelationCS)$getSym(2);
246
					TransformationCS result = (TransformationCS)$getSym(1);
246
					TransformationCS result = (TransformationCS)$getSym(1);
247
					result.getRelation().add(relationCS);
247
					result.getRelation().add(relationCS);
248
					setOffsets(result, result, relationCS);
248
					setOffsets(result, result, relationCS);
249
					$setResult(result);
249
					$setResult(result);
250
		  $EndJava
250
		  $EndCode
251
		./
251
		./
252
	transformationCS_4_ ::= transformationCS_4_ ERROR_TOKEN
252
	transformationCS_4_ ::= transformationCS_4_ ERROR_TOKEN
253
		/.$BeginJava
253
		/.$BeginCode
254
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_TRANSFORMATION_ELEMENT);
254
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_TRANSFORMATION_ELEMENT);
255
		  $EndJava
255
		  $EndCode
256
		./	
256
		./	
257
	transformationCS ::= transformationCS_4_ '}'
257
	transformationCS ::= transformationCS_4_ '}'
258
		/.$BeginJava
258
		/.$BeginCode
259
					TransformationCS result = (TransformationCS)$getSym(1);
259
					TransformationCS result = (TransformationCS)$getSym(1);
260
					setOffsets(result, result, getIToken($getToken(2)));
260
					setOffsets(result, result, getIToken($getToken(2)));
261
					$setResult(result);
261
					$setResult(result);
262
		  $EndJava
262
		  $EndCode
263
		./
263
		./
264
	
264
	
265
--<modelDecl> ::= <modelId> ':' <metaModelId>
265
--<modelDecl> ::= <modelId> ':' <metaModelId>
266
--**<modelDecl> ::= <modelId> ':' '{' <metaModelId> (',' <metaModelId>)* '}'
266
--**<modelDecl> ::= <modelId> ':' '{' <metaModelId> (',' <metaModelId>)* '}'
267
	modelDeclCS_0_ ::= modelIdCS ':'
267
	modelDeclCS_0_ ::= modelIdCS ':'
268
		/.$BeginJava
268
		/.$BeginCode
269
					IdentifierCS modelIdCS = (IdentifierCS)$getSym(1);
269
					IdentifierCS modelIdCS = (IdentifierCS)$getSym(1);
270
					ModelDeclCS result = QVTrCSTFactory.eINSTANCE.createModelDeclCS();
270
					ModelDeclCS result = QVTrCSTFactory.eINSTANCE.createModelDeclCS();
271
					result.setModelId(modelIdCS);
271
					result.setModelId(modelIdCS);
272
					setOffsets(result, modelIdCS, getIToken($getToken(2)));
272
					setOffsets(result, modelIdCS, getIToken($getToken(2)));
273
					$setResult(result);
273
					$setResult(result);
274
		  $EndJava
274
		  $EndCode
275
		./
275
		./
276
	modelDeclCS_1_ -> modelDeclCS_0_ '{'
276
	modelDeclCS_1_ -> modelDeclCS_0_ '{'
277
	modelDeclCS_1_ -> modelDeclCS_2_ ','
277
	modelDeclCS_1_ -> modelDeclCS_2_ ','
278
	modelDeclCS_2_ ::= modelDeclCS_1_ metaModelIdCS
278
	modelDeclCS_2_ ::= modelDeclCS_1_ metaModelIdCS
279
		/.$NewCase ./
279
		/.$NewCase ./
280
	modelDeclCS ::= modelDeclCS_0_ metaModelIdCS
280
	modelDeclCS ::= modelDeclCS_0_ metaModelIdCS
281
		/.$BeginJava
281
		/.$BeginCode
282
					IdentifierCS metaModelIdCS = (IdentifierCS)$getSym(2);
282
					IdentifierCS metaModelIdCS = (IdentifierCS)$getSym(2);
283
					ModelDeclCS result = (ModelDeclCS)$getSym(1);
283
					ModelDeclCS result = (ModelDeclCS)$getSym(1);
284
					result.getMetaModelId().add(metaModelIdCS);
284
					result.getMetaModelId().add(metaModelIdCS);
285
					setOffsets(result, result, metaModelIdCS);
285
					setOffsets(result, result, metaModelIdCS);
286
					$setResult(result);
286
					$setResult(result);
287
		  $EndJava
287
		  $EndCode
288
		./
288
		./
289
	modelDeclCS_2_ ::= modelDeclCS_1_ ERROR_TOKEN
289
	modelDeclCS_2_ ::= modelDeclCS_1_ ERROR_TOKEN
290
		/.$NewCase ./
290
		/.$NewCase ./
291
	modelDeclCS ::= modelDeclCS_0_ ERROR_TOKEN
291
	modelDeclCS ::= modelDeclCS_0_ ERROR_TOKEN
292
		/.$BeginJava
292
		/.$BeginCode
293
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_MODELDECL_ELEMENT);
293
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_MODELDECL_ELEMENT);
294
		  $EndJava
294
		  $EndCode
295
		./	
295
		./	
296
	modelDeclCS ::= modelDeclCS_2_ '}'
296
	modelDeclCS ::= modelDeclCS_2_ '}'
297
		/.$BeginJava
297
		/.$BeginCode
298
					ModelDeclCS result = (ModelDeclCS)$getSym(1);
298
					ModelDeclCS result = (ModelDeclCS)$getSym(1);
299
					setOffsets(result, result, getIToken($getToken(2)));
299
					setOffsets(result, result, getIToken($getToken(2)));
300
					$setResult(result);
300
					$setResult(result);
301
		  $EndJava
301
		  $EndCode
302
		./
302
		./
303
	
303
	
304
--<modelId> ::= <identifier>
304
--<modelId> ::= <identifier>
Lines 309-343 Link Here
309
309
310
--<keyDecl> ::= 'key' <classId> '{' <propertyId> (, <propertyId>)* '}' ';'
310
--<keyDecl> ::= 'key' <classId> '{' <propertyId> (, <propertyId>)* '}' ';'
311
	keyDeclCS_0_ ::= key classIdCS '{'
311
	keyDeclCS_0_ ::= key classIdCS '{'
312
		/.$BeginJava
312
		/.$BeginCode
313
					PathNameCS classIdCS = (PathNameCS)$getSym(2);
313
					PathNameCS classIdCS = (PathNameCS)$getSym(2);
314
					KeyDeclCS result = QVTrCSTFactory.eINSTANCE.createKeyDeclCS();
314
					KeyDeclCS result = QVTrCSTFactory.eINSTANCE.createKeyDeclCS();
315
					result.setClassId(classIdCS);
315
					result.setClassId(classIdCS);
316
					setOffsets(result, getIToken($getToken(1)), getIToken($getToken(3)));
316
					setOffsets(result, getIToken($getToken(1)), getIToken($getToken(3)));
317
					$setResult(result);
317
					$setResult(result);
318
		  $EndJava
318
		  $EndCode
319
		./
319
		./
320
	keyDeclCS_0_ -> keyDeclCS_1_ ','
320
	keyDeclCS_0_ -> keyDeclCS_1_ ','
321
	keyDeclCS_1_ ::= keyDeclCS_0_ propertyIdCS
321
	keyDeclCS_1_ ::= keyDeclCS_0_ propertyIdCS
322
		/.$BeginJava
322
		/.$BeginCode
323
					IdentifiedCS propertyIdCS = (IdentifiedCS)$getSym(2);
323
					IdentifiedCS propertyIdCS = (IdentifiedCS)$getSym(2);
324
					KeyDeclCS result = (KeyDeclCS)$getSym(1);
324
					KeyDeclCS result = (KeyDeclCS)$getSym(1);
325
					result.getPropertyId().add(propertyIdCS);
325
					result.getPropertyId().add(propertyIdCS);
326
					setOffsets(result, result, propertyIdCS);
326
					setOffsets(result, result, propertyIdCS);
327
					$setResult(result);
327
					$setResult(result);
328
		  $EndJava
328
		  $EndCode
329
		./
329
		./
330
	keyDeclCS_1_ ::= keyDeclCS_0_ ERROR_TOKEN
330
	keyDeclCS_1_ ::= keyDeclCS_0_ ERROR_TOKEN
331
		/.$BeginJava
331
		/.$BeginCode
332
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_KEYDECL_ELEMENT);
332
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_KEYDECL_ELEMENT);
333
		  $EndJava
333
		  $EndCode
334
		./	
334
		./	
335
	keyDeclCS ::= keyDeclCS_1_ '}' ';'
335
	keyDeclCS ::= keyDeclCS_1_ '}' ';'
336
		/.$BeginJava
336
		/.$BeginCode
337
					KeyDeclCS result = (KeyDeclCS)$getSym(1);
337
					KeyDeclCS result = (KeyDeclCS)$getSym(1);
338
					setOffsets(result, result, getIToken($getToken(3)));
338
					setOffsets(result, result, getIToken($getToken(3)));
339
					$setResult(result);
339
					$setResult(result);
340
		  $EndJava
340
		  $EndCode
341
		./
341
		./
342
	
342
	
343
--<classId> ::= <PathNameCS>
343
--<classId> ::= <PathNameCS>
Lines 345-357 Link Here
345
345
346
--<propertyId> ::= <identifier>
346
--<propertyId> ::= <identifier>
347
	propertyIdCS ::= identifierCS
347
	propertyIdCS ::= identifierCS
348
		/.$BeginJava
348
		/.$BeginCode
349
					IdentifierCS identifierCS = (IdentifierCS)$getSym(1);
349
					IdentifierCS identifierCS = (IdentifierCS)$getSym(1);
350
					IdentifiedCS result = QVTCSTFactory.eINSTANCE.createIdentifiedCS();
350
					IdentifiedCS result = QVTCSTFactory.eINSTANCE.createIdentifiedCS();
351
					result.setIdentifier(identifierCS);
351
					result.setIdentifier(identifierCS);
352
					setOffsets(result, identifierCS);
352
					setOffsets(result, identifierCS);
353
					$setResult(result);
353
					$setResult(result);
354
		  $EndJava
354
		  $EndCode
355
		./
355
		./
356
356
357
--<relation> ::= ['top'] 'relation' <identifier>
357
--<relation> ::= ['top'] 'relation' <identifier>
Lines 364-535 Link Here
364
--<when> ::= 'when' '{' (<OclExpressionCS> ';')* '}'
364
--<when> ::= 'when' '{' (<OclExpressionCS> ';')* '}'
365
--<where> ::= 'where' '{' (<OclExpressionCS> ';')* '}'
365
--<where> ::= 'where' '{' (<OclExpressionCS> ';')* '}'
366
			relationCS_0_ ::= relation identifierCS
366
			relationCS_0_ ::= relation identifierCS
367
		/.$BeginJava
367
		/.$BeginCode
368
					IdentifierCS identifierCS = (IdentifierCS)$getSym(2);
368
					IdentifierCS identifierCS = (IdentifierCS)$getSym(2);
369
					RelationCS result = QVTrCSTFactory.eINSTANCE.createRelationCS();
369
					RelationCS result = QVTrCSTFactory.eINSTANCE.createRelationCS();
370
					result.setIdentifier(identifierCS);
370
					result.setIdentifier(identifierCS);
371
					setOffsets(result, getIToken($getToken(1)), identifierCS);
371
					setOffsets(result, getIToken($getToken(1)), identifierCS);
372
					$setResult(result);
372
					$setResult(result);
373
		  $EndJava
373
		  $EndCode
374
		./
374
		./
375
	relationCS_1_ -> relationCS_0_
375
	relationCS_1_ -> relationCS_0_
376
	relationCS_1_ ::= top relationCS_0_
376
	relationCS_1_ ::= top relationCS_0_
377
		/.$BeginJava
377
		/.$BeginCode
378
					RelationCS result = (RelationCS)$getSym(2);
378
					RelationCS result = (RelationCS)$getSym(2);
379
					result.setTop(true);
379
					result.setTop(true);
380
					setOffsets(result, getIToken($getToken(1)), result);
380
					setOffsets(result, getIToken($getToken(1)), result);
381
					$setResult(result);
381
					$setResult(result);
382
		  $EndJava
382
		  $EndCode
383
		./
383
		./
384
	relationCS_2_ -> relationCS_1_
384
	relationCS_2_ -> relationCS_1_
385
	relationCS_2_ ::= relationCS_1_ overrides identifierCS
385
	relationCS_2_ ::= relationCS_1_ overrides identifierCS
386
		/.$BeginJava
386
		/.$BeginCode
387
					IdentifierCS identifierCS = (IdentifierCS)$getSym(3);
387
					IdentifierCS identifierCS = (IdentifierCS)$getSym(3);
388
					RelationCS result = (RelationCS)$getSym(1);
388
					RelationCS result = (RelationCS)$getSym(1);
389
					result.setOverrides(identifierCS);
389
					result.setOverrides(identifierCS);
390
					setOffsets(result, result, identifierCS);
390
					setOffsets(result, result, identifierCS);
391
					$setResult(result);
391
					$setResult(result);
392
		  $EndJava
392
		  $EndCode
393
		./
393
		./
394
	relationCS_3_ -> relationCS_2_ '{'
394
	relationCS_3_ -> relationCS_2_ '{'
395
	relationCS_3_ ::= relationCS_3_ varDeclarationCS
395
	relationCS_3_ ::= relationCS_3_ varDeclarationCS
396
		/.$BeginJava
396
		/.$BeginCode
397
					VarDeclarationCS varDeclarationCS = (VarDeclarationCS)$getSym(2);
397
					VarDeclarationCS varDeclarationCS = (VarDeclarationCS)$getSym(2);
398
					RelationCS result = (RelationCS)$getSym(1);
398
					RelationCS result = (RelationCS)$getSym(1);
399
					result.getVarDeclaration().add(varDeclarationCS);
399
					result.getVarDeclaration().add(varDeclarationCS);
400
					setOffsets(result, result, varDeclarationCS);
400
					setOffsets(result, result, varDeclarationCS);
401
					$setResult(result);
401
					$setResult(result);
402
		  $EndJava
402
		  $EndCode
403
		./
403
		./
404
	relationCS_preDomain -> relationCS_3_
404
	relationCS_preDomain -> relationCS_3_
405
	relationCS_preDomain -> relationCS_postDomain
405
	relationCS_preDomain -> relationCS_postDomain
406
	relationCS_postDomain ::= relationCS_preDomain domainCS
406
	relationCS_postDomain ::= relationCS_preDomain domainCS
407
		/.$NewCase ./
407
		/.$NewCase ./
408
	relationCS_postDomain ::= relationCS_preDomain primitiveTypeDomainCS
408
	relationCS_postDomain ::= relationCS_preDomain primitiveTypeDomainCS
409
		/.$BeginJava
409
		/.$BeginCode
410
					AbstractDomainCS domainCS = (AbstractDomainCS)$getSym(2);
410
					AbstractDomainCS domainCS = (AbstractDomainCS)$getSym(2);
411
					RelationCS result = (RelationCS)$getSym(1);
411
					RelationCS result = (RelationCS)$getSym(1);
412
					result.getDomain().add(domainCS);
412
					result.getDomain().add(domainCS);
413
					setOffsets(result, result, domainCS);
413
					setOffsets(result, result, domainCS);
414
					$setResult(result);
414
					$setResult(result);
415
		  $EndJava
415
		  $EndCode
416
		./
416
		./
417
	relationCS_postWhen -> relationCS_postDomain
417
	relationCS_postWhen -> relationCS_postDomain
418
	relationCS_postWhen ::= relationCS_postDomain whenCS
418
	relationCS_postWhen ::= relationCS_postDomain whenCS
419
		/.$BeginJava
419
		/.$BeginCode
420
					RelationCS result = (RelationCS)$getSym(1);
420
					RelationCS result = (RelationCS)$getSym(1);
421
					WhenCS whenCS = (WhenCS)$getSym(2);
421
					WhenCS whenCS = (WhenCS)$getSym(2);
422
					result.setWhen(whenCS);
422
					result.setWhen(whenCS);
423
					setOffsets(result, result, whenCS);
423
					setOffsets(result, result, whenCS);
424
					$setResult(result);
424
					$setResult(result);
425
		  $EndJava
425
		  $EndCode
426
		./
426
		./
427
	relationCS_postWhere -> relationCS_postWhen
427
	relationCS_postWhere -> relationCS_postWhen
428
	relationCS_postWhere ::= relationCS_postWhen whereCS
428
	relationCS_postWhere ::= relationCS_postWhen whereCS
429
		/.$BeginJava
429
		/.$BeginCode
430
					RelationCS result = (RelationCS)$getSym(1);
430
					RelationCS result = (RelationCS)$getSym(1);
431
					WhereCS whereCS = (WhereCS)$getSym(2);
431
					WhereCS whereCS = (WhereCS)$getSym(2);
432
					result.setWhere(whereCS);
432
					result.setWhere(whereCS);
433
					setOffsets(result, result, whereCS);
433
					setOffsets(result, result, whereCS);
434
					$setResult(result);
434
					$setResult(result);
435
		  $EndJava
435
		  $EndCode
436
		./
436
		./
437
	relationCS ::= relationCS_postWhere '}'
437
	relationCS ::= relationCS_postWhere '}'
438
		/.$BeginJava
438
		/.$BeginCode
439
					RelationCS result = (RelationCS)$getSym(1);
439
					RelationCS result = (RelationCS)$getSym(1);
440
					setOffsets(result, result, getIToken($getToken(2)));
440
					setOffsets(result, result, getIToken($getToken(2)));
441
					$setResult(result);
441
					$setResult(result);
442
		  $EndJava
442
		  $EndCode
443
		./
443
		./
444
444
445
	whenCS_0 ::= when '{'
445
	whenCS_0 ::= when '{'
446
		/.$BeginJava
446
		/.$BeginCode
447
					WhenCS result = QVTrCSTFactory.eINSTANCE.createWhenCS();
447
					WhenCS result = QVTrCSTFactory.eINSTANCE.createWhenCS();
448
					setOffsets(result, getIToken($getToken(1)), getIToken($getToken(2)));
448
					setOffsets(result, getIToken($getToken(1)), getIToken($getToken(2)));
449
					$setResult(result);
449
					$setResult(result);
450
		  $EndJava
450
		  $EndCode
451
		./
451
		./
452
	whenCS_0 ::= when ERROR_TOKEN
452
	whenCS_0 ::= when ERROR_TOKEN
453
		/.$BeginJava
453
		/.$BeginCode
454
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_WHEN);
454
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_WHEN);
455
		  $EndJava
455
		  $EndCode
456
		./	
456
		./	
457
	whenCS_1 -> whenCS_0
457
	whenCS_1 -> whenCS_0
458
	whenCS_1 ::= whenCS_1 oclExpressionCS ';'
458
	whenCS_1 ::= whenCS_1 oclExpressionCS ';'
459
		/.$BeginJava
459
		/.$BeginCode
460
					WhenCS result = (WhenCS)$getSym(1);
460
					WhenCS result = (WhenCS)$getSym(1);
461
					OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(2);
461
					OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(2);
462
					result.getExpr().add(oclExpressionCS);
462
					result.getExpr().add(oclExpressionCS);
463
					setOffsets(result, result, getIToken($getToken(3)));
463
					setOffsets(result, result, getIToken($getToken(3)));
464
					$setResult(result);
464
					$setResult(result);
465
		  $EndJava
465
		  $EndCode
466
		./
466
		./
467
	whenCS ::= whenCS_1 '}'
467
	whenCS ::= whenCS_1 '}'
468
		/.$BeginJava
468
		/.$BeginCode
469
					WhenCS result = (WhenCS)$getSym(1);
469
					WhenCS result = (WhenCS)$getSym(1);
470
					setOffsets(result, result, getIToken($getToken(2)));
470
					setOffsets(result, result, getIToken($getToken(2)));
471
					$setResult(result);
471
					$setResult(result);
472
		  $EndJava
472
		  $EndCode
473
		./
473
		./
474
474
475
475
476
	whereCS_0 ::= where '{'
476
	whereCS_0 ::= where '{'
477
		/.$BeginJava
477
		/.$BeginCode
478
					WhereCS result = QVTrCSTFactory.eINSTANCE.createWhereCS();
478
					WhereCS result = QVTrCSTFactory.eINSTANCE.createWhereCS();
479
					setOffsets(result, getIToken($getToken(1)), getIToken($getToken(2)));
479
					setOffsets(result, getIToken($getToken(1)), getIToken($getToken(2)));
480
					$setResult(result);
480
					$setResult(result);
481
		  $EndJava
481
		  $EndCode
482
		./
482
		./
483
	whereCS_0 ::= where ERROR_TOKEN
483
	whereCS_0 ::= where ERROR_TOKEN
484
		/.$BeginJava
484
		/.$BeginCode
485
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_WHERE);
485
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_WHERE);
486
		  $EndJava
486
		  $EndCode
487
		./	
487
		./	
488
	whereCS_1 -> whereCS_0
488
	whereCS_1 -> whereCS_0
489
	whereCS_1 ::= whereCS_1 oclExpressionCS ';'
489
	whereCS_1 ::= whereCS_1 oclExpressionCS ';'
490
		/.$BeginJava
490
		/.$BeginCode
491
					WhereCS result = (WhereCS)$getSym(1);
491
					WhereCS result = (WhereCS)$getSym(1);
492
					OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(2);
492
					OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(2);
493
					result.getExpr().add(oclExpressionCS);
493
					result.getExpr().add(oclExpressionCS);
494
					setOffsets(result, result, getIToken($getToken(3)));
494
					setOffsets(result, result, getIToken($getToken(3)));
495
					$setResult(result);
495
					$setResult(result);
496
		  $EndJava
496
		  $EndCode
497
		./
497
		./
498
	whereCS ::= whereCS_1 '}'
498
	whereCS ::= whereCS_1 '}'
499
		/.$BeginJava
499
		/.$BeginCode
500
					WhereCS result = (WhereCS)$getSym(1);
500
					WhereCS result = (WhereCS)$getSym(1);
501
					setOffsets(result, result, getIToken($getToken(2)));
501
					setOffsets(result, result, getIToken($getToken(2)));
502
					$setResult(result);
502
					$setResult(result);
503
		  $EndJava
503
		  $EndCode
504
		./
504
		./
505
505
506
506
507
--<varDeclaration> ::= <identifier> (, <identifier>)* ':' <TypeCS> ';'
507
--<varDeclaration> ::= <identifier> (, <identifier>)* ':' <TypeCS> ';'
508
	varDeclarationCS_0 ::= identifierCS
508
	varDeclarationCS_0 ::= identifierCS
509
		/.$BeginJava
509
		/.$BeginCode
510
					IdentifierCS identifierCS = (IdentifierCS)$getSym(1);
510
					IdentifierCS identifierCS = (IdentifierCS)$getSym(1);
511
					VarDeclarationCS result = QVTrCSTFactory.eINSTANCE.createVarDeclarationCS();
511
					VarDeclarationCS result = QVTrCSTFactory.eINSTANCE.createVarDeclarationCS();
512
					result.getVarDeclarationId().add(identifierCS);
512
					result.getVarDeclarationId().add(identifierCS);
513
					setOffsets(result, identifierCS);
513
					setOffsets(result, identifierCS);
514
					$setResult(result);
514
					$setResult(result);
515
		  $EndJava
515
		  $EndCode
516
		./
516
		./
517
	varDeclarationCS_0 ::= varDeclarationCS_0 ',' identifierCS
517
	varDeclarationCS_0 ::= varDeclarationCS_0 ',' identifierCS
518
		/.$BeginJava
518
		/.$BeginCode
519
					IdentifierCS identifierCS = (IdentifierCS)$getSym(3);
519
					IdentifierCS identifierCS = (IdentifierCS)$getSym(3);
520
					VarDeclarationCS result = (VarDeclarationCS)$getSym(1);
520
					VarDeclarationCS result = (VarDeclarationCS)$getSym(1);
521
					result.getVarDeclarationId().add(identifierCS);
521
					result.getVarDeclarationId().add(identifierCS);
522
					setOffsets(result, result, identifierCS);
522
					setOffsets(result, result, identifierCS);
523
					$setResult(result);
523
					$setResult(result);
524
		  $EndJava
524
		  $EndCode
525
		./		
525
		./		
526
	varDeclarationCS ::= varDeclarationCS_0 ':' typeCS ';'
526
	varDeclarationCS ::= varDeclarationCS_0 ':' typeCS ';'
527
		/.$BeginJava
527
		/.$BeginCode
528
					VarDeclarationCS result = (VarDeclarationCS)$getSym(1);
528
					VarDeclarationCS result = (VarDeclarationCS)$getSym(1);
529
					result.setType((TypeCS)$getSym(3));
529
					result.setType((TypeCS)$getSym(3));
530
					setOffsets(result, result, getIToken($getToken(4)));
530
					setOffsets(result, result, getIToken($getToken(4)));
531
					$setResult(result);
531
					$setResult(result);
532
		  $EndJava
532
		  $EndCode
533
		./
533
		./
534
	
534
	
535
--<domain> ::= [<checkEnforceQualifier>] 'domain' <modelId> <template>
535
--<domain> ::= [<checkEnforceQualifier>] 'domain' <modelId> <template>
Lines 538-544 Link Here
538
--             ';'
538
--             ';'
539
--<checkEnforceQualifier> ::= 'checkonly' | 'enforce'
539
--<checkEnforceQualifier> ::= 'checkonly' | 'enforce'
540
	domainCS_0_ ::= domain modelIdCS templateCS
540
	domainCS_0_ ::= domain modelIdCS templateCS
541
		/.$BeginJava
541
		/.$BeginCode
542
					IdentifierCS identifierCS = (IdentifierCS)$getSym(2);
542
					IdentifierCS identifierCS = (IdentifierCS)$getSym(2);
543
					TemplateCS templateCS = (TemplateCS)$getSym(3);
543
					TemplateCS templateCS = (TemplateCS)$getSym(3);
544
					DomainCS result = QVTrCSTFactory.eINSTANCE.createDomainCS();
544
					DomainCS result = QVTrCSTFactory.eINSTANCE.createDomainCS();
Lines 546-617 Link Here
546
					result.setTemplate(templateCS);
546
					result.setTemplate(templateCS);
547
					setOffsets(result, getIToken($getToken(1)), templateCS);
547
					setOffsets(result, getIToken($getToken(1)), templateCS);
548
					$setResult(result);
548
					$setResult(result);
549
		  $EndJava
549
		  $EndCode
550
		./
550
		./
551
	domainCS_1_ -> domainCS_0_
551
	domainCS_1_ -> domainCS_0_
552
	domainCS_1_ ::= checkonly domainCS_0_
552
	domainCS_1_ ::= checkonly domainCS_0_
553
		/.$BeginJava
553
		/.$BeginCode
554
					DomainCS result = (DomainCS)$getSym(2);
554
					DomainCS result = (DomainCS)$getSym(2);
555
					result.setCheckonly(true);
555
					result.setCheckonly(true);
556
					setOffsets(result, getIToken($getToken(1)), result);
556
					setOffsets(result, getIToken($getToken(1)), result);
557
					$setResult(result);
557
					$setResult(result);
558
		  $EndJava
558
		  $EndCode
559
		./
559
		./
560
	domainCS_1_ ::= enforce domainCS_0_
560
	domainCS_1_ ::= enforce domainCS_0_
561
		/.$BeginJava
561
		/.$BeginCode
562
					DomainCS result = (DomainCS)$getSym(2);
562
					DomainCS result = (DomainCS)$getSym(2);
563
					result.setEnforce(true);
563
					result.setEnforce(true);
564
					setOffsets(result, getIToken($getToken(1)), result);
564
					setOffsets(result, getIToken($getToken(1)), result);
565
					$setResult(result);
565
					$setResult(result);
566
		  $EndJava
566
		  $EndCode
567
		./
567
		./
568
	domainCS_1_ ::= replace domainCS_0_
568
	domainCS_1_ ::= replace domainCS_0_
569
		/.$BeginJava
569
		/.$BeginCode
570
					DomainCS result = (DomainCS)$getSym(2);
570
					DomainCS result = (DomainCS)$getSym(2);
571
					result.setReplace(true);
571
					result.setReplace(true);
572
					setOffsets(result, getIToken($getToken(1)), result);
572
					setOffsets(result, getIToken($getToken(1)), result);
573
					$setResult(result);
573
					$setResult(result);
574
		  $EndJava
574
		  $EndCode
575
		./
575
		./
576
	domainCS_postImplementedby -> domainCS_1_
576
	domainCS_postImplementedby -> domainCS_1_
577
	domainCS_postImplementedby ::= domainCS_1_ implementedby operationCallExpCS
577
	domainCS_postImplementedby ::= domainCS_1_ implementedby operationCallExpCS
578
		/.$BeginJava
578
		/.$BeginCode
579
					DomainCS result = (DomainCS)$getSym(1);
579
					DomainCS result = (DomainCS)$getSym(1);
580
					OperationCallExpCS operationCallExpCS =(OperationCallExpCS)$getSym(3);
580
					OperationCallExpCS operationCallExpCS =(OperationCallExpCS)$getSym(3);
581
					result.setImplementedBy(operationCallExpCS);
581
					result.setImplementedBy(operationCallExpCS);
582
					setOffsets(result, result, operationCallExpCS);
582
					setOffsets(result, result, operationCallExpCS);
583
					$setResult(result);
583
					$setResult(result);
584
		  $EndJava
584
		  $EndCode
585
		./
585
		./
586
	domainCS_preDefaultValue -> domainCS_postImplementedby default_values '{'
586
	domainCS_preDefaultValue -> domainCS_postImplementedby default_values '{'
587
	domainCS_preDefaultValue ::= domainCS_preDefaultValue defaultValueCS
587
	domainCS_preDefaultValue ::= domainCS_preDefaultValue defaultValueCS
588
		/.$BeginJava
588
		/.$BeginCode
589
					DomainCS result = (DomainCS)$getSym(1);
589
					DomainCS result = (DomainCS)$getSym(1);
590
					DefaultValueCS defaultValueCS = (DefaultValueCS)$getSym(2);
590
					DefaultValueCS defaultValueCS = (DefaultValueCS)$getSym(2);
591
					result.getDefaultValue().add(defaultValueCS);
591
					result.getDefaultValue().add(defaultValueCS);
592
					setOffsets(result, result, defaultValueCS);
592
					setOffsets(result, result, defaultValueCS);
593
					$setResult(result);
593
					$setResult(result);
594
		  $EndJava
594
		  $EndCode
595
		./
595
		./
596
	domainCS_postDefaultValues -> domainCS_postImplementedby
596
	domainCS_postDefaultValues -> domainCS_postImplementedby
597
	domainCS_postDefaultValues ::= domainCS_preDefaultValue '}'
597
	domainCS_postDefaultValues ::= domainCS_preDefaultValue '}'
598
		/.$BeginJava
598
		/.$BeginCode
599
					DomainCS result = (DomainCS)$getSym(1);
599
					DomainCS result = (DomainCS)$getSym(1);
600
					setOffsets(result, result, getIToken($getToken(2)));
600
					setOffsets(result, result, getIToken($getToken(2)));
601
					$setResult(result);
601
					$setResult(result);
602
		  $EndJava
602
		  $EndCode
603
		./
603
		./
604
	domainCS ::= domainCS_postDefaultValues ';'
604
	domainCS ::= domainCS_postDefaultValues ';'
605
		/.$BeginJava
605
		/.$BeginCode
606
					DomainCS result = (DomainCS)$getSym(1);
606
					DomainCS result = (DomainCS)$getSym(1);
607
					setOffsets(result, result, getIToken($getToken(2)));
607
					setOffsets(result, result, getIToken($getToken(2)));
608
					$setResult(result);
608
					$setResult(result);
609
		  $EndJava
609
		  $EndCode
610
		./
610
		./
611
		
611
		
612
--<primitiveTypeDomain> ::= 'primitive' 'domain' <identifier> ':' <TypeCS> ';'
612
--<primitiveTypeDomain> ::= 'primitive' 'domain' <identifier> ':' <TypeCS> ';'
613
	primitiveTypeDomainCS ::= primitive domain identifierCS ':' typeCS ';'
613
	primitiveTypeDomainCS ::= primitive domain identifierCS ':' typeCS ';'
614
		/.$BeginJava
614
		/.$BeginCode
615
					IdentifierCS identifierCS = (IdentifierCS)$getSym(3);
615
					IdentifierCS identifierCS = (IdentifierCS)$getSym(3);
616
					TypeCS typeCS = (TypeCS)$getSym(5);
616
					TypeCS typeCS = (TypeCS)$getSym(5);
617
					PrimitiveTypeDomainCS result = QVTrCSTFactory.eINSTANCE.createPrimitiveTypeDomainCS();
617
					PrimitiveTypeDomainCS result = QVTrCSTFactory.eINSTANCE.createPrimitiveTypeDomainCS();
Lines 619-625 Link Here
619
					result.setType(typeCS);
619
					result.setType(typeCS);
620
					setOffsets(result, getIToken($getToken(1)), getIToken($getToken(6)));
620
					setOffsets(result, getIToken($getToken(1)), getIToken($getToken(6)));
621
					$setResult(result);
621
					$setResult(result);
622
		  $EndJava
622
		  $EndCode
623
		./
623
		./
624
624
625
625
Lines 629-641 Link Here
629
	templateCS_0_ -> collectionTemplateCS
629
	templateCS_0_ -> collectionTemplateCS
630
	templateCS -> templateCS_0_
630
	templateCS -> templateCS_0_
631
	templateCS ::= templateCS_0_ '{' oclExpressionCS '}'
631
	templateCS ::= templateCS_0_ '{' oclExpressionCS '}'
632
		/.$BeginJava
632
		/.$BeginCode
633
					TemplateCS result = (TemplateCS)$getSym(1);
633
					TemplateCS result = (TemplateCS)$getSym(1);
634
					OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(3);
634
					OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(3);
635
					result.setGuardExpression(oclExpressionCS);
635
					result.setGuardExpression(oclExpressionCS);
636
					setOffsets(result, result, getIToken($getToken(4)));
636
					setOffsets(result, result, getIToken($getToken(4)));
637
					$setResult(result);
637
					$setResult(result);
638
		  $EndJava
638
		  $EndCode
639
		./
639
		./
640
	
640
	
641
--<objectTemplate> ::= [<identifier>] ':' <pathNameCS> '{' [<propertyTemplateList>] '}'
641
--<objectTemplate> ::= [<identifier>] ':' <pathNameCS> '{' [<propertyTemplateList>] '}'
Lines 645-651 Link Here
645
	objectTemplateCS_prePropertyTemplates ::= relationIdentifier ':' pathNameCS '{'
645
	objectTemplateCS_prePropertyTemplates ::= relationIdentifier ':' pathNameCS '{'
646
		/.$NewCase./
646
		/.$NewCase./
647
	objectTemplateCS_prePropertyTemplates ::= self ':' pathNameCS '{'
647
	objectTemplateCS_prePropertyTemplates ::= self ':' pathNameCS '{'
648
		/.$BeginJava
648
		/.$BeginCode
649
					IdentifierCS identifierCS = createIdentifierCS($getToken(1));
649
					IdentifierCS identifierCS = createIdentifierCS($getToken(1));
650
					TypeCS typeCS = (TypeCS)$getSym(3);
650
					TypeCS typeCS = (TypeCS)$getSym(3);
651
					ObjectTemplateCS result = QVTrCSTFactory.eINSTANCE.createObjectTemplateCS();
651
					ObjectTemplateCS result = QVTrCSTFactory.eINSTANCE.createObjectTemplateCS();
Lines 653-693 Link Here
653
					result.setIdentifier(identifierCS);
653
					result.setIdentifier(identifierCS);
654
					setOffsets(result, identifierCS, getIToken($getToken(4)));
654
					setOffsets(result, identifierCS, getIToken($getToken(4)));
655
					$setResult(result);
655
					$setResult(result);
656
		  $EndJava
656
		  $EndCode
657
		./	
657
		./	
658
	objectTemplateCS_prePropertyTemplates ::= ':' pathNameCS '{' 
658
	objectTemplateCS_prePropertyTemplates ::= ':' pathNameCS '{' 
659
		/.$BeginJava
659
		/.$BeginCode
660
					ObjectTemplateCS result = QVTrCSTFactory.eINSTANCE.createObjectTemplateCS();
660
					ObjectTemplateCS result = QVTrCSTFactory.eINSTANCE.createObjectTemplateCS();
661
					result.setIdentifier(createUniqueIdentifierCS($getToken(1)));
661
					result.setIdentifier(createUniqueIdentifierCS($getToken(1)));
662
					result.setType((TypeCS)$getSym(2));
662
					result.setType((TypeCS)$getSym(2));
663
					setOffsets(result, getIToken($getToken(1)), getIToken($getToken(3)));
663
					setOffsets(result, getIToken($getToken(1)), getIToken($getToken(3)));
664
					$setResult(result);
664
					$setResult(result);
665
		  $EndJava
665
		  $EndCode
666
		./	
666
		./	
667
	objectTemplateCS_prePropertyTemplate -> objectTemplateCS_prePropertyTemplates
667
	objectTemplateCS_prePropertyTemplate -> objectTemplateCS_prePropertyTemplates
668
	objectTemplateCS_prePropertyTemplate -> objectTemplateCS_postPropertyTemplate ','
668
	objectTemplateCS_prePropertyTemplate -> objectTemplateCS_postPropertyTemplate ','
669
	objectTemplateCS_postPropertyTemplate ::= objectTemplateCS_prePropertyTemplate propertyTemplateCS 
669
	objectTemplateCS_postPropertyTemplate ::= objectTemplateCS_prePropertyTemplate propertyTemplateCS 
670
		/.$BeginJava
670
		/.$BeginCode
671
					ObjectTemplateCS result = (ObjectTemplateCS)$getSym(1);
671
					ObjectTemplateCS result = (ObjectTemplateCS)$getSym(1);
672
					PropertyTemplateCS propertyTemplateCS = (PropertyTemplateCS)$getSym(2);
672
					PropertyTemplateCS propertyTemplateCS = (PropertyTemplateCS)$getSym(2);
673
					result.getPropertyTemplate().add(propertyTemplateCS);
673
					result.getPropertyTemplate().add(propertyTemplateCS);
674
					setOffsets(result, result, propertyTemplateCS);
674
					setOffsets(result, result, propertyTemplateCS);
675
					$setResult(result);
675
					$setResult(result);
676
		  $EndJava
676
		  $EndCode
677
		./	
677
		./	
678
	objectTemplateCS ::= objectTemplateCS_prePropertyTemplates '}' 
678
	objectTemplateCS ::= objectTemplateCS_prePropertyTemplates '}' 
679
		/.$NewCase./
679
		/.$NewCase./
680
	objectTemplateCS ::= objectTemplateCS_postPropertyTemplate '}' 
680
	objectTemplateCS ::= objectTemplateCS_postPropertyTemplate '}' 
681
		/.$BeginJava
681
		/.$BeginCode
682
					ObjectTemplateCS result = (ObjectTemplateCS)$getSym(1);
682
					ObjectTemplateCS result = (ObjectTemplateCS)$getSym(1);
683
					setOffsets(result, result, getIToken($getToken(2)));
683
					setOffsets(result, result, getIToken($getToken(2)));
684
					$setResult(result);
684
					$setResult(result);
685
		  $EndJava
685
		  $EndCode
686
		./
686
		./
687
687
688
--<propertyTemplate> ::= <identifier> '=' <OclExpressionCS>
688
--<propertyTemplate> ::= <identifier> '=' <OclExpressionCS>
689
	propertyTemplateCS ::= propertyIdCS '=' oclExpressionCS
689
	propertyTemplateCS ::= propertyIdCS '=' oclExpressionCS
690
		/.$BeginJava
690
		/.$BeginCode
691
					IdentifiedCS propertyIdCS = (IdentifiedCS)$getSym(1);
691
					IdentifiedCS propertyIdCS = (IdentifiedCS)$getSym(1);
692
					PropertyTemplateCS result = QVTrCSTFactory.eINSTANCE.createPropertyTemplateCS();
692
					PropertyTemplateCS result = QVTrCSTFactory.eINSTANCE.createPropertyTemplateCS();
693
					OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(3);
693
					OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(3);
Lines 695-725 Link Here
695
					result.setOclExpression(oclExpressionCS);
695
					result.setOclExpression(oclExpressionCS);
696
					setOffsets(result, propertyIdCS, oclExpressionCS);
696
					setOffsets(result, propertyIdCS, oclExpressionCS);
697
					$setResult(result);
697
					$setResult(result);
698
		  $EndJava
698
		  $EndCode
699
		./
699
		./
700
	
700
	
701
--<collectionTemplate> ::= [<identifier>] ':' <CollectionTypeIdentifierCS> '(' <TypeCS> ')'
701
--<collectionTemplate> ::= [<identifier>] ':' <CollectionTypeIdentifierCS> '(' <TypeCS> ')'
702
--                         '{' [<memberSelection>] '}'
702
--                         '{' [<memberSelection>] '}'
703
--<memberSelection> ::= (<identifier> | <template> | '_')
703
--<memberSelection> ::= (<identifier> | <template> | '_')
(-)(‘,Â’ (<identifier> | <template> | '_'))* (-34 / +34 lines)
Lines 727-788 Link Here
727
					result.setIdentifier(identifierCS);
727
					result.setIdentifier(identifierCS);
728
					setOffsets(result, identifierCS, collectionTypeCS);
728
					setOffsets(result, identifierCS, collectionTypeCS);
729
					$setResult(result);
729
					$setResult(result);
730
		  $EndJava
730
		  $EndCode
731
		./	
731
		./	
732
	collectionTemplateCS_preMemberSelections -> collectionTemplateCS_1_ '{'
732
	collectionTemplateCS_preMemberSelections -> collectionTemplateCS_1_ '{'
733
	collectionTemplateCS_preMemberSelection -> collectionTemplateCS_preMemberSelections
733
	collectionTemplateCS_preMemberSelection -> collectionTemplateCS_preMemberSelections
734
	collectionTemplateCS_preMemberSelection -> collectionTemplateCS_postMemberSelection ','
734
	collectionTemplateCS_preMemberSelection -> collectionTemplateCS_postMemberSelection ','
735
	collectionTemplateCS_postMemberSelection ::= collectionTemplateCS_preMemberSelection memberSelectorCS
735
	collectionTemplateCS_postMemberSelection ::= collectionTemplateCS_preMemberSelection memberSelectorCS
736
		/.$BeginJava
736
		/.$BeginCode
737
					IdentifiedCS memberSelectorCS = (IdentifiedCS)$getSym(2);
737
					IdentifiedCS memberSelectorCS = (IdentifiedCS)$getSym(2);
738
					CollectionTemplateCS result = (CollectionTemplateCS)$getSym(1);
738
					CollectionTemplateCS result = (CollectionTemplateCS)$getSym(1);
739
					result.getMemberIdentifier().add(memberSelectorCS);
739
					result.getMemberIdentifier().add(memberSelectorCS);
740
					setOffsets(result, result, memberSelectorCS);
740
					setOffsets(result, result, memberSelectorCS);
741
					$setResult(result);
741
					$setResult(result);
742
		  $EndJava
742
		  $EndCode
743
		./	
743
		./	
744
	collectionTemplateCS ::= collectionTemplateCS_postMemberSelection PLUS_PLUS identifierCS '}'
744
	collectionTemplateCS ::= collectionTemplateCS_postMemberSelection PLUS_PLUS identifierCS '}'
745
		/.$BeginJava
745
		/.$BeginCode
746
					IdentifierCS restIdentifier = (IdentifierCS)$getSym(3);
746
					IdentifierCS restIdentifier = (IdentifierCS)$getSym(3);
747
					CollectionTemplateCS result = (CollectionTemplateCS)$getSym(1);
747
					CollectionTemplateCS result = (CollectionTemplateCS)$getSym(1);
748
					result.setRestIdentifier(restIdentifier);
748
					result.setRestIdentifier(restIdentifier);
749
					setOffsets(result, result, getIToken($getToken(4)));
749
					setOffsets(result, result, getIToken($getToken(4)));
750
					$setResult(result);
750
					$setResult(result);
751
		  $EndJava
751
		  $EndCode
752
		./
752
		./
753
	collectionTemplateCS ::= collectionTemplateCS_postMemberSelection ERROR_TOKEN '}'
753
	collectionTemplateCS ::= collectionTemplateCS_postMemberSelection ERROR_TOKEN '}'
754
		/.$BeginJava
754
		/.$BeginCode
755
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_REST);
755
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_REST);
756
					IdentifierCS restIdentifier = createUniqueIdentifierCS($getToken(2));
756
					IdentifierCS restIdentifier = createUniqueIdentifierCS($getToken(2));
757
					CollectionTemplateCS result = (CollectionTemplateCS)$getSym(1);
757
					CollectionTemplateCS result = (CollectionTemplateCS)$getSym(1);
758
					result.setRestIdentifier(restIdentifier);
758
					result.setRestIdentifier(restIdentifier);
759
					setOffsets(result, result, getIToken($getToken(3)));
759
					setOffsets(result, result, getIToken($getToken(3)));
760
					$setResult(result);
760
					$setResult(result);
761
		  $EndJava
761
		  $EndCode
762
		./
762
		./
763
	collectionTemplateCS ::= collectionTemplateCS_preMemberSelections '}'
763
	collectionTemplateCS ::= collectionTemplateCS_preMemberSelections '}'
764
		/.$BeginJava
764
		/.$BeginCode
765
					CollectionTemplateCS result = (CollectionTemplateCS)$getSym(1);
765
					CollectionTemplateCS result = (CollectionTemplateCS)$getSym(1);
766
					setOffsets(result, result, getIToken($getToken(2)));
766
					setOffsets(result, result, getIToken($getToken(2)));
767
					$setResult(result);
767
					$setResult(result);
768
		  $EndJava
768
		  $EndCode
769
		./
769
		./
770
		
770
		
771
--<memberSelector> ::= (<identifier> | <template> | '_')
771
--<memberSelector> ::= (<identifier> | <template> | '_')
772
	memberSelectorCS ::= identifierCS
772
	memberSelectorCS ::= identifierCS
773
		/.$BeginJava
773
		/.$BeginCode
774
					IdentifierCS identifierCS = (IdentifierCS)$getSym(1);
774
					IdentifierCS identifierCS = (IdentifierCS)$getSym(1);
775
					IdentifiedCS result = QVTCSTFactory.eINSTANCE.createIdentifiedCS();
775
					IdentifiedCS result = QVTCSTFactory.eINSTANCE.createIdentifiedCS();
776
					result.setIdentifier(identifierCS);
776
					result.setIdentifier(identifierCS);
777
					setOffsets(result, identifierCS);
777
					setOffsets(result, identifierCS);
778
					$setResult(result);
778
					$setResult(result);
779
		  $EndJava
779
		  $EndCode
780
		./	
780
		./	
781
	memberSelectorCS -> templateCS
781
	memberSelectorCS -> templateCS
782
	
782
	
783
--<assignmentExp> ::= <identifier> '=' <OclExpressionCS> ';'
783
--<assignmentExp> ::= <identifier> '=' <OclExpressionCS> ';'
784
	defaultValueCS ::= identifierCS '=' oclExpressionCS ';'
784
	defaultValueCS ::= identifierCS '=' oclExpressionCS ';'
785
		/.$BeginJava
785
		/.$BeginCode
786
					IdentifierCS identifierCS = (IdentifierCS)$getSym(1);
786
					IdentifierCS identifierCS = (IdentifierCS)$getSym(1);
787
					OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(3);
787
					OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(3);
788
					DefaultValueCS result = QVTrCSTFactory.eINSTANCE.createDefaultValueCS();
788
					DefaultValueCS result = QVTrCSTFactory.eINSTANCE.createDefaultValueCS();
Lines 790-796 Link Here
790
					result.setInitialiser(oclExpressionCS);
790
					result.setInitialiser(oclExpressionCS);
791
					setOffsets(result, identifierCS, getIToken($getToken(4)));
791
					setOffsets(result, identifierCS, getIToken($getToken(4)));
792
					$setResult(result);
792
					$setResult(result);
793
		  $EndJava
793
		  $EndCode
794
		./	
794
		./	
795
		
795
		
796
--<query> ::= 'query' <PathNameCS> 
796
--<query> ::= 'query' <PathNameCS> 
Lines 798-848 Link Here
798
--      	  ':' <TypeCS>
798
--      	  ':' <TypeCS>
799
--            (';' | '{' <OclExpressionCS> '}')
799
--            (';' | '{' <OclExpressionCS> '}')
800
	queryCS_preParamDeclaration ::= query pathNameCS '('
800
	queryCS_preParamDeclaration ::= query pathNameCS '('
801
		/.$BeginJava
801
		/.$BeginCode
802
					QueryCS result = QVTrCSTFactory.eINSTANCE.createQueryCS();
802
					QueryCS result = QVTrCSTFactory.eINSTANCE.createQueryCS();
803
					result.setPathName((PathNameCS)$getSym(2));
803
					result.setPathName((PathNameCS)$getSym(2));
804
					setOffsets(result, getIToken($getToken(1)), getIToken($getToken(3)));
804
					setOffsets(result, getIToken($getToken(1)), getIToken($getToken(3)));
805
					$setResult(result);
805
					$setResult(result);
806
		  $EndJava
806
		  $EndCode
807
		./
807
		./
808
	queryCS_preParamDeclaration -> queryCS_postParamDeclaration ','
808
	queryCS_preParamDeclaration -> queryCS_postParamDeclaration ','
809
	queryCS_postParamDeclaration ::= queryCS_preParamDeclaration paramDeclarationCS
809
	queryCS_postParamDeclaration ::= queryCS_preParamDeclaration paramDeclarationCS
810
		/.$BeginJava
810
		/.$BeginCode
811
					ParamDeclarationCS paramDeclarationCS = (ParamDeclarationCS)$getSym(2);
811
					ParamDeclarationCS paramDeclarationCS = (ParamDeclarationCS)$getSym(2);
812
					QueryCS result = (QueryCS)$getSym(1);
812
					QueryCS result = (QueryCS)$getSym(1);
813
					result.getInputParamDeclaration().add(paramDeclarationCS);
813
					result.getInputParamDeclaration().add(paramDeclarationCS);
814
					setOffsets(result, result, paramDeclarationCS);
814
					setOffsets(result, result, paramDeclarationCS);
815
					$setResult(result);
815
					$setResult(result);
816
		  $EndJava
816
		  $EndCode
817
		./
817
		./
818
	queryCS_postType ::= queryCS_postParamDeclaration ')' ':' typeCS
818
	queryCS_postType ::= queryCS_postParamDeclaration ')' ':' typeCS
819
		/.$BeginJava
819
		/.$BeginCode
820
					TypeCS typeCS = (TypeCS)$getSym(4);
820
					TypeCS typeCS = (TypeCS)$getSym(4);
821
					QueryCS result = (QueryCS)$getSym(1);
821
					QueryCS result = (QueryCS)$getSym(1);
822
					result.setType(typeCS);
822
					result.setType(typeCS);
823
					setOffsets(result, result, typeCS);
823
					setOffsets(result, result, typeCS);
824
					$setResult(result);
824
					$setResult(result);
825
		  $EndJava
825
		  $EndCode
826
		./
826
		./
827
	queryCS ::= queryCS_postType ';'
827
	queryCS ::= queryCS_postType ';'
828
		/.$BeginJava
828
		/.$BeginCode
829
					QueryCS result = (QueryCS)$getSym(1);
829
					QueryCS result = (QueryCS)$getSym(1);
830
					setOffsets(result, result, getIToken($getToken(3)));
830
					setOffsets(result, result, getIToken($getToken(3)));
831
					$setResult(result);
831
					$setResult(result);
832
		  $EndJava
832
		  $EndCode
833
		./
833
		./
834
	queryCS ::= queryCS_postType '{' oclExpressionCS '}'
834
	queryCS ::= queryCS_postType '{' oclExpressionCS '}'
835
		/.$BeginJava
835
		/.$BeginCode
836
					QueryCS result = (QueryCS)$getSym(1);
836
					QueryCS result = (QueryCS)$getSym(1);
837
					result.setOclExpression((OCLExpressionCS)$getSym(3));
837
					result.setOclExpression((OCLExpressionCS)$getSym(3));
838
					setOffsets(result, result, getIToken($getToken(4)));
838
					setOffsets(result, result, getIToken($getToken(4)));
839
					$setResult(result);
839
					$setResult(result);
840
		  $EndJava
840
		  $EndCode
841
		./
841
		./
842
	
842
	
843
--<paramDeclaration> ::= <identifier> ':' <TypeCS>	
843
--<paramDeclaration> ::= <identifier> ':' <TypeCS>	
844
	paramDeclarationCS ::= identifierCS ':' typeCS
844
	paramDeclarationCS ::= identifierCS ':' typeCS
845
		/.$BeginJava
845
		/.$BeginCode
846
					IdentifierCS identifierCS = (IdentifierCS)$getSym(1);
846
					IdentifierCS identifierCS = (IdentifierCS)$getSym(1);
847
					TypeCS typeCS = (TypeCS)$getSym(3);
847
					TypeCS typeCS = (TypeCS)$getSym(3);
848
					ParamDeclarationCS result = QVTrCSTFactory.eINSTANCE.createParamDeclarationCS();
848
					ParamDeclarationCS result = QVTrCSTFactory.eINSTANCE.createParamDeclarationCS();
Lines 850-861 Link Here
850
					result.setType(typeCS);
850
					result.setType(typeCS);
851
					setOffsets(result, identifierCS, typeCS);
851
					setOffsets(result, identifierCS, typeCS);
852
					$setResult(result);
852
					$setResult(result);
853
		  $EndJava
853
		  $EndCode
854
		./
854
		./
855
	paramDeclarationCS ::= identifierCS ERROR_TOKEN
855
	paramDeclarationCS ::= identifierCS ERROR_TOKEN
856
		/.$BeginJava
856
		/.$BeginCode
857
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_PARAM_DECLARATION);
857
					reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_PARAM_DECLARATION);
858
		  $EndJava
858
		  $EndCode
859
		./	
859
		./	
860
		
860
		
861
--<OclExpressionCS> ::= <PropertyCallExpCS> 
861
--<OclExpressionCS> ::= <PropertyCallExpCS> 
Lines 892-914 Link Here
892
	relationIdentifier -> pre
892
	relationIdentifier -> pre
893
	
893
	
894
	pathNameCS ::= relationIdentifier
894
	pathNameCS ::= relationIdentifier
895
		/.$BeginJava
895
		/.$BeginCode
896
					PathNameCS result = createPathNameCS();
896
					PathNameCS result = createPathNameCS();
897
					result.getSequenceOfNames().add(getTokenText($getToken(1)));
897
					result.getSequenceOfNames().add(getTokenText($getToken(1)));
898
					setOffsets(result, getIToken($getToken(1)));
898
					setOffsets(result, getIToken($getToken(1)));
899
					$setResult(result);
899
					$setResult(result);
900
		  $EndJava
900
		  $EndCode
901
		./
901
		./
902
902
903
	simpleNameCS ::= relationIdentifier
903
	simpleNameCS ::= relationIdentifier
904
		/.$BeginJava
904
		/.$BeginCode
905
					SimpleNameCS result = createSimpleNameCS(
905
					SimpleNameCS result = createSimpleNameCS(
906
								SimpleTypeEnum.IDENTIFIER_LITERAL,
906
								SimpleTypeEnum.IDENTIFIER_LITERAL,
907
								getTokenText($getToken(1))
907
								getTokenText($getToken(1))
908
							);
908
							);
909
					setOffsets(result, getIToken($getToken(1)));
909
					setOffsets(result, getIToken($getToken(1)));
910
					$setResult(result);
910
					$setResult(result);
911
		  $EndJava
911
		  $EndCode
912
		./
912
		./
913
	
913
	
914
	identifierCS ::= IDENTIFIER
914
	identifierCS ::= IDENTIFIER
Lines 916-925 Link Here
916
	identifierCS ::= relationIdentifier
916
	identifierCS ::= relationIdentifier
917
		/.$NewCase ./
917
		/.$NewCase ./
918
	identifierCS ::= self
918
	identifierCS ::= self
919
		/.$BeginJava
919
		/.$BeginCode
920
					IdentifierCS result = createIdentifierCS($getToken(1));
920
					IdentifierCS result = createIdentifierCS($getToken(1));
921
					$setResult(result);
921
					$setResult(result);
922
		  $EndJava
922
		  $EndCode
923
		./
923
		./
924
$End
924
%End
925
	
925
	
(-)src/org/eclipse/qvt/declarative/parser/qvtrelation/AbstractQVTrAnalyzer.java (-1 / +1 lines)
Lines 17-23 Link Here
17
import java.util.ArrayList;
17
import java.util.ArrayList;
18
import java.util.List;
18
import java.util.List;
19
19
20
import lpg.lpgjavaruntime.Monitor;
20
import lpg.runtime.Monitor;
21
21
22
import org.eclipse.emf.common.util.EList;
22
import org.eclipse.emf.common.util.EList;
23
import org.eclipse.emf.common.util.TreeIterator;
23
import org.eclipse.emf.common.util.TreeIterator;
(-)src/org/eclipse/qvt/declarative/parser/qvtrelation/QVTrLexerprs.java (-44 / +105 lines)
Lines 1-7 Link Here
1
/**
1
/**
2
* <copyright>
2
* <copyright>
3
*
3
*
4
* Copyright (c) 2005, 2009 IBM Corporation, Borland Software Corp.,  and others.
4
* Copyright (c) 2005, 2009 IBM Corporation, Borland Software Corp., Open Canarias S.L. and others.
5
* All rights reserved.   This program and the accompanying materials
5
* All rights reserved.   This program and the accompanying materials
6
* are made available under the terms of the Eclipse Public License v1.0
6
* are made available under the terms of the Eclipse Public License v1.0
7
* which accompanies this distribution, and is available at
7
* which accompanies this distribution, and is available at
Lines 10-26 Link Here
10
* Contributors:
10
* Contributors:
11
*   IBM - Initial API and implementation
11
*   IBM - Initial API and implementation
12
*   E.D.Willink - Lexer and Parser refactoring to support extensibility and flexible error handling
12
*   E.D.Willink - Lexer and Parser refactoring to support extensibility and flexible error handling
13
*               - Bug 259818
13
*   Borland - Bug 242880
14
*   Borland - Bug 242880
15
*   Adolfo Sanchez-Barbudo Herrera - LPG v2.0.17 adoption
14
*   E.D.Willink - Extended API and implementation for QVTr
16
*   E.D.Willink - Extended API and implementation for QVTr
15
*
17
*
16
* </copyright>
18
* </copyright>
17
*
19
*
18
* $Id: QVTrLexerprs.java,v 1.10 2009/03/06 22:39:37 ewillink Exp $
20
* $Id$
19
*/
21
*/
20
22
21
package org.eclipse.qvt.declarative.parser.qvtrelation;
23
package org.eclipse.qvt.declarative.parser.qvtrelation;
22
24
23
public class QVTrLexerprs implements lpg.lpgjavaruntime.ParseTable, QVTrLexersym {
25
public class QVTrLexerprs implements lpg.runtime.ParseTable, QVTrLexersym {
26
    public final static int ERROR_SYMBOL = 0;
27
    public final int getErrorSymbol() { return ERROR_SYMBOL; }
28
29
    public final static int SCOPE_UBOUND = 0;
30
    public final int getScopeUbound() { return SCOPE_UBOUND; }
31
32
    public final static int SCOPE_SIZE = 0;
33
    public final int getScopeSize() { return SCOPE_SIZE; }
34
35
    public final static int MAX_NAME_LENGTH = 0;
36
    public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
37
38
    public final static int NUM_STATES = 51;
39
    public final int getNumStates() { return NUM_STATES; }
40
41
    public final static int NT_OFFSET = 103;
42
    public final int getNtOffset() { return NT_OFFSET; }
43
44
    public final static int LA_STATE_OFFSET = 828;
45
    public final int getLaStateOffset() { return LA_STATE_OFFSET; }
46
47
    public final static int MAX_LA = 1;
48
    public final int getMaxLa() { return MAX_LA; }
49
50
    public final static int NUM_RULES = 311;
51
    public final int getNumRules() { return NUM_RULES; }
52
53
    public final static int NUM_NONTERMINALS = 44;
54
    public final int getNumNonterminals() { return NUM_NONTERMINALS; }
55
56
    public final static int NUM_SYMBOLS = 147;
57
    public final int getNumSymbols() { return NUM_SYMBOLS; }
58
59
    public final static int SEGMENT_SIZE = 8192;
60
    public final int getSegmentSize() { return SEGMENT_SIZE; }
61
62
    public final static int START_STATE = 312;
63
    public final int getStartState() { return START_STATE; }
64
65
    public final static int IDENTIFIER_SYMBOL = 0;
66
    public final int getIdentifier_SYMBOL() { return IDENTIFIER_SYMBOL; }
67
68
    public final static int EOFT_SYMBOL = 99;
69
    public final int getEoftSymbol() { return EOFT_SYMBOL; }
70
71
    public final static int EOLT_SYMBOL = 104;
72
    public final int getEoltSymbol() { return EOLT_SYMBOL; }
73
74
    public final static int ACCEPT_ACTION = 516;
75
    public final int getAcceptAction() { return ACCEPT_ACTION; }
76
77
    public final static int ERROR_ACTION = 517;
78
    public final int getErrorAction() { return ERROR_ACTION; }
79
80
    public final static boolean BACKTRACK = false;
81
    public final boolean getBacktrack() { return BACKTRACK; }
82
83
    public final int getStartSymbol() { return lhs(0); }
84
    public final boolean isValidForParser() { return QVTrLexersym.isValidForParser; }
85
86
87
    public interface IsNullable {
88
        public final static byte isNullable[] = {0,
89
            0,0,0,0,0,0,0,0,0,0,
90
            0,0,0,0,0,0,0,0,0,0,
91
            0,0,0,0,0,0,0,0,0,0,
92
            0,0,0,0,0,0,0,0,0,0,
93
            0,0,0,0,0,0,0,0,0,0,
94
            0,0,0,0,0,0,0,0,0,0,
95
            0,0,0,0,0,0,0,0,0,0,
96
            0,0,0,0,0,0,0,0,0,0,
97
            0,0,0,0,0,0,0,0,0,0,
98
            0,0,0,0,0,0,0,0,0,0,
99
            0,0,0,0,0,0,0,0,0,0,
100
            0,0,0,0,0,0,1,0,0,0,
101
            0,0,0,0,0,0,0,0,0,0,
102
            0,1,0,0,0,0,0,0,0,0,
103
            0,0,0,0,0,0,0
104
        };
105
    };
106
    public final static byte isNullable[] = IsNullable.isNullable;
107
    public final boolean isNullable(int index) { return isNullable[index] != 0; }
108
109
    public interface ProsthesesIndex {
110
        public final static byte prosthesesIndex[] = {0,
111
            20,25,26,27,35,4,15,37,40,43,
112
            24,5,3,6,17,18,23,32,34,36,
113
            41,42,2,7,8,9,10,11,12,13,
114
            14,16,19,33,38,39,44,1,21,22,
115
            28,29,30,31
116
        };
117
    };
118
    public final static byte prosthesesIndex[] = ProsthesesIndex.prosthesesIndex;
119
    public final int prosthesesIndex(int index) { return prosthesesIndex[index]; }
24
120
25
    public interface IsKeyword {
121
    public interface IsKeyword {
26
        public final static byte isKeyword[] = {0,
122
        public final static byte isKeyword[] = {0,
Lines 478-533 Link Here
478
    public final int scopeState(int index) { return 0;}
574
    public final int scopeState(int index) { return 0;}
479
    public final int inSymb(int index) { return 0;}
575
    public final int inSymb(int index) { return 0;}
480
    public final String name(int index) { return null; }
576
    public final String name(int index) { return null; }
481
    public final int getErrorSymbol() { return 0; }
482
    public final int getScopeUbound() { return 0; }
483
    public final int getScopeSize() { return 0; }
484
    public final int getMaxNameLength() { return 0; }
485
486
    public final static int
487
           NUM_STATES        = 51,
488
           NT_OFFSET         = 103,
489
           LA_STATE_OFFSET   = 828,
490
           MAX_LA            = 1,
491
           NUM_RULES         = 311,
492
           NUM_NONTERMINALS  = 44,
493
           NUM_SYMBOLS       = 147,
494
           SEGMENT_SIZE      = 8192,
495
           START_STATE       = 312,
496
           IDENTIFIER_SYMBOL = 0,
497
           EOFT_SYMBOL       = 99,
498
           EOLT_SYMBOL       = 104,
499
           ACCEPT_ACTION     = 516,
500
           ERROR_ACTION      = 517;
501
502
    public final static boolean BACKTRACK = false;
503
504
    public final int getNumStates() { return NUM_STATES; }
505
    public final int getNtOffset() { return NT_OFFSET; }
506
    public final int getLaStateOffset() { return LA_STATE_OFFSET; }
507
    public final int getMaxLa() { return MAX_LA; }
508
    public final int getNumRules() { return NUM_RULES; }
509
    public final int getNumNonterminals() { return NUM_NONTERMINALS; }
510
    public final int getNumSymbols() { return NUM_SYMBOLS; }
511
    public final int getSegmentSize() { return SEGMENT_SIZE; }
512
    public final int getStartState() { return START_STATE; }
513
    public final int getStartSymbol() { return lhs[0]; }
514
    public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; }
515
    public final int getEoftSymbol() { return EOFT_SYMBOL; }
516
    public final int getEoltSymbol() { return EOLT_SYMBOL; }
517
    public final int getAcceptAction() { return ACCEPT_ACTION; }
518
    public final int getErrorAction() { return ERROR_ACTION; }
519
    public final boolean isValidForParser() { return isValidForParser; }
520
    public final boolean getBacktrack() { return BACKTRACK; }
521
522
    public final int originalState(int state) { return 0; }
577
    public final int originalState(int state) { return 0; }
523
    public final int asi(int state) { return 0; }
578
    public final int asi(int state) { return 0; }
524
    public final int nasi(int state) { return 0; }
579
    public final int nasi(int state) { return 0; }
525
    public final int inSymbol(int state) { return 0; }
580
    public final int inSymbol(int state) { return 0; }
526
581
582
    /**
583
     * assert(! goto_default);
584
     */
527
    public final int ntAction(int state, int sym) {
585
    public final int ntAction(int state, int sym) {
528
        return baseAction[state + sym];
586
        return baseAction[state + sym];
529
    }
587
    }
530
588
589
    /**
590
     * assert(! shift_default);
591
     */
531
    public final int tAction(int state, int sym) {
592
    public final int tAction(int state, int sym) {
532
        int i = baseAction[state],
593
        int i = baseAction[state],
533
            k = i + sym;
594
            k = i + sym;
(-)src/org/eclipse/qvt/declarative/parser/qvtrelation/QVTrLexer.java (-45 / +47 lines)
Lines 1-7 Link Here
1
/**
1
/**
2
* <copyright>
2
* <copyright>
3
*
3
*
4
* Copyright (c) 2005, 2009 IBM Corporation, Borland Software Corp.,  and others.
4
* Copyright (c) 2005, 2009 IBM Corporation, Borland Software Corp., Open Canarias S.L. and others.
5
* All rights reserved.   This program and the accompanying materials
5
* All rights reserved.   This program and the accompanying materials
6
* are made available under the terms of the Eclipse Public License v1.0
6
* are made available under the terms of the Eclipse Public License v1.0
7
* which accompanies this distribution, and is available at
7
* which accompanies this distribution, and is available at
Lines 10-26 Link Here
10
* Contributors:
10
* Contributors:
11
*   IBM - Initial API and implementation
11
*   IBM - Initial API and implementation
12
*   E.D.Willink - Lexer and Parser refactoring to support extensibility and flexible error handling
12
*   E.D.Willink - Lexer and Parser refactoring to support extensibility and flexible error handling
13
*               - Bug 259818
13
*   Borland - Bug 242880
14
*   Borland - Bug 242880
15
*   Adolfo Sanchez-Barbudo Herrera - LPG v2.0.17 adoption
14
*   E.D.Willink - Extended API and implementation for QVTr
16
*   E.D.Willink - Extended API and implementation for QVTr
15
*
17
*
16
* </copyright>
18
* </copyright>
17
*
19
*
18
* $Id: QVTrLexer.java,v 1.11 2009/03/06 22:39:37 ewillink Exp $
20
* $Id$
19
*/
21
*/
20
22
21
package org.eclipse.qvt.declarative.parser.qvtrelation;
23
package org.eclipse.qvt.declarative.parser.qvtrelation;
22
24
23
import lpg.lpgjavaruntime.*;
25
import lpg.runtime.*;
24
import org.eclipse.ocl.lpg.AbstractLexer;
26
import org.eclipse.ocl.lpg.AbstractLexer;
25
import org.eclipse.ocl.lpg.AbstractParser;
27
import org.eclipse.ocl.lpg.AbstractParser;
26
import org.eclipse.qvt.declarative.parser.environment.ICSTFileEnvironment;
28
import org.eclipse.qvt.declarative.parser.environment.ICSTFileEnvironment;
Lines 53-59 Link Here
53
    
55
    
54
	public QVTrLexer(ICSTFileEnvironment environment, char[] chars) {
56
	public QVTrLexer(ICSTFileEnvironment environment, char[] chars) {
55
		this(environment, chars, "OCL", ECLIPSE_TAB_VALUE);
57
		this(environment, chars, "OCL", ECLIPSE_TAB_VALUE);
56
		kwLexer = new QVTrKWLexer(getInputChars(), TK_IDENTIFIER);
58
		kwLexer = new QVTrKWLexer(getInputChars(), QVTrParsersym.TK_IDENTIFIER);
57
	}
59
	}
58
60
59
    public QVTrLexer(ICSTFileEnvironment environment, char[] input_chars, String filename, int tab)  {
61
    public QVTrLexer(ICSTFileEnvironment environment, char[] input_chars, String filename, int tab)  {
Lines 82-88 Link Here
82
    {
84
    {
83
        super.initialize(content, filename);
85
        super.initialize(content, filename);
84
        if (kwLexer == null)
86
        if (kwLexer == null)
85
             kwLexer = new QVTrKWLexer(getInputChars(), TK_IDENTIFIER);
87
             kwLexer = new QVTrKWLexer(getInputChars(), QVTrParsersym.TK_IDENTIFIER);
86
        else
88
        else
87
             kwLexer.setInputChars(getInputChars());
89
             kwLexer.setInputChars(getInputChars());
88
    }
90
    }
Lines 93-99 Link Here
93
    @Override
95
    @Override
94
    public void setInputChars(char[] inputChars) {
96
    public void setInputChars(char[] inputChars) {
95
		super.setInputChars(inputChars);
97
		super.setInputChars(inputChars);
96
		kwLexer = new QVTrKWLexer(getInputChars(), TK_IDENTIFIER);
98
		kwLexer = new QVTrKWLexer(getInputChars(), QVTrParsersym.TK_IDENTIFIER);
97
	}
99
	}
98
    
100
    
99
    @Override
101
    @Override
Lines 109-120 Link Here
109
        lexParser.parseCharacters(monitor);  // Lex the input characters
111
        lexParser.parseCharacters(monitor);  // Lex the input characters
110
            
112
            
111
        int i = getStreamIndex();
113
        int i = getStreamIndex();
112
        parser.makeToken(i, i, TK_EOF_TOKEN); // and end with the end of file token
114
        parser.makeToken(i, i, QVTrParsersym.TK_EOF_TOKEN); // and end with the end of file token
113
        parser.setStreamLength(parser.getSize());
115
        parser.setStreamLength(parser.getSize());
114
            
116
            
115
        return;
117
        return;
116
    }
118
    }
117
    
119
        
118
    final void makeToken(int kind)
120
    final void makeToken(int kind)
119
    {
121
    {
120
        int startOffset = getLeftSpan(),
122
        int startOffset = getLeftSpan(),
Lines 318-324 Link Here
318
            // Rule 2:  Token ::= EscapedSQ
320
            // Rule 2:  Token ::= EscapedSQ
319
            //
321
            //
320
            case 2: { 
322
            case 2: { 
321
				makeToken(TK_STRING_LITERAL);
323
				makeToken(QVTrParsersym.TK_STRING_LITERAL);
322
	            break;
324
	            break;
323
            }
325
            }
324
	 
326
	 
Lines 326-332 Link Here
326
            // Rule 3:  Token ::= SingleQuote SLNotSQ SingleQuote
328
            // Rule 3:  Token ::= SingleQuote SLNotSQ SingleQuote
327
            //
329
            //
328
            case 3: { 
330
            case 3: { 
329
				makeToken(TK_STRING_LITERAL);
331
				makeToken(QVTrParsersym.TK_STRING_LITERAL);
330
	            break;
332
	            break;
331
            }
333
            }
332
	 
334
	 
Lines 334-340 Link Here
334
            // Rule 4:  Token ::= Acute SLNotSQOpt Acute
336
            // Rule 4:  Token ::= Acute SLNotSQOpt Acute
335
            //
337
            //
336
            case 4: { 
338
            case 4: { 
337
				makeToken(TK_STRING_LITERAL);
339
				makeToken(QVTrParsersym.TK_STRING_LITERAL);
338
	            break;
340
	            break;
339
            }
341
            }
340
	 
342
	 
Lines 342-348 Link Here
342
            // Rule 5:  Token ::= BackQuote SLNotSQOpt Acute
344
            // Rule 5:  Token ::= BackQuote SLNotSQOpt Acute
343
            //
345
            //
344
            case 5: { 
346
            case 5: { 
345
				makeToken(TK_STRING_LITERAL);
347
				makeToken(QVTrParsersym.TK_STRING_LITERAL);
346
	            break;
348
	            break;
347
            }
349
            }
348
	 
350
	 
Lines 350-356 Link Here
350
            // Rule 6:  Token ::= IntegerLiteral
352
            // Rule 6:  Token ::= IntegerLiteral
351
            //
353
            //
352
            case 6: { 
354
            case 6: { 
353
				makeToken(TK_INTEGER_LITERAL);
355
				makeToken(QVTrParsersym.TK_INTEGER_LITERAL);
354
	            break;
356
	            break;
355
            }
357
            }
356
	 
358
	 
Lines 358-364 Link Here
358
            // Rule 7:  Token ::= RealLiteral
360
            // Rule 7:  Token ::= RealLiteral
359
            //
361
            //
360
            case 7: { 
362
            case 7: { 
361
				makeToken(TK_REAL_LITERAL);
363
				makeToken(QVTrParsersym.TK_REAL_LITERAL);
362
	            break;
364
	            break;
363
            }
365
            }
364
	 
366
	 
Lines 366-372 Link Here
366
            // Rule 8:  Token ::= NumericOperation
368
            // Rule 8:  Token ::= NumericOperation
367
            //
369
            //
368
            case 8: { 
370
            case 8: { 
369
				makeToken(TK_NUMERIC_OPERATION);
371
				makeToken(QVTrParsersym.TK_NUMERIC_OPERATION);
370
	            break;
372
	            break;
371
            }
373
            }
372
	 
374
	 
Lines 374-380 Link Here
374
            // Rule 9:  Token ::= IntegerRangeStart
376
            // Rule 9:  Token ::= IntegerRangeStart
375
            //
377
            //
376
            case 9: { 
378
            case 9: { 
377
				makeToken(TK_INTEGER_RANGE_START);
379
				makeToken(QVTrParsersym.TK_INTEGER_RANGE_START);
378
	            break;
380
	            break;
379
            }
381
            }
380
	 
382
	 
Lines 406-412 Link Here
406
            // Rule 13:  Token ::= +
408
            // Rule 13:  Token ::= +
407
            //
409
            //
408
            case 13: { 
410
            case 13: { 
409
				makeToken(TK_PLUS);
411
				makeToken(QVTrParsersym.TK_PLUS);
410
	            break;
412
	            break;
411
            }
413
            }
412
	 
414
	 
Lines 414-420 Link Here
414
            // Rule 14:  Token ::= -
416
            // Rule 14:  Token ::= -
415
            //
417
            //
416
            case 14: { 
418
            case 14: { 
417
				makeToken(TK_MINUS);
419
				makeToken(QVTrParsersym.TK_MINUS);
418
	            break;
420
	            break;
419
            }
421
            }
420
	 
422
	 
Lines 422-428 Link Here
422
            // Rule 15:  Token ::= *
424
            // Rule 15:  Token ::= *
423
            //
425
            //
424
            case 15: { 
426
            case 15: { 
425
				makeToken(TK_MULTIPLY);
427
				makeToken(QVTrParsersym.TK_MULTIPLY);
426
	            break;
428
	            break;
427
            }
429
            }
428
	 
430
	 
Lines 430-436 Link Here
430
            // Rule 16:  Token ::= /
432
            // Rule 16:  Token ::= /
431
            //
433
            //
432
            case 16: { 
434
            case 16: { 
433
				makeToken(TK_DIVIDE);
435
				makeToken(QVTrParsersym.TK_DIVIDE);
434
	            break;
436
	            break;
435
            }
437
            }
436
	 
438
	 
Lines 438-444 Link Here
438
            // Rule 17:  Token ::= (
440
            // Rule 17:  Token ::= (
439
            //
441
            //
440
            case 17: { 
442
            case 17: { 
441
				makeToken(TK_LPAREN);
443
				makeToken(QVTrParsersym.TK_LPAREN);
442
	            break;
444
	            break;
443
            }
445
            }
444
	 
446
	 
Lines 446-452 Link Here
446
            // Rule 18:  Token ::= )
448
            // Rule 18:  Token ::= )
447
            //
449
            //
448
            case 18: { 
450
            case 18: { 
449
				makeToken(TK_RPAREN);
451
				makeToken(QVTrParsersym.TK_RPAREN);
450
	            break;
452
	            break;
451
            }
453
            }
452
	 
454
	 
Lines 454-460 Link Here
454
            // Rule 19:  Token ::= >
456
            // Rule 19:  Token ::= >
455
            //
457
            //
456
            case 19: { 
458
            case 19: { 
457
				makeToken(TK_GREATER);
459
				makeToken(QVTrParsersym.TK_GREATER);
458
	            break;
460
	            break;
459
            }
461
            }
460
	 
462
	 
Lines 462-468 Link Here
462
            // Rule 20:  Token ::= <
464
            // Rule 20:  Token ::= <
463
            //
465
            //
464
            case 20: { 
466
            case 20: { 
465
				makeToken(TK_LESS);
467
				makeToken(QVTrParsersym.TK_LESS);
466
	            break;
468
	            break;
467
            }
469
            }
468
	 
470
	 
Lines 470-476 Link Here
470
            // Rule 21:  Token ::= =
472
            // Rule 21:  Token ::= =
471
            //
473
            //
472
            case 21: { 
474
            case 21: { 
473
				makeToken(TK_EQUAL);
475
				makeToken(QVTrParsersym.TK_EQUAL);
474
	            break;
476
	            break;
475
            }
477
            }
476
	 
478
	 
Lines 478-484 Link Here
478
            // Rule 22:  Token ::= > =
480
            // Rule 22:  Token ::= > =
479
            //
481
            //
480
            case 22: { 
482
            case 22: { 
481
				makeToken(TK_GREATER_EQUAL);
483
				makeToken(QVTrParsersym.TK_GREATER_EQUAL);
482
	            break;
484
	            break;
483
            }
485
            }
484
	 
486
	 
Lines 486-492 Link Here
486
            // Rule 23:  Token ::= < =
488
            // Rule 23:  Token ::= < =
487
            //
489
            //
488
            case 23: { 
490
            case 23: { 
489
				makeToken(TK_LESS_EQUAL);
491
				makeToken(QVTrParsersym.TK_LESS_EQUAL);
490
	            break;
492
	            break;
491
            }
493
            }
492
	 
494
	 
Lines 494-500 Link Here
494
            // Rule 24:  Token ::= < >
496
            // Rule 24:  Token ::= < >
495
            //
497
            //
496
            case 24: { 
498
            case 24: { 
497
				makeToken(TK_NOT_EQUAL);
499
				makeToken(QVTrParsersym.TK_NOT_EQUAL);
498
	            break;
500
	            break;
499
            }
501
            }
500
	 
502
	 
Lines 502-508 Link Here
502
            // Rule 25:  Token ::= [
504
            // Rule 25:  Token ::= [
503
            //
505
            //
504
            case 25: { 
506
            case 25: { 
505
				makeToken(TK_LBRACKET);
507
				makeToken(QVTrParsersym.TK_LBRACKET);
506
	            break;
508
	            break;
507
            }
509
            }
508
	 
510
	 
Lines 510-516 Link Here
510
            // Rule 26:  Token ::= ]
512
            // Rule 26:  Token ::= ]
511
            //
513
            //
512
            case 26: { 
514
            case 26: { 
513
				makeToken(TK_RBRACKET);
515
				makeToken(QVTrParsersym.TK_RBRACKET);
514
	            break;
516
	            break;
515
            }
517
            }
516
	 
518
	 
Lines 518-524 Link Here
518
            // Rule 27:  Token ::= {
520
            // Rule 27:  Token ::= {
519
            //
521
            //
520
            case 27: { 
522
            case 27: { 
521
				makeToken(TK_LBRACE);
523
				makeToken(QVTrParsersym.TK_LBRACE);
522
	            break;
524
	            break;
523
            }
525
            }
524
	 
526
	 
Lines 526-532 Link Here
526
            // Rule 28:  Token ::= }
528
            // Rule 28:  Token ::= }
527
            //
529
            //
528
            case 28: { 
530
            case 28: { 
529
				makeToken(TK_RBRACE);
531
				makeToken(QVTrParsersym.TK_RBRACE);
530
	            break;
532
	            break;
531
            }
533
            }
532
	 
534
	 
Lines 534-540 Link Here
534
            // Rule 29:  Token ::= - >
536
            // Rule 29:  Token ::= - >
535
            //
537
            //
536
            case 29: { 
538
            case 29: { 
537
				makeToken(TK_ARROW);
539
				makeToken(QVTrParsersym.TK_ARROW);
538
	            break;
540
	            break;
539
            }
541
            }
540
	 
542
	 
Lines 542-548 Link Here
542
            // Rule 30:  Token ::= |
544
            // Rule 30:  Token ::= |
543
            //
545
            //
544
            case 30: { 
546
            case 30: { 
545
				makeToken(TK_BAR);
547
				makeToken(QVTrParsersym.TK_BAR);
546
	            break;
548
	            break;
547
            }
549
            }
548
	 
550
	 
Lines 550-556 Link Here
550
            // Rule 31:  Token ::= ,
552
            // Rule 31:  Token ::= ,
551
            //
553
            //
552
            case 31: { 
554
            case 31: { 
553
				makeToken(TK_COMMA);
555
				makeToken(QVTrParsersym.TK_COMMA);
554
	            break;
556
	            break;
555
            }
557
            }
556
	 
558
	 
Lines 558-564 Link Here
558
            // Rule 32:  Token ::= :
560
            // Rule 32:  Token ::= :
559
            //
561
            //
560
            case 32: { 
562
            case 32: { 
561
				makeToken(TK_COLON);
563
				makeToken(QVTrParsersym.TK_COLON);
562
	            break;
564
	            break;
563
            }
565
            }
564
	 
566
	 
Lines 566-572 Link Here
566
            // Rule 33:  Token ::= : :
568
            // Rule 33:  Token ::= : :
567
            //
569
            //
568
            case 33: { 
570
            case 33: { 
569
				makeToken(TK_COLONCOLON);
571
				makeToken(QVTrParsersym.TK_COLONCOLON);
570
	            break;
572
	            break;
571
            }
573
            }
572
	 
574
	 
Lines 574-580 Link Here
574
            // Rule 34:  Token ::= ;
576
            // Rule 34:  Token ::= ;
575
            //
577
            //
576
            case 34: { 
578
            case 34: { 
577
				makeToken(TK_SEMICOLON);
579
				makeToken(QVTrParsersym.TK_SEMICOLON);
578
	            break;
580
	            break;
579
            }
581
            }
580
	 
582
	 
Lines 582-588 Link Here
582
            // Rule 35:  Token ::= .
584
            // Rule 35:  Token ::= .
583
            //
585
            //
584
            case 35: { 
586
            case 35: { 
585
				makeToken(TK_DOT);
587
				makeToken(QVTrParsersym.TK_DOT);
586
	            break;
588
	            break;
587
            }
589
            }
588
	 
590
	 
Lines 590-596 Link Here
590
            // Rule 36:  Token ::= . .
592
            // Rule 36:  Token ::= . .
591
            //
593
            //
592
            case 36: { 
594
            case 36: { 
593
				makeToken(TK_DOTDOT);
595
				makeToken(QVTrParsersym.TK_DOTDOT);
594
	            break;
596
	            break;
595
            }
597
            }
596
	 
598
	 
Lines 598-604 Link Here
598
            // Rule 37:  Token ::= @ p r e
600
            // Rule 37:  Token ::= @ p r e
599
            //
601
            //
600
            case 37: { 
602
            case 37: { 
601
				makeToken(TK_ATPRE);
603
				makeToken(QVTrParsersym.TK_ATPRE);
602
	            break;
604
	            break;
603
            }
605
            }
604
	 
606
	 
Lines 606-612 Link Here
606
            // Rule 38:  Token ::= ^
608
            // Rule 38:  Token ::= ^
607
            //
609
            //
608
            case 38: { 
610
            case 38: { 
609
				makeToken(TK_CARET);
611
				makeToken(QVTrParsersym.TK_CARET);
610
	            break;
612
	            break;
611
            }
613
            }
612
	 
614
	 
Lines 614-620 Link Here
614
            // Rule 39:  Token ::= ^ ^
616
            // Rule 39:  Token ::= ^ ^
615
            //
617
            //
616
            case 39: { 
618
            case 39: { 
617
				makeToken(TK_CARETCARET);
619
				makeToken(QVTrParsersym.TK_CARETCARET);
618
	            break;
620
	            break;
619
            }
621
            }
620
	 
622
	 
Lines 622-628 Link Here
622
            // Rule 40:  Token ::= ?
624
            // Rule 40:  Token ::= ?
623
            //
625
            //
624
            case 40: { 
626
            case 40: { 
625
				makeToken(TK_QUESTIONMARK);
627
				makeToken(QVTrParsersym.TK_QUESTIONMARK);
626
	            break;
628
	            break;
627
            }
629
            }
628
	 
630
	 
Lines 630-636 Link Here
630
            // Rule 310:  Token ::= + +
632
            // Rule 310:  Token ::= + +
631
            //
633
            //
632
            case 310: { 
634
            case 310: { 
633
				makeToken(TK_PLUS_PLUS);
635
				makeToken(QVTrParsersym.TK_PLUS_PLUS);
634
	            break;
636
	            break;
635
            }
637
            }
636
	
638
	
(-)src/org/eclipse/qvt/declarative/parser/qvtrelation/QVTrParserprs.java (-81 / +160 lines)
Lines 1-7 Link Here
1
/**
1
/**
2
* <copyright>
2
* <copyright>
3
*
3
*
4
* Copyright (c) 2005, 2009 IBM Corporation, Zeligsoft Inc., Borland Software Corp., and others.
4
* Copyright (c) 2005, 2009 IBM Corporation, Zeligsoft Inc., Borland Software Corp., 
5
* Open Canarias S.L. and others.
5
* All rights reserved.   This program and the accompanying materials
6
* All rights reserved.   This program and the accompanying materials
6
* are made available under the terms of the Eclipse Public License v1.0
7
* are made available under the terms of the Eclipse Public License v1.0
7
* which accompanies this distribution, and is available at
8
* which accompanies this distribution, and is available at
Lines 14-29 Link Here
14
*   E.D.Willink - Bugs 225493, 243976, 259818
15
*   E.D.Willink - Bugs 225493, 243976, 259818
15
*   Zeligsoft - Bug 243976
16
*   Zeligsoft - Bug 243976
16
*   Borland - Bug 242880
17
*   Borland - Bug 242880
18
*   Adolfo Sanchez- Barbudo Herrera - LPG v 2.0.17 adoption
17
*   E.D.Willink - Extended API and implementation for QVTr
19
*   E.D.Willink - Extended API and implementation for QVTr
18
*
20
*
19
* </copyright>
21
* </copyright>
20
*
22
*
21
* $Id: QVTrParserprs.java,v 1.10 2009/03/06 22:39:37 ewillink Exp $
23
* $Id: EssentialOCL.g,v 1.7 2009/03/05 14:12:14 cdamus Exp $
22
*/
24
*/
23
25
24
package org.eclipse.qvt.declarative.parser.qvtrelation;
26
package org.eclipse.qvt.declarative.parser.qvtrelation;
25
27
26
public class QVTrParserprs implements lpg.lpgjavaruntime.ParseTable, QVTrParsersym {
28
public class QVTrParserprs implements lpg.runtime.ParseTable, QVTrParsersym {
29
    public final static int ERROR_SYMBOL = 1;
30
    public final int getErrorSymbol() { return ERROR_SYMBOL; }
31
32
    public final static int SCOPE_UBOUND = 64;
33
    public final int getScopeUbound() { return SCOPE_UBOUND; }
34
35
    public final static int SCOPE_SIZE = 65;
36
    public final int getScopeSize() { return SCOPE_SIZE; }
37
38
    public final static int MAX_NAME_LENGTH = 40;
39
    public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
40
41
    public final static int NUM_STATES = 289;
42
    public final int getNumStates() { return NUM_STATES; }
43
44
    public final static int NT_OFFSET = 117;
45
    public final int getNtOffset() { return NT_OFFSET; }
46
47
    public final static int LA_STATE_OFFSET = 4520;
48
    public final int getLaStateOffset() { return LA_STATE_OFFSET; }
49
50
    public final static int MAX_LA = 2;
51
    public final int getMaxLa() { return MAX_LA; }
52
53
    public final static int NUM_RULES = 423;
54
    public final int getNumRules() { return NUM_RULES; }
55
56
    public final static int NUM_NONTERMINALS = 158;
57
    public final int getNumNonterminals() { return NUM_NONTERMINALS; }
58
59
    public final static int NUM_SYMBOLS = 275;
60
    public final int getNumSymbols() { return NUM_SYMBOLS; }
61
62
    public final static int SEGMENT_SIZE = 8192;
63
    public final int getSegmentSize() { return SEGMENT_SIZE; }
64
65
    public final static int START_STATE = 500;
66
    public final int getStartState() { return START_STATE; }
67
68
    public final static int IDENTIFIER_SYMBOL = 3;
69
    public final int getIdentifier_SYMBOL() { return IDENTIFIER_SYMBOL; }
70
71
    public final static int EOFT_SYMBOL = 111;
72
    public final int getEoftSymbol() { return EOFT_SYMBOL; }
73
74
    public final static int EOLT_SYMBOL = 111;
75
    public final int getEoltSymbol() { return EOLT_SYMBOL; }
76
77
    public final static int ACCEPT_ACTION = 4096;
78
    public final int getAcceptAction() { return ACCEPT_ACTION; }
79
80
    public final static int ERROR_ACTION = 4097;
81
    public final int getErrorAction() { return ERROR_ACTION; }
82
83
    public final static boolean BACKTRACK = true;
84
    public final boolean getBacktrack() { return BACKTRACK; }
85
86
    public final int getStartSymbol() { return lhs(0); }
87
    public final boolean isValidForParser() { return QVTrParsersym.isValidForParser; }
88
89
90
    public interface IsNullable {
91
        public final static byte isNullable[] = {0,
92
            0,0,0,0,0,0,0,0,0,0,
93
            0,0,0,0,0,0,0,0,0,0,
94
            0,0,0,0,0,0,0,0,0,0,
95
            0,0,0,0,0,0,0,0,0,0,
96
            0,0,0,0,0,0,0,0,0,0,
97
            0,0,0,0,0,0,0,0,0,0,
98
            0,0,0,0,0,0,0,0,0,0,
99
            0,0,0,0,0,0,0,0,0,0,
100
            0,0,0,0,0,0,0,0,0,0,
101
            0,0,0,0,0,0,0,0,0,0,
102
            0,0,0,0,0,0,0,0,0,0,
103
            0,0,0,0,0,0,0,0,0,0,
104
            0,0,0,0,0,0,0,0,0,0,
105
            0,0,0,0,0,0,0,0,0,0,
106
            0,0,0,0,0,0,0,0,0,0,
107
            0,0,0,0,0,0,0,0,0,0,
108
            0,0,0,0,0,0,0,0,0,0,
109
            0,0,0,0,0,0,0,0,1,0,
110
            0,0,1,0,0,0,0,0,0,0,
111
            0,0,0,1,0,0,0,0,0,0,
112
            1,1,0,0,0,0,0,0,0,0,
113
            1,0,0,0,0,1,0,0,0,0,
114
            0,1,1,0,0,0,0,0,0,0,
115
            0,0,0,0,0,0,0,0,0,0,
116
            0,0,0,0,0,0,0,0,0,0,
117
            0,0,0,0,0,0,0,0,0,0,
118
            0,0,0,0,0,0,0,0,0,1,
119
            1,0,1,0,0
120
        };
121
    };
122
    public final static byte isNullable[] = IsNullable.isNullable;
123
    public final boolean isNullable(int index) { return isNullable[index] != 0; }
124
125
    public interface ProsthesesIndex {
126
        public final static char prosthesesIndex[] = {0,
127
            146,21,92,54,62,9,3,5,6,7,
128
            8,10,15,50,51,11,40,42,44,48,
129
            49,56,57,58,59,60,61,67,68,69,
130
            70,71,41,43,38,39,34,35,36,37,
131
            32,33,30,31,136,142,143,144,145,147,
132
            148,150,151,152,153,28,29,25,26,27,
133
            98,52,53,81,23,47,77,78,80,91,
134
            135,88,93,109,4,12,55,65,66,73,
135
            79,83,84,85,86,87,100,108,110,111,
136
            112,116,117,2,13,14,45,46,63,64,
137
            72,74,75,76,82,94,95,96,97,99,
138
            101,102,103,104,105,106,107,113,114,115,
139
            118,119,120,121,122,123,124,125,126,127,
140
            128,129,130,131,132,133,134,137,138,139,
141
            140,141,149,154,155,156,157,158,1,16,
142
            17,18,19,20,22,24,89,90
143
        };
144
    };
145
    public final static char prosthesesIndex[] = ProsthesesIndex.prosthesesIndex;
146
    public final int prosthesesIndex(int index) { return prosthesesIndex[index]; }
27
147
28
    public interface IsKeyword {
148
    public interface IsKeyword {
29
        public final static byte isKeyword[] = {0,
149
        public final static byte isKeyword[] = {0,
Lines 1706-1712 Link Here
1706
            53,54,55,56,1,10,11,5,12,13,
1826
            53,54,55,56,1,10,11,5,12,13,
1707
            14,15,16,17,18,19,20,21,6,22,
1827
            14,15,16,17,18,19,20,21,6,22,
1708
            9,28,27,24,26,25,3,8,0,88,
1828
            9,28,27,24,26,25,3,8,0,88,
1709
            95,0,113,4,98,96,94,106,107,100,
1829
            95,0,4,98,96,94,113,106,107,100,
1710
            101,11,14,1,88,103,42,57,0,7,
1830
            101,11,14,1,88,103,42,57,0,7,
1711
            95,2,109,97,104,105,102,99,30,31,
1831
            95,2,109,97,104,105,102,99,30,31,
1712
            40,41,32,33,34,35,23,29,37,38,
1832
            40,41,32,33,34,35,23,29,37,38,
Lines 1809-1826 Link Here
1809
1929
1810
    public interface TerminalIndex {
1930
    public interface TerminalIndex {
1811
        public final static char terminalIndex[] = {0,
1931
        public final static char terminalIndex[] = {0,
1812
            118,12,116,13,100,112,21,109,114,98,
1932
            118,11,116,12,100,112,20,109,114,98,
1813
            99,101,102,103,104,105,106,107,108,110,
1933
            99,101,102,103,104,105,106,107,108,110,
1814
            111,113,8,36,37,38,41,42,11,4,
1934
            111,113,7,36,37,38,41,42,10,3,
1815
            5,6,7,9,10,35,47,48,49,2,
1935
            4,5,6,8,9,35,47,48,49,1,
1816
            3,20,87,88,89,90,91,93,94,95,
1936
            2,19,87,88,89,90,91,93,94,95,
1817
            96,62,63,64,65,66,15,56,57,58,
1937
            96,62,63,64,65,66,14,56,57,58,
1818
            59,67,68,69,70,71,72,73,74,75,
1938
            59,67,68,69,70,71,72,73,74,75,
1819
            76,77,78,79,80,81,82,83,84,85,
1939
            76,77,78,79,80,81,82,83,84,85,
1820
            86,50,92,31,32,33,34,14,54,55,
1940
            86,50,92,31,32,33,34,13,54,55,
1821
            97,52,43,23,22,19,26,17,24,46,
1941
            97,52,43,22,21,18,25,16,23,46,
1822
            53,18,25,27,28,44,45,51,16,29,
1942
            53,17,24,26,27,44,45,51,15,28,
1823
            115,117,1,39,40,60,61
1943
            115,117,29,39,40,60,61
1824
        };
1944
        };
1825
    };
1945
    };
1826
    public final static char terminalIndex[] = TerminalIndex.terminalIndex;
1946
    public final static char terminalIndex[] = TerminalIndex.terminalIndex;
Lines 1921-1955 Link Here
1921
2041
1922
    public interface ScopeRhs {
2042
    public interface ScopeRhs {
1923
        public final static char scopeRhs[] = {0,
2043
        public final static char scopeRhs[] = {0,
1924
            170,0,15,0,172,0,118,15,0,1,
2044
            170,0,57,0,172,0,1,57,0,113,
1925
            169,15,0,169,0,14,0,168,0,175,
2045
            178,57,0,169,0,88,0,168,0,175,
1926
            88,163,0,180,109,133,0,118,0,180,
2046
            88,163,0,180,109,133,0,1,0,180,
1927
            109,123,0,175,2,0,175,93,0,175,
2047
            109,123,0,175,2,0,175,93,0,175,
1928
            106,175,93,0,44,131,118,0,175,107,
2048
            106,175,93,0,106,175,1,0,175,107,
1929
            175,106,175,93,0,45,131,118,0,44,
2049
            175,106,175,93,0,107,175,1,0,106,
1930
            131,45,131,118,0,183,2,187,128,0,
2050
            175,107,175,1,0,183,2,187,128,0,
1931
            13,0,183,2,187,129,0,183,2,187,
2051
            4,0,183,2,187,129,0,183,2,187,
1932
            193,0,183,2,190,95,119,0,185,2,
2052
            193,0,183,2,190,95,119,0,185,2,
1933
            122,0,202,2,123,105,0,202,2,123,
2053
            122,0,202,2,123,105,0,202,2,123,
1934
            104,0,46,0,45,131,46,0,44,131,
2054
            104,0,100,0,107,175,100,0,106,175,
1935
            45,131,46,0,199,92,0,53,131,0,
2055
            107,175,100,0,199,92,0,101,175,0,
1936
            17,0,0,183,2,179,129,0,183,2,
2056
            98,179,0,183,2,179,129,0,183,2,
1937
            179,128,0,183,2,179,193,0,222,2,
2057
            179,128,0,183,2,179,193,0,222,2,
1938
            83,0,185,7,3,0,8,131,0,175,
2058
            83,0,185,7,3,0,23,175,0,175,
1939
            96,182,94,182,2,212,0,182,94,182,
2059
            96,182,94,182,2,212,0,182,94,182,
1940
            2,212,0,19,131,13,0,182,2,212,
2060
            2,212,0,96,175,4,0,182,2,212,
1941
            0,23,130,19,131,13,0,175,96,182,
2061
            0,94,182,96,175,4,0,175,96,182,
1942
            2,212,0,175,96,182,42,182,2,213,
2062
            2,212,0,175,96,182,42,182,2,213,
1943
            0,182,42,182,2,213,0,182,2,213,
2063
            0,182,42,182,2,213,0,182,2,213,
1944
            0,20,130,19,131,13,0,175,96,182,
2064
            0,42,182,96,175,4,0,175,96,182,
1945
            2,213,0,175,2,213,0,218,88,83,
2065
            2,213,0,175,2,213,0,218,88,83,
1946
            0,216,88,122,0,183,2,123,95,119,
2066
            0,216,88,122,0,183,2,123,95,119,
1947
            0,183,2,84,0,152,0,5,145,0,
2067
            0,183,2,84,0,152,0,31,150,0,
1948
            4,145,0,156,0,3,143,0,2,143,
2068
            30,150,0,156,0,41,153,0,40,153,
1949
            0,158,0,10,140,0,9,140,0,7,
2069
            0,158,0,35,155,0,34,155,0,33,
1950
            140,0,6,140,0,160,0,11,138,0,
2070
            155,0,32,155,0,160,0,29,159,0,
1951
            8,138,0,173,0,49,136,0,48,136,
2071
            23,159,0,173,0,39,161,0,38,161,
1952
            0,47,136,0
2072
            0,37,161,0
1953
        };
2073
        };
1954
    };
2074
    };
1955
    public final static char scopeRhs[] = ScopeRhs.scopeRhs;
2075
    public final static char scopeRhs[] = ScopeRhs.scopeRhs;
Lines 2014-2020 Link Here
2014
    public interface Name {
2134
    public interface Name {
2015
        public final static String name[] = {
2135
        public final static String name[] = {
2016
            "",
2136
            "",
2017
            "++",
2018
            "+",
2137
            "+",
2019
            "-",
2138
            "-",
2020
            "*",
2139
            "*",
Lines 2043-2048 Link Here
2043
            "^",
2162
            "^",
2044
            "^^",
2163
            "^^",
2045
            "?",
2164
            "?",
2165
            "++",
2046
            "$empty",
2166
            "$empty",
2047
            "NUMERIC_OPERATION",
2167
            "NUMERIC_OPERATION",
2048
            "STRING_LITERAL",
2168
            "STRING_LITERAL",
Lines 2250-2302 Link Here
2250
    public final static String name[] = Name.name;
2370
    public final static String name[] = Name.name;
2251
    public final String name(int index) { return name[index]; }
2371
    public final String name(int index) { return name[index]; }
2252
2372
2253
    public final static int
2254
           ERROR_SYMBOL      = 1,
2255
           SCOPE_UBOUND      = 64,
2256
           SCOPE_SIZE        = 65,
2257
           MAX_NAME_LENGTH   = 40;
2258
2259
    public final int getErrorSymbol() { return ERROR_SYMBOL; }
2260
    public final int getScopeUbound() { return SCOPE_UBOUND; }
2261
    public final int getScopeSize() { return SCOPE_SIZE; }
2262
    public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
2263
2264
    public final static int
2265
           NUM_STATES        = 289,
2266
           NT_OFFSET         = 117,
2267
           LA_STATE_OFFSET   = 4520,
2268
           MAX_LA            = 2,
2269
           NUM_RULES         = 423,
2270
           NUM_NONTERMINALS  = 158,
2271
           NUM_SYMBOLS       = 275,
2272
           SEGMENT_SIZE      = 8192,
2273
           START_STATE       = 500,
2274
           IDENTIFIER_SYMBOL = 3,
2275
           EOFT_SYMBOL       = 111,
2276
           EOLT_SYMBOL       = 111,
2277
           ACCEPT_ACTION     = 4096,
2278
           ERROR_ACTION      = 4097;
2279
2280
    public final static boolean BACKTRACK = true;
2281
2282
    public final int getNumStates() { return NUM_STATES; }
2283
    public final int getNtOffset() { return NT_OFFSET; }
2284
    public final int getLaStateOffset() { return LA_STATE_OFFSET; }
2285
    public final int getMaxLa() { return MAX_LA; }
2286
    public final int getNumRules() { return NUM_RULES; }
2287
    public final int getNumNonterminals() { return NUM_NONTERMINALS; }
2288
    public final int getNumSymbols() { return NUM_SYMBOLS; }
2289
    public final int getSegmentSize() { return SEGMENT_SIZE; }
2290
    public final int getStartState() { return START_STATE; }
2291
    public final int getStartSymbol() { return lhs[0]; }
2292
    public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; }
2293
    public final int getEoftSymbol() { return EOFT_SYMBOL; }
2294
    public final int getEoltSymbol() { return EOLT_SYMBOL; }
2295
    public final int getAcceptAction() { return ACCEPT_ACTION; }
2296
    public final int getErrorAction() { return ERROR_ACTION; }
2297
    public final boolean isValidForParser() { return isValidForParser; }
2298
    public final boolean getBacktrack() { return BACKTRACK; }
2299
2300
    public final int originalState(int state) {
2373
    public final int originalState(int state) {
2301
        return -baseCheck[state];
2374
        return -baseCheck[state];
2302
    }
2375
    }
Lines 2310-2319 Link Here
2310
        return inSymb[originalState(state)];
2383
        return inSymb[originalState(state)];
2311
    }
2384
    }
2312
2385
2386
    /**
2387
     * assert(! goto_default);
2388
     */
2313
    public final int ntAction(int state, int sym) {
2389
    public final int ntAction(int state, int sym) {
2314
        return baseAction[state + sym];
2390
        return baseAction[state + sym];
2315
    }
2391
    }
2316
2392
2393
    /**
2394
     * assert(! shift_default);
2395
     */
2317
    public final int tAction(int state, int sym) {
2396
    public final int tAction(int state, int sym) {
2318
        int i = baseAction[state],
2397
        int i = baseAction[state],
2319
            k = i + sym;
2398
            k = i + sym;
(-)src/org/eclipse/qvt/declarative/parser/qvtrelation/QVTrParsersym.java (-4 / +7 lines)
Lines 1-7 Link Here
1
/**
1
/**
2
* <copyright>
2
* <copyright>
3
*
3
*
4
* Copyright (c) 2005, 2009 IBM Corporation, Zeligsoft Inc., Borland Software Corp., and others.
4
* Copyright (c) 2005, 2009 IBM Corporation, Zeligsoft Inc., Borland Software Corp., 
5
* Open Canarias S.L. and others.
5
* All rights reserved.   This program and the accompanying materials
6
* All rights reserved.   This program and the accompanying materials
6
* are made available under the terms of the Eclipse Public License v1.0
7
* are made available under the terms of the Eclipse Public License v1.0
7
* which accompanies this distribution, and is available at
8
* which accompanies this distribution, and is available at
Lines 14-31 Link Here
14
*   E.D.Willink - Bugs 225493, 243976, 259818
15
*   E.D.Willink - Bugs 225493, 243976, 259818
15
*   Zeligsoft - Bug 243976
16
*   Zeligsoft - Bug 243976
16
*   Borland - Bug 242880
17
*   Borland - Bug 242880
18
*   Adolfo Sanchez- Barbudo Herrera - LPG v 2.0.17 adoption
17
*   E.D.Willink - Extended API and implementation for QVTr
19
*   E.D.Willink - Extended API and implementation for QVTr
18
*
20
*
19
* </copyright>
21
* </copyright>
20
*
22
*
21
* $Id: QVTrParsersym.java,v 1.10 2009/03/06 22:39:37 ewillink Exp $
23
* $Id: EssentialOCL.g,v 1.7 2009/03/05 14:12:14 cdamus Exp $
22
*/
24
*/
23
25
24
package org.eclipse.qvt.declarative.parser.qvtrelation;
26
package org.eclipse.qvt.declarative.parser.qvtrelation;
25
27
26
public interface QVTrParsersym {
28
public interface QVTrParsersym {
27
    public final static int
29
    public final static int
28
      TK_PLUS_PLUS = 113,
29
      TK_NUMERIC_OPERATION = 84,
30
      TK_NUMERIC_OPERATION = 84,
30
      TK_STRING_LITERAL = 85,
31
      TK_STRING_LITERAL = 85,
31
      TK_INTEGER_LITERAL = 86,
32
      TK_INTEGER_LITERAL = 86,
Lines 58-63 Link Here
58
      TK_CARET = 104,
59
      TK_CARET = 104,
59
      TK_CARETCARET = 105,
60
      TK_CARETCARET = 105,
60
      TK_QUESTIONMARK = 110,
61
      TK_QUESTIONMARK = 110,
62
      TK_PLUS_PLUS = 113,
61
      TK_self = 36,
63
      TK_self = 36,
62
      TK_inv = 24,
64
      TK_inv = 24,
63
      TK_pre = 25,
65
      TK_pre = 25,
Lines 143-149 Link Here
143
      TK_INTEGER_RANGE_START = 112,
145
      TK_INTEGER_RANGE_START = 112,
144
      TK_ERROR_TOKEN = 1;
146
      TK_ERROR_TOKEN = 1;
145
147
146
      public final static String orderedTerminalSymbols[] = {
148
    public final static String orderedTerminalSymbols[] = {
147
                 "",
149
                 "",
148
                 "ERROR_TOKEN",
150
                 "ERROR_TOKEN",
149
                 "LPAREN",
151
                 "LPAREN",
Lines 264-268 Link Here
264
                 "oper"
266
                 "oper"
265
             };
267
             };
266
268
269
    public final static int numTokenKinds = orderedTerminalSymbols.length;
267
    public final static boolean isValidForParser = true;
270
    public final static boolean isValidForParser = true;
268
}
271
}
(-)src/org/eclipse/qvt/declarative/parser/qvtrelation/QVTrKWLexersym.java (-25 / +29 lines)
Lines 1-7 Link Here
1
/**
1
/**
2
* <copyright>
2
* <copyright>
3
*
3
*
4
* Copyright (c) 2005, 2007 IBM Corporation and others.
4
* Copyright (c) 2005, 2009 IBM Corporation, Zeligsoft Inc, Open Canarias S.L., and others.
5
* All rights reserved.   This program and the accompanying materials
5
* All rights reserved.   This program and the accompanying materials
6
* are made available under the terms of the Eclipse Public License v1.0
6
* are made available under the terms of the Eclipse Public License v1.0
7
* which accompanies this distribution, and is available at
7
* which accompanies this distribution, and is available at
Lines 10-20 Link Here
10
* Contributors:
10
* Contributors:
11
*   IBM - Initial API and implementation
11
*   IBM - Initial API and implementation
12
*   E.D.Willink - Lexer and Parser refactoring to support extensibility and flexible error handling
12
*   E.D.Willink - Lexer and Parser refactoring to support extensibility and flexible error handling
13
*   Adolfo Sanchez-Barbudo Herrera - LPG v2.0.17 adoption
13
*   E.D.Willink - Extended API and implementation for QVTr
14
*   E.D.Willink - Extended API and implementation for QVTr
14
*
15
*
15
* </copyright>
16
* </copyright>
16
*
17
*
17
* $Id: QVTrKWLexersym.java,v 1.10 2009/03/06 22:39:37 ewillink Exp $
18
* 
18
*/
19
*/
19
20
20
package org.eclipse.qvt.declarative.parser.qvtrelation;
21
package org.eclipse.qvt.declarative.parser.qvtrelation;
Lines 22-27 Link Here
22
public interface QVTrKWLexersym {
23
public interface QVTrKWLexersym {
23
    public final static int
24
    public final static int
24
      Char_DollarSign = 41,
25
      Char_DollarSign = 41,
26
      Char_Percent = 42,
27
      Char__ = 33,
25
      Char_a = 5,
28
      Char_a = 5,
26
      Char_b = 30,
29
      Char_b = 30,
27
      Char_c = 11,
30
      Char_c = 11,
Lines 31-37 Link Here
31
      Char_g = 17,
34
      Char_g = 17,
32
      Char_h = 21,
35
      Char_h = 21,
33
      Char_i = 6,
36
      Char_i = 6,
34
      Char_j = 33,
37
      Char_j = 34,
35
      Char_k = 20,
38
      Char_k = 20,
36
      Char_l = 3,
39
      Char_l = 3,
37
      Char_m = 18,
40
      Char_m = 18,
Lines 47-83 Link Here
47
      Char_w = 31,
50
      Char_w = 31,
48
      Char_x = 23,
51
      Char_x = 23,
49
      Char_y = 14,
52
      Char_y = 14,
50
      Char_z = 42,
53
      Char_z = 43,
51
      Char_A = 24,
54
      Char_A = 24,
52
      Char_B = 32,
55
      Char_B = 32,
53
      Char_C = 34,
56
      Char_C = 35,
54
      Char_D = 43,
57
      Char_D = 44,
55
      Char_E = 44,
58
      Char_E = 45,
56
      Char_F = 45,
59
      Char_F = 46,
57
      Char_G = 46,
60
      Char_G = 47,
58
      Char_H = 47,
61
      Char_H = 48,
59
      Char_I = 19,
62
      Char_I = 19,
60
      Char_J = 48,
63
      Char_J = 49,
61
      Char_K = 35,
64
      Char_K = 36,
62
      Char_L = 49,
65
      Char_L = 50,
63
      Char_M = 36,
66
      Char_M = 37,
64
      Char_N = 25,
67
      Char_N = 25,
65
      Char_O = 26,
68
      Char_O = 26,
66
      Char_P = 50,
69
      Char_P = 51,
67
      Char_Q = 51,
70
      Char_Q = 52,
68
      Char_R = 37,
71
      Char_R = 38,
69
      Char_S = 27,
72
      Char_S = 27,
70
      Char_T = 28,
73
      Char_T = 28,
71
      Char_U = 29,
74
      Char_U = 29,
72
      Char_V = 38,
75
      Char_V = 39,
73
      Char_W = 52,
76
      Char_W = 53,
74
      Char_X = 53,
77
      Char_X = 54,
75
      Char_Y = 54,
78
      Char_Y = 55,
76
      Char_Z = 55,
79
      Char_Z = 56,
77
      Char__ = 39,
78
      Char_EOF = 40;
80
      Char_EOF = 40;
79
81
80
      public final static String orderedTerminalSymbols[] = {
82
    public final static String orderedTerminalSymbols[] = {
81
                 "",
83
                 "",
82
                 "e",
84
                 "e",
83
                 "t",
85
                 "t",
Lines 111-125 Link Here
111
                 "b",
113
                 "b",
112
                 "w",
114
                 "w",
113
                 "B",
115
                 "B",
116
                 "_",
114
                 "j",
117
                 "j",
115
                 "C",
118
                 "C",
116
                 "K",
119
                 "K",
117
                 "M",
120
                 "M",
118
                 "R",
121
                 "R",
119
                 "V",
122
                 "V",
120
                 "_",
121
                 "EOF",
123
                 "EOF",
122
                 "DollarSign",
124
                 "DollarSign",
125
                 "Percent",
123
                 "z",
126
                 "z",
124
                 "D",
127
                 "D",
125
                 "E",
128
                 "E",
Lines 136-140 Link Here
136
                 "Z"
139
                 "Z"
137
             };
140
             };
138
141
142
    public final static int numTokenKinds = orderedTerminalSymbols.length;
139
    public final static boolean isValidForParser = true;
143
    public final static boolean isValidForParser = true;
140
}
144
}
(-)src/org/eclipse/qvt/declarative/parser/qvtrelation/QVTrLexersym.java (-3 / +6 lines)
Lines 1-7 Link Here
1
/**
1
/**
2
* <copyright>
2
* <copyright>
3
*
3
*
4
* Copyright (c) 2005, 2009 IBM Corporation, Borland Software Corp.,  and others.
4
* Copyright (c) 2005, 2009 IBM Corporation, Borland Software Corp., Open Canarias S.L. and others.
5
* All rights reserved.   This program and the accompanying materials
5
* All rights reserved.   This program and the accompanying materials
6
* are made available under the terms of the Eclipse Public License v1.0
6
* are made available under the terms of the Eclipse Public License v1.0
7
* which accompanies this distribution, and is available at
7
* which accompanies this distribution, and is available at
Lines 10-21 Link Here
10
* Contributors:
10
* Contributors:
11
*   IBM - Initial API and implementation
11
*   IBM - Initial API and implementation
12
*   E.D.Willink - Lexer and Parser refactoring to support extensibility and flexible error handling
12
*   E.D.Willink - Lexer and Parser refactoring to support extensibility and flexible error handling
13
*               - Bug 259818
13
*   Borland - Bug 242880
14
*   Borland - Bug 242880
15
*   Adolfo Sanchez-Barbudo Herrera - LPG v2.0.17 adoption
14
*   E.D.Willink - Extended API and implementation for QVTr
16
*   E.D.Willink - Extended API and implementation for QVTr
15
*
17
*
16
* </copyright>
18
* </copyright>
17
*
19
*
18
* $Id: QVTrLexersym.java,v 1.10 2009/03/06 22:39:37 ewillink Exp $
20
* $Id$
19
*/
21
*/
20
22
21
package org.eclipse.qvt.declarative.parser.qvtrelation;
23
package org.eclipse.qvt.declarative.parser.qvtrelation;
Lines 126-132 Link Here
126
      Char_Equal = 15,
128
      Char_Equal = 15,
127
      Char_EOF = 99;
129
      Char_EOF = 99;
128
130
129
      public final static String orderedTerminalSymbols[] = {
131
    public final static String orderedTerminalSymbols[] = {
130
                 "",
132
                 "",
131
                 "0",
133
                 "0",
132
                 "1",
134
                 "1",
Lines 233-237 Link Here
233
                 "CtlCharNotWS"
235
                 "CtlCharNotWS"
234
             };
236
             };
235
237
238
    public final static int numTokenKinds = orderedTerminalSymbols.length;
236
    public final static boolean isValidForParser = true;
239
    public final static boolean isValidForParser = true;
237
}
240
}
(-)src/org/eclipse/qvt/declarative/parser/qvtrelation/QVTrKWLexer.java (-141 / +223 lines)
Lines 1-7 Link Here
1
/**
1
/**
2
* <copyright>
2
* <copyright>
3
*
3
*
4
* Copyright (c) 2005, 2007 IBM Corporation and others.
4
* Copyright (c) 2005, 2009 IBM Corporation, Zeligsoft Inc, Open Canarias S.L., and others.
5
* All rights reserved.   This program and the accompanying materials
5
* All rights reserved.   This program and the accompanying materials
6
* are made available under the terms of the Eclipse Public License v1.0
6
* are made available under the terms of the Eclipse Public License v1.0
7
* which accompanies this distribution, and is available at
7
* which accompanies this distribution, and is available at
Lines 10-26 Link Here
10
* Contributors:
10
* Contributors:
11
*   IBM - Initial API and implementation
11
*   IBM - Initial API and implementation
12
*   E.D.Willink - Lexer and Parser refactoring to support extensibility and flexible error handling
12
*   E.D.Willink - Lexer and Parser refactoring to support extensibility and flexible error handling
13
*   Adolfo Sanchez-Barbudo Herrera - LPG v2.0.17 adoption
13
*   E.D.Willink - Extended API and implementation for QVTr
14
*   E.D.Willink - Extended API and implementation for QVTr
14
*
15
*
15
* </copyright>
16
* </copyright>
16
*
17
*
17
* $Id: QVTrKWLexer.java,v 1.10 2009/03/06 22:39:37 ewillink Exp $
18
* 
18
*/
19
*/
19
20
20
package org.eclipse.qvt.declarative.parser.qvtrelation;
21
package org.eclipse.qvt.declarative.parser.qvtrelation;
21
22
22
23
23
24
public class QVTrKWLexer extends QVTrKWLexerprs implements QVTrParsersym
24
public class QVTrKWLexer extends QVTrKWLexerprs implements QVTrParsersym
25
{
25
{
26
    private char[] inputChars;
26
    private char[] inputChars;
Lines 58-124 Link Here
58
    final static int tokenKind[] = new int[128];
58
    final static int tokenKind[] = new int[128];
59
    static
59
    static
60
    {
60
    {
61
        tokenKind['$'] = Char_DollarSign;
61
        tokenKind['$'] = QVTrKWLexersym.Char_DollarSign;
62
62
        tokenKind['%'] = QVTrKWLexersym.Char_Percent;
63
        tokenKind['a'] = Char_a;
63
        tokenKind['_'] = QVTrKWLexersym.Char__;
64
        tokenKind['b'] = Char_b;
64
65
        tokenKind['c'] = Char_c;
65
        tokenKind['a'] = QVTrKWLexersym.Char_a;
66
        tokenKind['d'] = Char_d;
66
        tokenKind['b'] = QVTrKWLexersym.Char_b;
67
        tokenKind['e'] = Char_e;
67
        tokenKind['c'] = QVTrKWLexersym.Char_c;
68
        tokenKind['f'] = Char_f;
68
        tokenKind['d'] = QVTrKWLexersym.Char_d;
69
        tokenKind['g'] = Char_g;
69
        tokenKind['e'] = QVTrKWLexersym.Char_e;
70
        tokenKind['h'] = Char_h;
70
        tokenKind['f'] = QVTrKWLexersym.Char_f;
71
        tokenKind['i'] = Char_i;
71
        tokenKind['g'] = QVTrKWLexersym.Char_g;
72
        tokenKind['j'] = Char_j;
72
        tokenKind['h'] = QVTrKWLexersym.Char_h;
73
        tokenKind['k'] = Char_k;
73
        tokenKind['i'] = QVTrKWLexersym.Char_i;
74
        tokenKind['l'] = Char_l;
74
        tokenKind['j'] = QVTrKWLexersym.Char_j;
75
        tokenKind['m'] = Char_m;
75
        tokenKind['k'] = QVTrKWLexersym.Char_k;
76
        tokenKind['n'] = Char_n;
76
        tokenKind['l'] = QVTrKWLexersym.Char_l;
77
        tokenKind['o'] = Char_o;
77
        tokenKind['m'] = QVTrKWLexersym.Char_m;
78
        tokenKind['p'] = Char_p;
78
        tokenKind['n'] = QVTrKWLexersym.Char_n;
79
        tokenKind['q'] = Char_q;
79
        tokenKind['o'] = QVTrKWLexersym.Char_o;
80
        tokenKind['r'] = Char_r;
80
        tokenKind['p'] = QVTrKWLexersym.Char_p;
81
        tokenKind['s'] = Char_s;
81
        tokenKind['q'] = QVTrKWLexersym.Char_q;
82
        tokenKind['t'] = Char_t;
82
        tokenKind['r'] = QVTrKWLexersym.Char_r;
83
        tokenKind['u'] = Char_u;
83
        tokenKind['s'] = QVTrKWLexersym.Char_s;
84
        tokenKind['v'] = Char_v;
84
        tokenKind['t'] = QVTrKWLexersym.Char_t;
85
        tokenKind['w'] = Char_w;
85
        tokenKind['u'] = QVTrKWLexersym.Char_u;
86
        tokenKind['x'] = Char_x;
86
        tokenKind['v'] = QVTrKWLexersym.Char_v;
87
        tokenKind['y'] = Char_y;
87
        tokenKind['w'] = QVTrKWLexersym.Char_w;
88
        tokenKind['z'] = Char_z;
88
        tokenKind['x'] = QVTrKWLexersym.Char_x;
89
89
        tokenKind['y'] = QVTrKWLexersym.Char_y;
90
        tokenKind['A'] = Char_A;
90
        tokenKind['z'] = QVTrKWLexersym.Char_z;
91
        tokenKind['B'] = Char_B;
91
92
        tokenKind['C'] = Char_C;
92
        tokenKind['A'] = QVTrKWLexersym.Char_A;
93
        tokenKind['D'] = Char_D;
93
        tokenKind['B'] = QVTrKWLexersym.Char_B;
94
        tokenKind['E'] = Char_E;
94
        tokenKind['C'] = QVTrKWLexersym.Char_C;
95
        tokenKind['F'] = Char_F;
95
        tokenKind['D'] = QVTrKWLexersym.Char_D;
96
        tokenKind['G'] = Char_G;
96
        tokenKind['E'] = QVTrKWLexersym.Char_E;
97
        tokenKind['H'] = Char_H;
97
        tokenKind['F'] = QVTrKWLexersym.Char_F;
98
        tokenKind['I'] = Char_I;
98
        tokenKind['G'] = QVTrKWLexersym.Char_G;
99
        tokenKind['J'] = Char_J;
99
        tokenKind['H'] = QVTrKWLexersym.Char_H;
100
        tokenKind['K'] = Char_K;
100
        tokenKind['I'] = QVTrKWLexersym.Char_I;
101
        tokenKind['L'] = Char_L;
101
        tokenKind['J'] = QVTrKWLexersym.Char_J;
102
        tokenKind['M'] = Char_M;
102
        tokenKind['K'] = QVTrKWLexersym.Char_K;
103
        tokenKind['N'] = Char_N;
103
        tokenKind['L'] = QVTrKWLexersym.Char_L;
104
        tokenKind['O'] = Char_O;
104
        tokenKind['M'] = QVTrKWLexersym.Char_M;
105
        tokenKind['P'] = Char_P;
105
        tokenKind['N'] = QVTrKWLexersym.Char_N;
106
        tokenKind['Q'] = Char_Q;
106
        tokenKind['O'] = QVTrKWLexersym.Char_O;
107
        tokenKind['R'] = Char_R;
107
        tokenKind['P'] = QVTrKWLexersym.Char_P;
108
        tokenKind['S'] = Char_S;
108
        tokenKind['Q'] = QVTrKWLexersym.Char_Q;
109
        tokenKind['T'] = Char_T;
109
        tokenKind['R'] = QVTrKWLexersym.Char_R;
110
        tokenKind['U'] = Char_U;
110
        tokenKind['S'] = QVTrKWLexersym.Char_S;
111
        tokenKind['V'] = Char_V;
111
        tokenKind['T'] = QVTrKWLexersym.Char_T;
112
        tokenKind['W'] = Char_W;
112
        tokenKind['U'] = QVTrKWLexersym.Char_U;
113
        tokenKind['X'] = Char_X;
113
        tokenKind['V'] = QVTrKWLexersym.Char_V;
114
        tokenKind['Y'] = Char_Y;
114
        tokenKind['W'] = QVTrKWLexersym.Char_W;
115
        tokenKind['Z'] = Char_Z;
115
        tokenKind['X'] = QVTrKWLexersym.Char_X;
116
        tokenKind['Y'] = QVTrKWLexersym.Char_Y;
117
        tokenKind['Z'] = QVTrKWLexersym.Char_Z;
116
    };
118
    };
117
119
118
    final int getKind(char c)
120
    final int getKind(int c)
119
    {
121
    {
120
        return (c < 128 ? tokenKind[c] : 0);
122
        return (((c & 0xFFFFFF80) == 0) /* 0 <= c < 128? */ ? tokenKind[c] : 0);
121
    }
123
    }
124
122
    static
125
    static
123
    {
126
    {
124
        tokenKind['_'] = Char__;
127
        tokenKind['_'] = Char__;
Lines 133-616 Link Here
133
        //
136
        //
134
        // Rule 1:  KeyWord ::= s e l f
137
        // Rule 1:  KeyWord ::= s e l f
135
        //
138
        //
136
		keywordKind[1] = (TK_self);
139
        
140
		keywordKind[1] = (QVTrParsersym.TK_self);
137
	  
141
	  
138
	
142
	
139
        //
143
        //
140
        // Rule 2:  KeyWord ::= i n v
144
        // Rule 2:  KeyWord ::= i n v
141
        //
145
        //
142
		keywordKind[2] = (TK_inv);
146
        
147
		keywordKind[2] = (QVTrParsersym.TK_inv);
143
	  
148
	  
144
	
149
	
145
        //
150
        //
146
        // Rule 3:  KeyWord ::= p r e
151
        // Rule 3:  KeyWord ::= p r e
147
        //
152
        //
148
		keywordKind[3] = (TK_pre);
153
        
154
		keywordKind[3] = (QVTrParsersym.TK_pre);
149
	  
155
	  
150
	
156
	
151
        //
157
        //
152
        // Rule 4:  KeyWord ::= p o s t
158
        // Rule 4:  KeyWord ::= p o s t
153
        //
159
        //
154
		keywordKind[4] = (TK_post);
160
        
161
		keywordKind[4] = (QVTrParsersym.TK_post);
155
	  
162
	  
156
	
163
	
157
        //
164
        //
158
        // Rule 5:  KeyWord ::= b o d y
165
        // Rule 5:  KeyWord ::= b o d y
159
        //
166
        //
160
		keywordKind[5] = (TK_body);
167
        
168
		keywordKind[5] = (QVTrParsersym.TK_body);
161
	  
169
	  
162
	
170
	
163
        //
171
        //
164
        // Rule 6:  KeyWord ::= c o n t e x t
172
        // Rule 6:  KeyWord ::= c o n t e x t
165
        //
173
        //
166
		keywordKind[6] = (TK_context);
174
        
175
		keywordKind[6] = (QVTrParsersym.TK_context);
167
	  
176
	  
168
	
177
	
169
        //
178
        //
170
        // Rule 7:  KeyWord ::= p a c k a g e
179
        // Rule 7:  KeyWord ::= p a c k a g e
171
        //
180
        //
172
		keywordKind[7] = (TK_package);
181
        
182
		keywordKind[7] = (QVTrParsersym.TK_package);
173
	  
183
	  
174
	
184
	
175
        //
185
        //
176
        // Rule 8:  KeyWord ::= e n d p a c k a g e
186
        // Rule 8:  KeyWord ::= e n d p a c k a g e
177
        //
187
        //
178
		keywordKind[8] = (TK_endpackage);
188
        
189
		keywordKind[8] = (QVTrParsersym.TK_endpackage);
179
	  
190
	  
180
	
191
	
181
        //
192
        //
182
        // Rule 9:  KeyWord ::= d e f
193
        // Rule 9:  KeyWord ::= d e f
183
        //
194
        //
184
		keywordKind[9] = (TK_def);
195
        
196
		keywordKind[9] = (QVTrParsersym.TK_def);
185
	  
197
	  
186
	
198
	
187
        //
199
        //
188
        // Rule 10:  KeyWord ::= d e r i v e
200
        // Rule 10:  KeyWord ::= d e r i v e
189
        //
201
        //
190
		keywordKind[10] = (TK_derive);
202
        
203
		keywordKind[10] = (QVTrParsersym.TK_derive);
191
	  
204
	  
192
	
205
	
193
        //
206
        //
194
        // Rule 11:  KeyWord ::= i n i t
207
        // Rule 11:  KeyWord ::= i n i t
195
        //
208
        //
196
		keywordKind[11] = (TK_init);
209
        
210
		keywordKind[11] = (QVTrParsersym.TK_init);
197
	  
211
	  
198
	
212
	
199
        //
213
        //
200
        // Rule 12:  KeyWord ::= i f
214
        // Rule 12:  KeyWord ::= i f
201
        //
215
        //
202
		keywordKind[12] = (TK_if);
216
        
217
		keywordKind[12] = (QVTrParsersym.TK_if);
203
	  
218
	  
204
	
219
	
205
        //
220
        //
206
        // Rule 13:  KeyWord ::= t h e n
221
        // Rule 13:  KeyWord ::= t h e n
207
        //
222
        //
208
		keywordKind[13] = (TK_then);
223
        
224
		keywordKind[13] = (QVTrParsersym.TK_then);
209
	  
225
	  
210
	
226
	
211
        //
227
        //
212
        // Rule 14:  KeyWord ::= e l s e
228
        // Rule 14:  KeyWord ::= e l s e
213
        //
229
        //
214
		keywordKind[14] = (TK_else);
230
        
231
		keywordKind[14] = (QVTrParsersym.TK_else);
215
	  
232
	  
216
	
233
	
217
        //
234
        //
218
        // Rule 15:  KeyWord ::= e n d i f
235
        // Rule 15:  KeyWord ::= e n d i f
219
        //
236
        //
220
		keywordKind[15] = (TK_endif);
237
        
238
		keywordKind[15] = (QVTrParsersym.TK_endif);
221
	  
239
	  
222
	
240
	
223
        //
241
        //
224
        // Rule 16:  KeyWord ::= a n d
242
        // Rule 16:  KeyWord ::= a n d
225
        //
243
        //
226
		keywordKind[16] = (TK_and);
244
        
245
		keywordKind[16] = (QVTrParsersym.TK_and);
227
	  
246
	  
228
	
247
	
229
        //
248
        //
230
        // Rule 17:  KeyWord ::= o r
249
        // Rule 17:  KeyWord ::= o r
231
        //
250
        //
232
		keywordKind[17] = (TK_or);
251
        
252
		keywordKind[17] = (QVTrParsersym.TK_or);
233
	  
253
	  
234
	
254
	
235
        //
255
        //
236
        // Rule 18:  KeyWord ::= x o r
256
        // Rule 18:  KeyWord ::= x o r
237
        //
257
        //
238
		keywordKind[18] = (TK_xor);
258
        
259
		keywordKind[18] = (QVTrParsersym.TK_xor);
239
	  
260
	  
240
	
261
	
241
        //
262
        //
242
        // Rule 19:  KeyWord ::= n o t
263
        // Rule 19:  KeyWord ::= n o t
243
        //
264
        //
244
		keywordKind[19] = (TK_not);
265
        
266
		keywordKind[19] = (QVTrParsersym.TK_not);
245
	  
267
	  
246
	
268
	
247
        //
269
        //
248
        // Rule 20:  KeyWord ::= i m p l i e s
270
        // Rule 20:  KeyWord ::= i m p l i e s
249
        //
271
        //
250
		keywordKind[20] = (TK_implies);
272
        
273
		keywordKind[20] = (QVTrParsersym.TK_implies);
251
	  
274
	  
252
	
275
	
253
        //
276
        //
254
        // Rule 21:  KeyWord ::= l e t
277
        // Rule 21:  KeyWord ::= l e t
255
        //
278
        //
256
		keywordKind[21] = (TK_let);
279
        
280
		keywordKind[21] = (QVTrParsersym.TK_let);
257
	  
281
	  
258
	
282
	
259
        //
283
        //
260
        // Rule 22:  KeyWord ::= i n
284
        // Rule 22:  KeyWord ::= i n
261
        //
285
        //
262
		keywordKind[22] = (TK_in);
286
        
287
		keywordKind[22] = (QVTrParsersym.TK_in);
263
	  
288
	  
264
	
289
	
265
        //
290
        //
266
        // Rule 23:  KeyWord ::= t r u e
291
        // Rule 23:  KeyWord ::= t r u e
267
        //
292
        //
268
		keywordKind[23] = (TK_true);
293
        
294
		keywordKind[23] = (QVTrParsersym.TK_true);
269
	  
295
	  
270
	
296
	
271
        //
297
        //
272
        // Rule 24:  KeyWord ::= f a l s e
298
        // Rule 24:  KeyWord ::= f a l s e
273
        //
299
        //
274
		keywordKind[24] = (TK_false);
300
        
301
		keywordKind[24] = (QVTrParsersym.TK_false);
275
	  
302
	  
276
	
303
	
277
        //
304
        //
278
        // Rule 25:  KeyWord ::= S e t
305
        // Rule 25:  KeyWord ::= S e t
279
        //
306
        //
280
		keywordKind[25] = (TK_Set);
307
        
308
		keywordKind[25] = (QVTrParsersym.TK_Set);
281
	  
309
	  
282
	
310
	
283
        //
311
        //
284
        // Rule 26:  KeyWord ::= B a g
312
        // Rule 26:  KeyWord ::= B a g
285
        //
313
        //
286
		keywordKind[26] = (TK_Bag);
314
        
315
		keywordKind[26] = (QVTrParsersym.TK_Bag);
287
	  
316
	  
288
	
317
	
289
        //
318
        //
290
        // Rule 27:  KeyWord ::= S e q u e n c e
319
        // Rule 27:  KeyWord ::= S e q u e n c e
291
        //
320
        //
292
		keywordKind[27] = (TK_Sequence);
321
        
322
		keywordKind[27] = (QVTrParsersym.TK_Sequence);
293
	  
323
	  
294
	
324
	
295
        //
325
        //
296
        // Rule 28:  KeyWord ::= C o l l e c t i o n
326
        // Rule 28:  KeyWord ::= C o l l e c t i o n
297
        //
327
        //
298
		keywordKind[28] = (TK_Collection);
328
        
329
		keywordKind[28] = (QVTrParsersym.TK_Collection);
299
	  
330
	  
300
	
331
	
301
        //
332
        //
302
        // Rule 29:  KeyWord ::= O r d e r e d S e t
333
        // Rule 29:  KeyWord ::= O r d e r e d S e t
303
        //
334
        //
304
		keywordKind[29] = (TK_OrderedSet);
335
        
336
		keywordKind[29] = (QVTrParsersym.TK_OrderedSet);
305
	  
337
	  
306
	
338
	
307
        //
339
        //
308
        // Rule 30:  KeyWord ::= i t e r a t e
340
        // Rule 30:  KeyWord ::= i t e r a t e
309
        //
341
        //
310
		keywordKind[30] = (TK_iterate);
342
        
343
		keywordKind[30] = (QVTrParsersym.TK_iterate);
311
	  
344
	  
312
	
345
	
313
        //
346
        //
314
        // Rule 31:  KeyWord ::= f o r A l l
347
        // Rule 31:  KeyWord ::= f o r A l l
315
        //
348
        //
316
		keywordKind[31] = (TK_forAll);
349
        
350
		keywordKind[31] = (QVTrParsersym.TK_forAll);
317
	  
351
	  
318
	
352
	
319
        //
353
        //
320
        // Rule 32:  KeyWord ::= e x i s t s
354
        // Rule 32:  KeyWord ::= e x i s t s
321
        //
355
        //
322
		keywordKind[32] = (TK_exists);
356
        
357
		keywordKind[32] = (QVTrParsersym.TK_exists);
323
	  
358
	  
324
	
359
	
325
        //
360
        //
326
        // Rule 33:  KeyWord ::= i s U n i q u e
361
        // Rule 33:  KeyWord ::= i s U n i q u e
327
        //
362
        //
328
		keywordKind[33] = (TK_isUnique);
363
        
364
		keywordKind[33] = (QVTrParsersym.TK_isUnique);
329
	  
365
	  
330
	
366
	
331
        //
367
        //
332
        // Rule 34:  KeyWord ::= a n y
368
        // Rule 34:  KeyWord ::= a n y
333
        //
369
        //
334
		keywordKind[34] = (TK_any);
370
        
371
		keywordKind[34] = (QVTrParsersym.TK_any);
335
	  
372
	  
336
	
373
	
337
        //
374
        //
338
        // Rule 35:  KeyWord ::= o n e
375
        // Rule 35:  KeyWord ::= o n e
339
        //
376
        //
340
		keywordKind[35] = (TK_one);
377
        
378
		keywordKind[35] = (QVTrParsersym.TK_one);
341
	  
379
	  
342
	
380
	
343
        //
381
        //
344
        // Rule 36:  KeyWord ::= c o l l e c t
382
        // Rule 36:  KeyWord ::= c o l l e c t
345
        //
383
        //
346
		keywordKind[36] = (TK_collect);
384
        
385
		keywordKind[36] = (QVTrParsersym.TK_collect);
347
	  
386
	  
348
	
387
	
349
        //
388
        //
350
        // Rule 37:  KeyWord ::= s e l e c t
389
        // Rule 37:  KeyWord ::= s e l e c t
351
        //
390
        //
352
		keywordKind[37] = (TK_select);
391
        
392
		keywordKind[37] = (QVTrParsersym.TK_select);
353
	  
393
	  
354
	
394
	
355
        //
395
        //
356
        // Rule 38:  KeyWord ::= r e j e c t
396
        // Rule 38:  KeyWord ::= r e j e c t
357
        //
397
        //
358
		keywordKind[38] = (TK_reject);
398
        
399
		keywordKind[38] = (QVTrParsersym.TK_reject);
359
	  
400
	  
360
	
401
	
361
        //
402
        //
362
        // Rule 39:  KeyWord ::= c o l l e c t N e s t e d
403
        // Rule 39:  KeyWord ::= c o l l e c t N e s t e d
363
        //
404
        //
364
		keywordKind[39] = (TK_collectNested);
405
        
406
		keywordKind[39] = (QVTrParsersym.TK_collectNested);
365
	  
407
	  
366
	
408
	
367
        //
409
        //
368
        // Rule 40:  KeyWord ::= s o r t e d B y
410
        // Rule 40:  KeyWord ::= s o r t e d B y
369
        //
411
        //
370
		keywordKind[40] = (TK_sortedBy);
412
        
413
		keywordKind[40] = (QVTrParsersym.TK_sortedBy);
371
	  
414
	  
372
	
415
	
373
        //
416
        //
374
        // Rule 41:  KeyWord ::= c l o s u r e
417
        // Rule 41:  KeyWord ::= c l o s u r e
375
        //
418
        //
376
		keywordKind[41] = (TK_closure);
419
        
420
		keywordKind[41] = (QVTrParsersym.TK_closure);
377
	  
421
	  
378
	
422
	
379
        //
423
        //
380
        // Rule 42:  KeyWord ::= o c l I s K i n d O f
424
        // Rule 42:  KeyWord ::= o c l I s K i n d O f
381
        //
425
        //
382
		keywordKind[42] = (TK_oclIsKindOf);
426
        
427
		keywordKind[42] = (QVTrParsersym.TK_oclIsKindOf);
383
	  
428
	  
384
	
429
	
385
        //
430
        //
386
        // Rule 43:  KeyWord ::= o c l I s T y p e O f
431
        // Rule 43:  KeyWord ::= o c l I s T y p e O f
387
        //
432
        //
388
		keywordKind[43] = (TK_oclIsTypeOf);
433
        
434
		keywordKind[43] = (QVTrParsersym.TK_oclIsTypeOf);
389
	  
435
	  
390
	
436
	
391
        //
437
        //
392
        // Rule 44:  KeyWord ::= o c l A s T y p e
438
        // Rule 44:  KeyWord ::= o c l A s T y p e
393
        //
439
        //
394
		keywordKind[44] = (TK_oclAsType);
440
        
441
		keywordKind[44] = (QVTrParsersym.TK_oclAsType);
395
	  
442
	  
396
	
443
	
397
        //
444
        //
398
        // Rule 45:  KeyWord ::= o c l I s N e w
445
        // Rule 45:  KeyWord ::= o c l I s N e w
399
        //
446
        //
400
		keywordKind[45] = (TK_oclIsNew);
447
        
448
		keywordKind[45] = (QVTrParsersym.TK_oclIsNew);
401
	  
449
	  
402
	
450
	
403
        //
451
        //
404
        // Rule 46:  KeyWord ::= o c l I s U n d e f i n e d
452
        // Rule 46:  KeyWord ::= o c l I s U n d e f i n e d
405
        //
453
        //
406
		keywordKind[46] = (TK_oclIsUndefined);
454
        
455
		keywordKind[46] = (QVTrParsersym.TK_oclIsUndefined);
407
	  
456
	  
408
	
457
	
409
        //
458
        //
410
        // Rule 47:  KeyWord ::= o c l I s I n v a l i d
459
        // Rule 47:  KeyWord ::= o c l I s I n v a l i d
411
        //
460
        //
412
		keywordKind[47] = (TK_oclIsInvalid);
461
        
462
		keywordKind[47] = (QVTrParsersym.TK_oclIsInvalid);
413
	  
463
	  
414
	
464
	
415
        //
465
        //
416
        // Rule 48:  KeyWord ::= o c l I s I n S t a t e
466
        // Rule 48:  KeyWord ::= o c l I s I n S t a t e
417
        //
467
        //
418
		keywordKind[48] = (TK_oclIsInState);
468
        
469
		keywordKind[48] = (QVTrParsersym.TK_oclIsInState);
419
	  
470
	  
420
	
471
	
421
        //
472
        //
422
        // Rule 49:  KeyWord ::= a l l I n s t a n c e s
473
        // Rule 49:  KeyWord ::= a l l I n s t a n c e s
423
        //
474
        //
424
		keywordKind[49] = (TK_allInstances);
475
        
476
		keywordKind[49] = (QVTrParsersym.TK_allInstances);
425
	  
477
	  
426
	
478
	
427
        //
479
        //
428
        // Rule 50:  KeyWord ::= S t r i n g
480
        // Rule 50:  KeyWord ::= S t r i n g
429
        //
481
        //
430
		keywordKind[50] = (TK_String);
482
        
483
		keywordKind[50] = (QVTrParsersym.TK_String);
431
	  
484
	  
432
	
485
	
433
        //
486
        //
434
        // Rule 51:  KeyWord ::= I n t e g e r
487
        // Rule 51:  KeyWord ::= I n t e g e r
435
        //
488
        //
436
		keywordKind[51] = (TK_Integer);
489
        
490
		keywordKind[51] = (QVTrParsersym.TK_Integer);
437
	  
491
	  
438
	
492
	
439
        //
493
        //
440
        // Rule 52:  KeyWord ::= U n l i m i t e d N a t u r a l
494
        // Rule 52:  KeyWord ::= U n l i m i t e d N a t u r a l
441
        //
495
        //
442
		keywordKind[52] = (TK_UnlimitedNatural);
496
        
497
		keywordKind[52] = (QVTrParsersym.TK_UnlimitedNatural);
443
	  
498
	  
444
	
499
	
445
        //
500
        //
446
        // Rule 53:  KeyWord ::= R e a l
501
        // Rule 53:  KeyWord ::= R e a l
447
        //
502
        //
448
		keywordKind[53] = (TK_Real);
503
        
504
		keywordKind[53] = (QVTrParsersym.TK_Real);
449
	  
505
	  
450
	
506
	
451
        //
507
        //
452
        // Rule 54:  KeyWord ::= B o o l e a n
508
        // Rule 54:  KeyWord ::= B o o l e a n
453
        //
509
        //
454
		keywordKind[54] = (TK_Boolean);
510
        
511
		keywordKind[54] = (QVTrParsersym.TK_Boolean);
455
	  
512
	  
456
	
513
	
457
        //
514
        //
458
        // Rule 55:  KeyWord ::= T u p l e
515
        // Rule 55:  KeyWord ::= T u p l e
459
        //
516
        //
460
		keywordKind[55] = (TK_Tuple);
517
        
518
		keywordKind[55] = (QVTrParsersym.TK_Tuple);
461
	  
519
	  
462
	
520
	
463
        //
521
        //
464
        // Rule 56:  KeyWord ::= O c l A n y
522
        // Rule 56:  KeyWord ::= O c l A n y
465
        //
523
        //
466
		keywordKind[56] = (TK_OclAny);
524
        
525
		keywordKind[56] = (QVTrParsersym.TK_OclAny);
467
	  
526
	  
468
	
527
	
469
        //
528
        //
470
        // Rule 57:  KeyWord ::= O c l V o i d
529
        // Rule 57:  KeyWord ::= O c l V o i d
471
        //
530
        //
472
		keywordKind[57] = (TK_OclVoid);
531
        
532
		keywordKind[57] = (QVTrParsersym.TK_OclVoid);
473
	  
533
	  
474
	
534
	
475
        //
535
        //
476
        // Rule 58:  KeyWord ::= I n v a l i d
536
        // Rule 58:  KeyWord ::= I n v a l i d
477
        //
537
        //
478
		keywordKind[58] = (TK_Invalid);
538
        
539
		keywordKind[58] = (QVTrParsersym.TK_Invalid);
479
	  
540
	  
480
	
541
	
481
        //
542
        //
482
        // Rule 59:  KeyWord ::= O c l M e s s a g e
543
        // Rule 59:  KeyWord ::= O c l M e s s a g e
483
        //
544
        //
484
		keywordKind[59] = (TK_OclMessage);
545
        
546
		keywordKind[59] = (QVTrParsersym.TK_OclMessage);
485
	  
547
	  
486
	
548
	
487
        //
549
        //
488
        // Rule 60:  KeyWord ::= n u l l
550
        // Rule 60:  KeyWord ::= n u l l
489
        //
551
        //
490
		keywordKind[60] = (TK_null);
552
        
553
		keywordKind[60] = (QVTrParsersym.TK_null);
491
	  
554
	  
492
	
555
	
493
        //
556
        //
494
        // Rule 61:  KeyWord ::= O c l I n v a l i d
557
        // Rule 61:  KeyWord ::= O c l I n v a l i d
495
        //
558
        //
496
		keywordKind[61] = (TK_OclInvalid);
559
        
560
		keywordKind[61] = (QVTrParsersym.TK_OclInvalid);
497
	  
561
	  
498
	
562
	
499
        //
563
        //
500
        // Rule 62:  KeyWord ::= a t t r
564
        // Rule 62:  KeyWord ::= a t t r
501
        //
565
        //
502
		keywordKind[62] = (TK_attr);
566
        
567
		keywordKind[62] = (QVTrParsersym.TK_attr);
503
	  
568
	  
504
	
569
	
505
        //
570
        //
506
        // Rule 63:  KeyWord ::= o p e r
571
        // Rule 63:  KeyWord ::= o p e r
507
        //
572
        //
508
		keywordKind[63] = (TK_oper);
573
        
574
		keywordKind[63] = (QVTrParsersym.TK_oper);
509
	  
575
	  
510
	
576
	
511
        //
577
        //
512
        // Rule 64:  KeyWord ::= c h e c k o n l y
578
        // Rule 64:  KeyWord ::= c h e c k o n l y
513
        //
579
        //
514
		keywordKind[64] = (TK_checkonly);
580
        
581
		keywordKind[64] = (QVTrParsersym.TK_checkonly);
515
	  
582
	  
516
	
583
	
517
        //
584
        //
518
        // Rule 65:  KeyWord ::= d e f a u l t _ v a l u e s
585
        // Rule 65:  KeyWord ::= d e f a u l t _ v a l u e s
519
        //
586
        //
520
		keywordKind[65] = (TK_default_values);
587
        
588
		keywordKind[65] = (QVTrParsersym.TK_default_values);
521
	  
589
	  
522
	
590
	
523
        //
591
        //
524
        // Rule 66:  KeyWord ::= d o m a i n
592
        // Rule 66:  KeyWord ::= d o m a i n
525
        //
593
        //
526
		keywordKind[66] = (TK_domain);
594
        
595
		keywordKind[66] = (QVTrParsersym.TK_domain);
527
	  
596
	  
528
	
597
	
529
        //
598
        //
530
        // Rule 67:  KeyWord ::= e n f o r c e
599
        // Rule 67:  KeyWord ::= e n f o r c e
531
        //
600
        //
532
		keywordKind[67] = (TK_enforce);
601
        
602
		keywordKind[67] = (QVTrParsersym.TK_enforce);
533
	  
603
	  
534
	
604
	
535
        //
605
        //
536
        // Rule 68:  KeyWord ::= e x t e n d s
606
        // Rule 68:  KeyWord ::= e x t e n d s
537
        //
607
        //
538
		keywordKind[68] = (TK_extends);
608
        
609
		keywordKind[68] = (QVTrParsersym.TK_extends);
539
	  
610
	  
540
	
611
	
541
        //
612
        //
542
        // Rule 69:  KeyWord ::= i m p l e m e n t e d b y
613
        // Rule 69:  KeyWord ::= i m p l e m e n t e d b y
543
        //
614
        //
544
		keywordKind[69] = (TK_implementedby);
615
        
616
		keywordKind[69] = (QVTrParsersym.TK_implementedby);
545
	  
617
	  
546
	
618
	
547
        //
619
        //
548
        // Rule 70:  KeyWord ::= i m p o r t
620
        // Rule 70:  KeyWord ::= i m p o r t
549
        //
621
        //
550
		keywordKind[70] = (TK_import);
622
        
623
		keywordKind[70] = (QVTrParsersym.TK_import);
551
	  
624
	  
552
	
625
	
553
        //
626
        //
554
        // Rule 71:  KeyWord ::= k e y
627
        // Rule 71:  KeyWord ::= k e y
555
        //
628
        //
556
		keywordKind[71] = (TK_key);
629
        
630
		keywordKind[71] = (QVTrParsersym.TK_key);
557
	  
631
	  
558
	
632
	
559
        //
633
        //
560
        // Rule 72:  KeyWord ::= o v e r r i d e s
634
        // Rule 72:  KeyWord ::= o v e r r i d e s
561
        //
635
        //
562
		keywordKind[72] = (TK_overrides);
636
        
637
		keywordKind[72] = (QVTrParsersym.TK_overrides);
563
	  
638
	  
564
	
639
	
565
        //
640
        //
566
        // Rule 73:  KeyWord ::= p r i m i t i v e
641
        // Rule 73:  KeyWord ::= p r i m i t i v e
567
        //
642
        //
568
		keywordKind[73] = (TK_primitive);
643
        
644
		keywordKind[73] = (QVTrParsersym.TK_primitive);
569
	  
645
	  
570
	
646
	
571
        //
647
        //
572
        // Rule 74:  KeyWord ::= q u e r y
648
        // Rule 74:  KeyWord ::= q u e r y
573
        //
649
        //
574
		keywordKind[74] = (TK_query);
650
        
651
		keywordKind[74] = (QVTrParsersym.TK_query);
575
	  
652
	  
576
	
653
	
577
        //
654
        //
578
        // Rule 75:  KeyWord ::= r e l a t i o n
655
        // Rule 75:  KeyWord ::= r e l a t i o n
579
        //
656
        //
580
		keywordKind[75] = (TK_relation);
657
        
658
		keywordKind[75] = (QVTrParsersym.TK_relation);
581
	  
659
	  
582
	
660
	
583
        //
661
        //
584
        // Rule 76:  KeyWord ::= r e p l a c e
662
        // Rule 76:  KeyWord ::= r e p l a c e
585
        //
663
        //
586
		keywordKind[76] = (TK_replace);
664
        
665
		keywordKind[76] = (QVTrParsersym.TK_replace);
587
	  
666
	  
588
	
667
	
589
        //
668
        //
590
        // Rule 77:  KeyWord ::= t o p
669
        // Rule 77:  KeyWord ::= t o p
591
        //
670
        //
592
		keywordKind[77] = (TK_top);
671
        
672
		keywordKind[77] = (QVTrParsersym.TK_top);
593
	  
673
	  
594
	
674
	
595
        //
675
        //
596
        // Rule 78:  KeyWord ::= t r a n s f o r m a t i o n
676
        // Rule 78:  KeyWord ::= t r a n s f o r m a t i o n
597
        //
677
        //
598
		keywordKind[78] = (TK_transformation);
678
        
679
		keywordKind[78] = (QVTrParsersym.TK_transformation);
599
	  
680
	  
600
	
681
	
601
        //
682
        //
602
        // Rule 79:  KeyWord ::= w h e n
683
        // Rule 79:  KeyWord ::= w h e n
603
        //
684
        //
604
		keywordKind[79] = (TK_when);
685
        
686
		keywordKind[79] = (QVTrParsersym.TK_when);
605
	  
687
	  
606
	
688
	
607
        //
689
        //
608
        // Rule 80:  KeyWord ::= w h e r e
690
        // Rule 80:  KeyWord ::= w h e r e
609
        //
691
        //
610
		keywordKind[80] = (TK_where);
692
        
693
		keywordKind[80] = (QVTrParsersym.TK_where);
611
	  
694
	  
612
	
695
	
613
614
        for (int i = 0; i < keywordKind.length; i++)
696
        for (int i = 0; i < keywordKind.length; i++)
615
        {
697
        {
616
            if (keywordKind[i] == 0)
698
            if (keywordKind[i] == 0)
(-)src/org/eclipse/qvt/declarative/parser/qvtrelation/QVTrParser.java (-19 / +22 lines)
Lines 1-7 Link Here
1
/**
1
/**
2
* <copyright>
2
* <copyright>
3
*
3
*
4
* Copyright (c) 2005, 2009 IBM Corporation, Zeligsoft Inc., Borland Software Corp., and others.
4
* Copyright (c) 2005, 2009 IBM Corporation, Zeligsoft Inc., Borland Software Corp., 
5
* Open Canarias S.L. and others.
5
* All rights reserved.   This program and the accompanying materials
6
* All rights reserved.   This program and the accompanying materials
6
* are made available under the terms of the Eclipse Public License v1.0
7
* are made available under the terms of the Eclipse Public License v1.0
7
* which accompanies this distribution, and is available at
8
* which accompanies this distribution, and is available at
Lines 14-35 Link Here
14
*   E.D.Willink - Bugs 225493, 243976, 259818
15
*   E.D.Willink - Bugs 225493, 243976, 259818
15
*   Zeligsoft - Bug 243976
16
*   Zeligsoft - Bug 243976
16
*   Borland - Bug 242880
17
*   Borland - Bug 242880
18
*   Adolfo Sanchez- Barbudo Herrera - LPG v 2.0.17 adoption
17
*   E.D.Willink - Extended API and implementation for QVTr
19
*   E.D.Willink - Extended API and implementation for QVTr
18
*
20
*
19
* </copyright>
21
* </copyright>
20
*
22
*
21
* $Id: QVTrParser.java,v 1.11 2009/03/06 22:39:37 ewillink Exp $
23
* $Id: EssentialOCL.g,v 1.7 2009/03/05 14:12:14 cdamus Exp $
22
*/
24
*/
23
25
24
package org.eclipse.qvt.declarative.parser.qvtrelation;
26
package org.eclipse.qvt.declarative.parser.qvtrelation;
25
27
26
import org.eclipse.qvt.declarative.parser.qvt.cst.*;
27
import org.eclipse.qvt.declarative.parser.qvtrelation.cst.*;
28
import org.eclipse.qvt.declarative.parser.environment.ICSTFileEnvironment;
29
import org.eclipse.ocl.cst.CollectionTypeCS;
30
import org.eclipse.ocl.parser.AbstractOCLParser;
31
import org.eclipse.ocl.parser.backtracking.OCLParserErrors;
32
33
import org.eclipse.emf.common.util.BasicEList;
28
import org.eclipse.emf.common.util.BasicEList;
34
import org.eclipse.emf.common.util.EList;
29
import org.eclipse.emf.common.util.EList;
35
import org.eclipse.ocl.cst.CSTNode;
30
import org.eclipse.ocl.cst.CSTNode;
Lines 52-66 Link Here
52
import org.eclipse.ocl.util.OCLStandardLibraryUtil;
47
import org.eclipse.ocl.util.OCLStandardLibraryUtil;
53
import org.eclipse.ocl.utilities.PredefinedType;
48
import org.eclipse.ocl.utilities.PredefinedType;
54
49
55
import lpg.lpgjavaruntime.BadParseException;
50
import lpg.runtime.BadParseException;
56
import lpg.lpgjavaruntime.BadParseSymFileException;
51
import lpg.runtime.BadParseSymFileException;
57
import lpg.lpgjavaruntime.BacktrackingParser;
52
import lpg.runtime.BacktrackingParser;
58
import lpg.lpgjavaruntime.DiagnoseParser;
53
import lpg.runtime.DiagnoseParser;
59
import lpg.lpgjavaruntime.IToken;
54
import lpg.runtime.IToken;
60
import lpg.lpgjavaruntime.Monitor;
55
import lpg.runtime.Monitor;
61
import lpg.lpgjavaruntime.NotBacktrackParseTableException;
56
import lpg.runtime.NotBacktrackParseTableException;
62
import lpg.lpgjavaruntime.ParseTable;
57
import lpg.runtime.ParseTable;
63
import lpg.lpgjavaruntime.RuleAction;
58
import lpg.runtime.RuleAction;
59
60
import org.eclipse.qvt.declarative.parser.qvt.cst.*;
61
import org.eclipse.qvt.declarative.parser.qvtrelation.cst.*;
62
import org.eclipse.qvt.declarative.parser.environment.ICSTFileEnvironment;
63
import org.eclipse.ocl.cst.CollectionTypeCS;
64
import org.eclipse.ocl.parser.AbstractOCLParser;
65
import org.eclipse.ocl.parser.backtracking.OCLParserErrors;
66
64
67
65
public class QVTrParser extends AbstractOCLParser implements RuleAction
68
public class QVTrParser extends AbstractOCLParser implements RuleAction
66
{
69
{
Lines 132-138 Link Here
132
	}
135
	}
133
136
134
137
135
		
138
			
136
	protected IdentifierCS createIdentifierCS(int token) {
139
	protected IdentifierCS createIdentifierCS(int token) {
137
		IdentifierCS result = QVTCSTFactory.eINSTANCE.createIdentifierCS();
140
		IdentifierCS result = QVTCSTFactory.eINSTANCE.createIdentifierCS();
138
		result.setValue(getTokenText(token));
141
		result.setValue(getTokenText(token));
(-)src/org/eclipse/qvt/declarative/parser/qvtrelation/QVTrKWLexerprs.java (-231 / +278 lines)
Lines 1-7 Link Here
1
/**
1
/**
2
* <copyright>
2
* <copyright>
3
*
3
*
4
* Copyright (c) 2005, 2007 IBM Corporation and others.
4
* Copyright (c) 2005, 2009 IBM Corporation, Zeligsoft Inc, Open Canarias S.L., and others.
5
* All rights reserved.   This program and the accompanying materials
5
* All rights reserved.   This program and the accompanying materials
6
* are made available under the terms of the Eclipse Public License v1.0
6
* are made available under the terms of the Eclipse Public License v1.0
7
* which accompanies this distribution, and is available at
7
* which accompanies this distribution, and is available at
Lines 10-25 Link Here
10
* Contributors:
10
* Contributors:
11
*   IBM - Initial API and implementation
11
*   IBM - Initial API and implementation
12
*   E.D.Willink - Lexer and Parser refactoring to support extensibility and flexible error handling
12
*   E.D.Willink - Lexer and Parser refactoring to support extensibility and flexible error handling
13
*   Adolfo Sanchez-Barbudo Herrera - LPG v2.0.17 adoption
13
*   E.D.Willink - Extended API and implementation for QVTr
14
*   E.D.Willink - Extended API and implementation for QVTr
14
*
15
*
15
* </copyright>
16
* </copyright>
16
*
17
*
17
* $Id: QVTrKWLexerprs.java,v 1.10 2009/03/06 22:39:37 ewillink Exp $
18
* 
18
*/
19
*/
19
20
20
package org.eclipse.qvt.declarative.parser.qvtrelation;
21
package org.eclipse.qvt.declarative.parser.qvtrelation;
21
22
22
public class QVTrKWLexerprs implements lpg.lpgjavaruntime.ParseTable, QVTrKWLexersym {
23
public class QVTrKWLexerprs implements lpg.runtime.ParseTable, QVTrKWLexersym {
24
    public final static int ERROR_SYMBOL = 0;
25
    public final int getErrorSymbol() { return ERROR_SYMBOL; }
26
27
    public final static int SCOPE_UBOUND = 0;
28
    public final int getScopeUbound() { return SCOPE_UBOUND; }
29
30
    public final static int SCOPE_SIZE = 0;
31
    public final int getScopeSize() { return SCOPE_SIZE; }
32
33
    public final static int MAX_NAME_LENGTH = 0;
34
    public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
35
36
    public final static int NUM_STATES = 340;
37
    public final int getNumStates() { return NUM_STATES; }
38
39
    public final static int NT_OFFSET = 56;
40
    public final int getNtOffset() { return NT_OFFSET; }
41
42
    public final static int LA_STATE_OFFSET = 504;
43
    public final int getLaStateOffset() { return LA_STATE_OFFSET; }
44
45
    public final static int MAX_LA = 1;
46
    public final int getMaxLa() { return MAX_LA; }
47
48
    public final static int NUM_RULES = 80;
49
    public final int getNumRules() { return NUM_RULES; }
50
51
    public final static int NUM_NONTERMINALS = 2;
52
    public final int getNumNonterminals() { return NUM_NONTERMINALS; }
53
54
    public final static int NUM_SYMBOLS = 58;
55
    public final int getNumSymbols() { return NUM_SYMBOLS; }
56
57
    public final static int SEGMENT_SIZE = 8192;
58
    public final int getSegmentSize() { return SEGMENT_SIZE; }
59
60
    public final static int START_STATE = 81;
61
    public final int getStartState() { return START_STATE; }
62
63
    public final static int IDENTIFIER_SYMBOL = 0;
64
    public final int getIdentifier_SYMBOL() { return IDENTIFIER_SYMBOL; }
65
66
    public final static int EOFT_SYMBOL = 40;
67
    public final int getEoftSymbol() { return EOFT_SYMBOL; }
68
69
    public final static int EOLT_SYMBOL = 57;
70
    public final int getEoltSymbol() { return EOLT_SYMBOL; }
71
72
    public final static int ACCEPT_ACTION = 423;
73
    public final int getAcceptAction() { return ACCEPT_ACTION; }
74
75
    public final static int ERROR_ACTION = 424;
76
    public final int getErrorAction() { return ERROR_ACTION; }
77
78
    public final static boolean BACKTRACK = false;
79
    public final boolean getBacktrack() { return BACKTRACK; }
80
81
    public final int getStartSymbol() { return lhs(0); }
82
    public final boolean isValidForParser() { return QVTrKWLexersym.isValidForParser; }
83
84
85
    public interface IsNullable {
86
        public final static byte isNullable[] = {0,
87
            0,0,0,0,0,0,0,0,0,0,
88
            0,0,0,0,0,0,0,0,0,0,
89
            0,0,0,0,0,0,0,0,0,0,
90
            0,0,0,0,0,0,0,0,0,0,
91
            0,0,0,0,0,0,0,0,0,0,
92
            0,0,0,0,0,0,0,0
93
        };
94
    };
95
    public final static byte isNullable[] = IsNullable.isNullable;
96
    public final boolean isNullable(int index) { return isNullable[index] != 0; }
97
98
    public interface ProsthesesIndex {
99
        public final static byte prosthesesIndex[] = {0,
100
            2,1
101
        };
102
    };
103
    public final static byte prosthesesIndex[] = ProsthesesIndex.prosthesesIndex;
104
    public final int prosthesesIndex(int index) { return prosthesesIndex[index]; }
23
105
24
    public interface IsKeyword {
106
    public interface IsKeyword {
25
        public final static byte isKeyword[] = {0,
107
        public final static byte isKeyword[] = {0,
Lines 28-34 Link Here
28
            0,0,0,0,0,0,0,0,0,0,
110
            0,0,0,0,0,0,0,0,0,0,
29
            0,0,0,0,0,0,0,0,0,0,
111
            0,0,0,0,0,0,0,0,0,0,
30
            0,0,0,0,0,0,0,0,0,0,
112
            0,0,0,0,0,0,0,0,0,0,
31
            0,0,0,0,0
113
            0,0,0,0,0,0
32
        };
114
        };
33
    };
115
    };
34
    public final static byte isKeyword[] = IsKeyword.isKeyword;
116
    public final static byte isKeyword[] = IsKeyword.isKeyword;
Lines 61-101 Link Here
61
            1,1,1,1,1,1,1,1,1,1,
143
            1,1,1,1,1,1,1,1,1,1,
62
            1,1,1,1,1,1,1,1,1,1,
144
            1,1,1,1,1,1,1,1,1,1,
63
            1,1,1,1,1,1,1,1,1,1,
145
            1,1,1,1,1,1,1,1,1,1,
64
            1,1,83,22,158,72,161,156,163,167,
146
            1,1,83,134,53,155,160,163,164,80,
65
            168,173,86,26,90,57,91,175,94,170,
147
            166,171,81,167,89,98,96,177,35,173,
66
            36,15,56,103,65,71,180,76,37,105,
148
            34,15,61,102,67,55,179,78,42,107,
67
            181,183,87,185,115,45,73,67,186,187,
149
            182,184,91,129,47,186,93,72,188,180,
68
            190,191,192,194,108,195,203,196,204,208,
150
            192,193,194,196,111,197,199,198,205,207,
69
            205,213,215,217,218,221,222,109,211,112,
151
            206,214,216,218,219,210,222,112,223,114,
70
            227,224,114,116,229,124,230,232,128,233,
152
            226,224,116,118,228,125,229,231,22,233,
71
            234,235,137,236,246,237,129,241,250,140,
153
            234,232,130,235,246,236,132,248,249,139,
72
            249,251,255,159,257,259,261,263,266,42,
154
            250,253,258,254,262,265,268,269,272,40,
73
            269,271,272,273,276,277,278,280,281,284,
155
            275,277,278,279,270,263,282,286,288,290,
74
            127,285,286,290,295,293,298,300,299,307,
156
            121,292,240,294,300,302,303,304,307,313,
75
            302,309,312,133,313,314,315,317,316,321,
157
            284,315,309,141,311,296,318,323,319,320,
76
            325,322,328,326,149,329,334,141,337,335,
158
            324,327,328,329,149,335,339,150,330,334,
77
            342,339,344,345,346,348,352,354,355,353,
159
            342,338,344,346,349,350,351,353,358,360,
78
            360,359,367,369,371,372,374,378,376,380,
160
            361,364,366,369,372,373,375,379,377,381,
79
            381,382,384,385,387,388,392,395,398,394,
161
            382,383,385,386,388,389,393,396,399,395,
80
            399,400,402,407,409,411,412,413,417,414,
162
            400,401,403,408,410,412,413,414,418,415,
81
            154,423,425,426,427,428,430,431,438,434,
163
            153,424,426,427,428,429,431,432,439,435,
82
            435,439,442,446,443,448,449,451,457,452,
164
            436,440,443,447,444,449,450,452,458,453,
83
            459,25,461,462,463,464,468,469,472,473,
165
            460,37,462,463,464,465,469,470,473,474,
84
            475,477,476,478,480,482,488,491,492,493,
166
            476,478,477,479,481,483,489,492,493,494,
85
            496,497,500,502,505,501,508,516,512,518,
167
            497,498,501,503,506,502,509,517,513,519,
86
            519,521,522,524,525,527,530,533,535,537,
168
            520,522,523,525,526,528,531,534,536,538,
87
            542,534,544,549,545,552,546,556,558,559,
169
            543,535,545,550,546,553,547,557,559,560,
88
            560,562,565,568,566,570,573,575,571,577,
170
            561,563,566,569,567,571,574,576,572,578,
89
            581,584,506,585,579,586,593,595,587,150,
171
            582,585,507,586,580,587,594,596,588,142,
90
            589,591,597,600,598,601,605,610,611,607,
172
            590,592,598,601,599,602,606,611,612,608,
91
            613,616,619,620,618,621,624,625,630,631,
173
            614,617,620,621,619,622,625,626,632,634,
92
            635,637,642,645,648,633,650,651,652,653,
174
            636,644,645,647,651,631,649,638,654,655,
93
            657,655,658,660,661,663,664,672,675,676,
175
            657,658,660,662,663,665,666,674,669,677,
94
            677,666,667,682,683,684,685,687,691,695,
176
            678,668,679,683,684,685,686,692,687,697,
95
            692,699,698,703,702,705,706,710,713,718,
177
            689,699,700,702,703,704,710,712,717,719,
96
            711,722,725,719,723,728,730,731,732,715,
178
            713,722,725,718,727,729,730,732,733,707,
97
            734,738,735,740,742,746,748,749,750,753,
179
            735,739,741,742,744,746,750,751,752,753,
98
            751,758,424,424
180
            758,764,424,424
99
        };
181
        };
100
    };
182
    };
101
    public final static char baseAction[] = BaseAction.baseAction;
183
    public final static char baseAction[] = BaseAction.baseAction;
Lines 107-192 Link Here
107
        public final static byte termCheck[] = {0,
189
        public final static byte termCheck[] = {0,
108
            0,1,2,3,4,5,6,7,8,9,
190
            0,1,2,3,4,5,6,7,8,9,
109
            10,11,12,0,0,15,2,3,4,19,
191
            10,11,12,0,0,15,2,3,4,19,
110
            20,0,22,23,0,0,26,27,28,29,
192
            20,0,22,23,3,4,26,27,28,29,
111
            30,31,32,8,34,0,0,37,2,4,
193
            30,31,32,0,0,35,0,4,38,0,
112
            4,0,7,19,0,9,11,3,12,25,
194
            7,0,8,2,11,4,0,13,15,16,
113
            15,16,28,29,18,0,0,1,2,35,
195
            9,5,0,12,0,19,0,3,19,18,
114
            19,40,7,8,0,24,0,3,4,3,
196
            0,25,8,24,28,29,0,7,8,3,
115
            0,0,0,3,2,0,21,36,8,38,
197
            4,0,36,21,3,21,37,0,39,0,
116
            5,15,7,8,13,0,0,23,16,0,
198
            0,21,5,4,7,8,15,7,0,23,
117
            0,21,7,0,5,5,11,8,8,33,
199
            0,11,0,5,2,0,8,0,1,2,
118
            14,8,0,1,0,1,13,0,0,2,
200
            5,0,1,8,14,34,0,1,16,8,
119
            8,0,8,0,0,0,5,2,10,5,
201
            0,0,2,0,8,0,0,0,5,2,
120
            7,6,14,0,13,12,0,0,0,22,
202
            0,10,7,6,0,14,13,12,0,0,
121
            3,4,0,10,6,12,0,1,6,0,
203
            1,0,22,0,10,6,12,6,0,19,
122
            0,1,6,4,16,19,7,15,0,0,
204
            0,0,4,15,24,7,6,16,0,0,
123
            24,3,12,0,1,0,8,0,0,6,
205
            1,3,0,1,0,15,8,16,6,0,
124
            0,1,0,1,6,16,0,0,13,0,
206
            1,12,0,0,1,0,0,13,27,4,
125
            4,4,0,1,0,1,27,8,21,0,
207
            0,1,0,40,8,13,0,1,0,0,
126
            0,1,0,1,0,0,0,8,3,0,
208
            8,0,1,0,1,0,8,0,3,10,
127
            0,0,3,0,0,0,10,2,8,15,
209
            3,0,0,0,3,0,0,0,0,2,
128
            7,7,0,0,0,3,3,0,17,2,
210
            8,3,7,7,0,0,0,3,2,0,
129
            0,7,0,1,0,1,0,0,1,3,
211
            17,2,7,0,1,0,1,0,0,1,
130
            0,0,2,0,3,15,0,1,0,0,
212
            3,0,0,0,3,0,1,0,0,1,
131
            1,0,0,0,0,0,0,9,0,8,
213
            0,0,0,0,0,0,9,15,8,0,
132
            0,18,10,9,11,0,1,7,0,0,
214
            9,18,10,0,11,0,1,0,0,0,
133
            0,15,3,3,0,7,0,3,0,1,
215
            15,3,0,0,7,3,7,0,19,6,
134
            0,5,0,3,29,0,1,5,0,1,
216
            3,0,0,29,0,1,5,0,0,0,
135
            0,0,0,3,3,0,0,0,6,0,
217
            3,0,1,5,0,1,0,0,0,3,
136
            0,0,3,0,0,0,9,7,13,0,
218
            3,0,13,0,6,0,24,0,3,0,
137
            7,7,0,4,0,1,4,0,0,0,
219
            9,0,9,0,7,0,7,4,7,0,
138
            24,0,5,5,19,6,0,1,0,1,
220
            1,0,0,0,9,4,0,5,0,6,
139
            9,0,0,0,0,0,0,3,2,8,
221
            0,5,0,1,0,1,8,0,0,0,
140
            0,0,9,11,0,0,2,0,0,14,
222
            3,11,0,0,2,2,0,0,0,0,
141
            2,4,7,0,0,2,0,1,0,18,
223
            1,4,14,0,0,7,2,0,0,20,
142
            20,0,1,0,0,0,3,0,14,2,
224
            2,0,1,0,18,0,3,14,0,0,
143
            5,0,0,0,0,1,18,4,0,0,
225
            0,2,0,5,0,18,4,0,1,0,
144
            8,17,11,4,0,7,0,1,0,1,
226
            0,11,17,0,4,0,1,8,0,1,
145
            0,0,1,0,4,0,3,0,1,0,
227
            7,0,0,1,0,4,0,3,0,1,
146
            0,0,7,0,0,4,0,0,9,9,
228
            0,0,0,7,0,0,4,0,0,9,
147
            6,0,9,0,0,4,2,0,0,0,
229
            9,6,0,9,0,0,4,2,0,0,
148
            13,0,16,5,7,12,0,1,0,1,
230
            0,13,0,16,5,7,12,0,1,0,
149
            0,0,0,0,13,5,0,6,6,20,
231
            1,0,0,0,0,13,5,0,6,6,
150
            7,5,0,1,0,0,0,0,1,0,
232
            20,7,5,0,1,0,0,0,0,1,
151
            0,6,6,0,0,11,6,0,0,2,
233
            0,0,6,6,0,0,11,6,0,0,
152
            11,0,0,9,6,0,1,0,0,16,
234
            2,11,0,0,9,6,0,1,0,0,
153
            0,0,5,11,4,14,0,6,0,3,
235
            16,0,0,5,11,4,14,0,6,0,
154
            0,0,0,0,1,17,4,0,0,9,
236
            3,0,0,0,0,1,17,4,0,0,
155
            3,0,0,12,0,0,0,0,10,0,
237
            9,3,0,0,12,0,0,0,0,10,
156
            9,0,7,11,8,11,28,0,11,2,
238
            0,9,0,7,11,8,11,28,0,11,
157
            0,0,0,2,2,0,0,1,17,0,
239
            2,0,0,0,2,2,0,0,1,17,
158
            0,0,23,2,0,0,2,0,3,10,
240
            0,0,0,23,2,0,0,2,0,3,
159
            10,0,22,18,7,0,1,0,0,8,
241
            10,10,0,22,18,7,0,1,0,0,
160
            0,0,5,0,0,2,0,9,4,0,
242
            8,0,0,5,0,0,2,0,9,4,
161
            10,10,0,0,0,0,0,11,4,10,
243
            0,10,10,0,0,0,0,0,11,4,
162
            4,0,1,0,0,0,14,14,0,6,
244
            10,4,0,1,0,0,0,14,14,0,
163
            2,0,8,2,9,0,1,0,0,0,
245
            6,2,0,8,2,9,0,1,0,0,
164
            1,0,4,2,0,0,2,0,1,0,
246
            0,1,0,4,2,0,0,2,0,1,
165
            0,6,0,1,0,1,0,20,0,9,
247
            0,0,6,0,1,0,1,0,20,0,
166
            0,1,13,0,0,0,0,4,0,5,
248
            9,0,1,13,0,0,0,0,4,0,
167
            0,6,0,1,0,1,0,0,10,0,
249
            5,0,6,0,1,0,1,0,0,10,
168
            0,15,5,4,0,27,0,7,32,0,
250
            0,0,15,5,4,0,27,0,7,32,
169
            0,15,0,3,5,0,1,0,0,0,
251
            0,0,15,0,3,5,0,1,0,0,
170
            0,31,4,0,0,1,6,10,16,0,
252
            0,0,31,4,0,0,1,6,10,16,
171
            0,25,0,14,0,1,0,8,2,9,
253
            0,0,25,0,14,0,1,0,33,8,
172
            17,0,10,39,0,1,5,0,1,0,
254
            10,17,9,0,0,2,0,1,0,5,
173
            0,0,0,4,0,1,0,0,1,0,
255
            0,1,4,0,0,18,0,0,1,0,
174
            0,2,0,0,1,0,0,16,18,17,
256
            1,0,0,2,0,0,1,0,0,16,
175
            14,0,10,2,0,0,0,12,4,3,
257
            14,17,4,0,10,2,0,0,0,12,
176
            5,0,0,0,0,25,0,1,5,5,
258
            3,5,0,0,0,0,0,25,0,5,
177
            0,0,26,11,0,1,5,0,0,9,
259
            5,0,1,5,11,9,0,1,0,0,
178
            2,0,0,6,0,0,1,26,6,0,
260
            2,0,0,0,26,6,0,6,26,0,
179
            0,2,0,12,0,3,12,0,0,2,
261
            1,0,0,2,12,12,0,0,0,3,
180
            10,0,0,2,0,1,4,0,10,0,
262
            2,0,10,2,0,1,0,10,0,0,
181
            0,0,1,0,0,6,9,0,1,0,
263
            4,0,0,1,0,6,30,9,0,1,
182
            1,0,8,13,30,0,13,0,0,0,
264
            0,0,1,0,13,0,0,13,8,0,
183
            0,10,0,4,7,5,0,0,10,14,
265
            0,0,0,10,0,4,7,0,0,14,
184
            3,9,0,0,0,0,0,0,0,0,
266
            10,9,5,0,0,0,3,0,0,0,
185
            0,0,0,0,0,0,0,0,0,0,
267
            0,0,0,0,0,0,0,0,0,0,
186
            0,0,0,0,0,0,0,0,0,0,
268
            0,0,0,0,0,0,0,0,0,0,
187
            0,0,0,0,0,0,0,0,0,0,
269
            0,0,0,0,0,0,0,0,0,0,
188
            0,0,0,0,0,0,0,0,0,0,
270
            0,0,0,0,0,0,0,0,0,0,
189
            0,0,0
271
            0,0,0,0,0,0,0,0,0,0
190
        };
272
        };
191
    };
273
    };
192
    public final static byte termCheck[] = TermCheck.termCheck;
274
    public final static byte termCheck[] = TermCheck.termCheck;
Lines 196-276 Link Here
196
        public final static char termAction[] = {0,
278
        public final static char termAction[] = {0,
197
            424,104,102,97,98,101,108,91,100,109,
279
            424,104,102,97,98,101,108,91,100,109,
198
            103,105,96,424,424,107,135,136,137,90,
280
            103,105,96,424,424,107,135,136,137,90,
199
            86,424,85,99,424,424,92,95,87,89,
281
            86,424,85,99,196,197,92,95,87,89,
200
            106,84,94,120,93,424,424,88,154,134,
282
            106,84,94,424,424,93,424,134,88,424,
201
            156,424,441,308,424,153,133,163,436,310,
283
            441,424,129,154,133,156,424,128,132,131,
202
            132,131,311,309,155,424,424,124,123,312,
284
            153,162,424,436,424,308,424,147,217,155,
203
            217,423,139,138,424,220,424,144,145,167,
285
            424,310,148,220,311,309,424,139,138,144,
204
            424,424,424,147,165,424,140,218,148,219,
286
            145,424,312,110,167,146,218,424,219,424,
205
            150,166,152,151,111,424,424,143,164,424,
287
            424,140,150,115,152,151,166,119,424,143,
206
            424,146,119,424,122,126,118,121,125,168,
288
            424,118,424,122,165,424,121,424,124,123,
207
            495,129,424,142,424,158,128,424,424,449,
289
            126,424,142,125,495,168,424,158,164,141,
208
            141,424,157,424,424,424,183,189,440,162,
290
            424,424,449,424,157,424,424,424,183,189,
209
            187,190,458,424,184,188,424,424,22,174,
291
            424,440,187,190,424,458,184,188,424,424,
210
            196,197,424,193,205,192,424,427,239,424,
292
            427,22,174,424,193,201,192,205,424,230,
211
            424,252,201,503,426,230,208,240,424,424,
293
            424,424,503,161,229,208,239,426,424,424,
212
            229,250,425,424,290,424,249,424,424,291,
294
            252,250,424,290,424,240,249,362,291,424,
213
            424,112,424,114,211,362,424,424,113,424,
295
            112,425,424,424,114,424,424,111,361,116,
214
            115,116,424,117,424,127,361,130,110,424,
296
            424,117,424,423,120,113,424,127,424,424,
215
            424,159,424,160,424,424,424,149,169,424,
297
            130,424,159,424,160,424,149,424,163,170,
216
            424,424,171,424,424,424,170,445,172,161,
298
            169,424,424,424,171,424,424,424,424,445,
217
            173,175,424,424,424,176,177,424,450,443,
299
            172,176,173,175,424,424,424,177,443,424,
218
            424,442,424,178,424,179,424,424,459,180,
300
            450,181,442,424,178,424,179,424,424,459,
219
            424,424,181,424,182,501,424,185,424,424,
301
            180,424,424,424,182,424,185,424,424,194,
220
            194,424,424,424,424,424,424,191,424,195,
302
            424,424,424,424,424,424,191,501,195,424,
221
            424,186,198,200,199,424,203,206,424,424,
303
            200,186,198,424,199,424,203,424,424,424,
222
            424,204,207,210,424,209,424,477,424,213,
304
            204,207,424,424,206,210,209,424,231,211,
223
            424,212,424,214,202,424,216,215,424,221,
305
            477,424,424,202,424,213,212,424,424,424,
224
            424,424,424,222,223,424,424,424,224,424,
306
            214,424,216,215,424,221,424,424,424,222,
225
            424,424,484,424,424,424,227,228,225,424,
307
            223,424,225,424,224,424,226,424,484,424,
226
            487,486,424,232,424,447,437,424,9,424,
308
            227,424,237,424,228,424,487,232,486,424,
227
            226,424,233,235,231,234,424,236,424,438,
309
            447,424,424,424,242,437,9,233,424,234,
228
            237,424,424,424,424,424,424,243,244,238,
310
            424,235,424,236,424,438,238,424,424,424,
229
            424,424,242,241,424,424,428,424,424,429,
311
            243,241,424,424,244,428,424,424,424,424,
230
            435,247,248,424,424,251,424,504,424,246,
312
            504,247,429,424,424,248,435,424,424,245,
231
            245,424,479,424,424,424,254,424,498,257,
313
            251,424,479,424,246,424,254,498,424,424,
232
            256,424,424,424,424,260,253,259,424,424,
314
            424,257,424,256,424,253,259,424,260,424,
233
            261,255,258,262,424,263,424,264,424,265,
315
            424,258,255,424,262,424,264,261,424,265,
234
            424,424,267,424,266,424,268,424,448,424,
316
            263,424,424,267,424,266,424,268,424,448,
235
            424,424,269,424,424,272,424,424,270,271,
317
            424,424,424,269,424,424,272,424,424,270,
236
            274,424,273,424,424,277,278,424,424,424,
318
            271,274,424,273,424,424,277,278,424,424,
237
            276,424,275,280,279,439,424,283,424,284,
319
            424,276,424,275,280,279,439,424,283,424,
238
            424,424,424,424,282,285,424,286,287,281,
320
            284,424,424,424,424,282,285,424,286,287,
239
            289,288,424,292,424,424,424,424,296,424,
321
            281,289,288,424,292,424,424,424,424,296,
240
            424,294,295,424,424,293,298,424,424,462,
322
            424,424,294,295,424,424,293,298,424,424,
241
            297,424,424,300,301,424,302,424,424,299,
323
            462,297,424,424,300,301,424,302,424,424,
242
            424,424,304,303,305,480,424,306,424,455,
324
            299,424,424,304,303,305,480,424,306,424,
243
            424,424,424,424,434,474,490,424,424,313,
325
            455,424,424,424,424,434,474,490,424,424,
244
            315,424,424,314,424,424,424,424,316,424,
326
            313,315,424,424,314,424,424,424,424,316,
245
            456,424,320,317,319,318,307,424,321,324,
327
            424,456,424,320,317,319,318,307,424,321,
246
            424,424,424,326,494,424,424,328,323,424,
328
            324,424,424,424,326,494,424,424,328,323,
247
            424,424,322,461,424,424,330,424,355,329,
329
            424,424,424,322,461,424,424,330,424,355,
248
            482,424,325,327,475,424,500,424,424,331,
330
            329,482,424,325,327,475,424,500,424,424,
249
            424,424,332,424,424,335,424,333,478,424,
331
            331,424,424,332,424,424,335,424,333,478,
250
            481,334,424,424,424,424,424,336,339,337,
332
            424,481,334,424,424,424,424,424,336,339,
251
            340,424,341,424,424,424,338,342,424,343,
333
            337,340,424,341,424,424,424,338,342,424,
252
            344,424,345,346,492,424,491,424,424,424,
334
            343,344,424,345,346,492,424,491,424,424,
253
            465,424,348,349,424,424,430,424,431,424,
335
            424,465,424,348,349,424,424,430,424,431,
254
            424,350,424,454,424,352,424,347,424,444,
336
            424,424,350,424,454,424,352,424,347,424,
255
            424,354,351,424,424,424,424,499,424,356,
337
            444,424,354,351,424,424,424,424,499,424,
256
            424,358,424,451,424,359,424,424,363,424,
338
            356,424,358,424,451,424,359,424,424,363,
257
            424,360,366,365,424,357,36,367,353,424,
339
            424,424,360,366,365,424,357,36,367,353,
258
            424,364,424,370,369,424,457,424,424,424,
340
            424,424,364,424,370,369,424,457,424,424,
259
            424,469,373,424,424,377,375,374,372,424,
341
            424,424,469,373,424,424,377,375,374,372,
260
            424,371,424,464,424,468,424,378,379,496,
342
            424,424,371,424,464,424,468,424,368,378,
261
            376,424,383,368,424,381,380,424,382,424,
343
            383,376,496,424,424,379,424,381,424,380,
262
            424,424,424,384,424,388,424,424,497,424,
344
            424,382,384,424,424,385,424,424,388,424,
263
            424,389,424,424,483,424,424,386,385,387,
345
            497,424,424,389,424,424,483,424,424,386,
264
            488,424,485,453,424,424,424,393,452,392,
346
            488,387,452,424,485,453,424,424,424,393,
265
            391,424,424,424,424,390,424,432,397,398,
347
            392,391,424,424,424,424,424,390,424,397,
266
            424,424,394,396,424,400,401,424,424,399,
348
            398,424,432,401,396,399,424,400,424,424,
267
            402,424,424,403,424,424,405,395,404,424,
349
            402,424,424,424,394,403,424,404,395,424,
268
            424,406,424,467,424,407,466,424,424,408,
350
            405,424,424,406,467,466,424,424,424,407,
269
            409,424,424,410,424,472,411,424,471,424,
351
            408,424,409,410,424,472,424,471,424,424,
270
            424,424,414,424,424,412,473,424,417,424,
352
            411,424,424,414,424,412,415,473,424,417,
271
            419,424,418,413,415,424,416,424,424,424,
353
            424,424,419,424,413,424,424,416,418,424,
272
            424,463,424,502,420,421,424,424,470,493,
354
            424,424,424,463,424,502,420,424,424,493,
273
            476,489
355
            470,489,421,424,424,424,476
274
        };
356
        };
275
    };
357
    };
276
    public final static char termAction[] = TermAction.termAction;
358
    public final static char termAction[] = TermAction.termAction;
Lines 290-345 Link Here
290
    public final int scopeState(int index) { return 0;}
372
    public final int scopeState(int index) { return 0;}
291
    public final int inSymb(int index) { return 0;}
373
    public final int inSymb(int index) { return 0;}
292
    public final String name(int index) { return null; }
374
    public final String name(int index) { return null; }
293
    public final int getErrorSymbol() { return 0; }
294
    public final int getScopeUbound() { return 0; }
295
    public final int getScopeSize() { return 0; }
296
    public final int getMaxNameLength() { return 0; }
297
298
    public final static int
299
           NUM_STATES        = 340,
300
           NT_OFFSET         = 55,
301
           LA_STATE_OFFSET   = 504,
302
           MAX_LA            = 1,
303
           NUM_RULES         = 80,
304
           NUM_NONTERMINALS  = 2,
305
           NUM_SYMBOLS       = 57,
306
           SEGMENT_SIZE      = 8192,
307
           START_STATE       = 81,
308
           IDENTIFIER_SYMBOL = 0,
309
           EOFT_SYMBOL       = 40,
310
           EOLT_SYMBOL       = 56,
311
           ACCEPT_ACTION     = 423,
312
           ERROR_ACTION      = 424;
313
314
    public final static boolean BACKTRACK = false;
315
316
    public final int getNumStates() { return NUM_STATES; }
317
    public final int getNtOffset() { return NT_OFFSET; }
318
    public final int getLaStateOffset() { return LA_STATE_OFFSET; }
319
    public final int getMaxLa() { return MAX_LA; }
320
    public final int getNumRules() { return NUM_RULES; }
321
    public final int getNumNonterminals() { return NUM_NONTERMINALS; }
322
    public final int getNumSymbols() { return NUM_SYMBOLS; }
323
    public final int getSegmentSize() { return SEGMENT_SIZE; }
324
    public final int getStartState() { return START_STATE; }
325
    public final int getStartSymbol() { return lhs[0]; }
326
    public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; }
327
    public final int getEoftSymbol() { return EOFT_SYMBOL; }
328
    public final int getEoltSymbol() { return EOLT_SYMBOL; }
329
    public final int getAcceptAction() { return ACCEPT_ACTION; }
330
    public final int getErrorAction() { return ERROR_ACTION; }
331
    public final boolean isValidForParser() { return isValidForParser; }
332
    public final boolean getBacktrack() { return BACKTRACK; }
333
334
    public final int originalState(int state) { return 0; }
375
    public final int originalState(int state) { return 0; }
335
    public final int asi(int state) { return 0; }
376
    public final int asi(int state) { return 0; }
336
    public final int nasi(int state) { return 0; }
377
    public final int nasi(int state) { return 0; }
337
    public final int inSymbol(int state) { return 0; }
378
    public final int inSymbol(int state) { return 0; }
338
379
380
    /**
381
     * assert(! goto_default);
382
     */
339
    public final int ntAction(int state, int sym) {
383
    public final int ntAction(int state, int sym) {
340
        return baseAction[state + sym];
384
        return baseAction[state + sym];
341
    }
385
    }
342
386
387
    /**
388
     * assert(! shift_default);
389
     */
343
    public final int tAction(int state, int sym) {
390
    public final int tAction(int state, int sym) {
344
        int i = baseAction[state],
391
        int i = baseAction[state],
345
            k = i + sym;
392
            k = i + sym;
(-)src/org/eclipse/qvt/declarative/parser/qvtrelation/QVTrAnalyzer.java (-1 / +1 lines)
Lines 10-16 Link Here
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.qvt.declarative.parser.qvtrelation;
11
package org.eclipse.qvt.declarative.parser.qvtrelation;
12
12
13
import lpg.lpgjavaruntime.Monitor;
13
import lpg.runtime.Monitor;
14
14
15
import org.eclipse.qvt.declarative.parser.environment.ICSTFileAnalyzer;
15
import org.eclipse.qvt.declarative.parser.environment.ICSTFileAnalyzer;
16
import org.eclipse.qvt.declarative.parser.qvtrelation.environment.QVTrFileEnvironment;
16
import org.eclipse.qvt.declarative.parser.qvtrelation.environment.QVTrFileEnvironment;
(-)src/org/eclipse/qvt/declarative/parser/qvtrelation/environment/QVTrFileEnvironment.java (-1 / +1 lines)
Lines 10-16 Link Here
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.qvt.declarative.parser.qvtrelation.environment;
11
package org.eclipse.qvt.declarative.parser.qvtrelation.environment;
12
12
13
import lpg.lpgjavaruntime.Monitor;
13
import lpg.runtime.Monitor;
14
14
15
import org.eclipse.emf.ecore.resource.ResourceSet;
15
import org.eclipse.emf.ecore.resource.ResourceSet;
16
import org.eclipse.emf.ecore.xmi.XMIResource;
16
import org.eclipse.emf.ecore.xmi.XMIResource;
(-)src/org/eclipse/qvt/declarative/parser/qvtrelation/QVTrLexer.gi (+58 lines)
Added Link Here
1
--/**
2
-- * <copyright>
3
-- *
4
-- * Copyright (c) 2007,2008 E.D.Willink and others.
5
-- * All rights reserved.   This program and the accompanying materials
6
-- * are made available under the terms of the Eclipse Public License v1.0
7
-- * which accompanies this distribution, and is available at
8
-- * http://www.eclipse.org/legal/epl-v10.html
9
-- *
10
-- * Contributors:
11
-- *   E.D.Willink - Initial API and implementation
12
-- *
13
-- * </copyright>
14
-- */
15
--
16
-- The QVTr Lexer
17
--
18
19
%options escape=$
20
%options la=2
21
%options fp=QVTrLexer,prefix=Char_
22
%options single-productions
23
%options noserialize
24
%options package=org.eclipse.qvt.declarative.parser.qvtrelation
25
%options template=../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/lpg/LexerTemplateD.gi
26
%options filter=QVTrKWLexer.gi
27
%options export_terminals=("QVTrParsersym.java", "TK_")
28
%options include_directory=".;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/lpg;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/parser"
29
30
%Import
31
	OCLLexer.gi
32
%End
33
34
%Define
35
	--
36
	-- Definition of macro used in the included file LexerBasicMap.g
37
	--
38
	$kw_lexer_class /.QVTrKWLexer./
39
    $environment_class /.ICSTFileEnvironment./
40
    $environment_import /.org.eclipse.qvt.declarative.parser.environment.ICSTFileEnvironment./
41
	$copyright_contributions /.*   E.D.Willink - Extended API and implementation for QVTr
42
*./
43
%End
44
45
%Export
46
	PLUS_PLUS
47
%End
48
49
%Rules
50
51
	Token ::= '+' '+'
52
		/.$BeginAction
53
					makeToken($_PLUS_PLUS);
54
		  $EndAction
55
		./
56
		
57
	SLC -> '/' '/'
58
%End
(-)src/org/eclipse/qvt/declarative/parser/qvtrelation/QVTrKWLexer.gi (+171 lines)
Added Link Here
1
--/**
2
-- * Copyright (c) 2007,2008 E.D.Willink and others.
3
-- * All rights reserved.   This program and the accompanying materials
4
-- * are made available under the terms of the Eclipse Public License v1.0
5
-- * which accompanies this distribution, and is available at
6
-- * http://www.eclipse.org/legal/epl-v10.html
7
-- *
8
-- * Contributors:
9
-- *   E.D.Willink - Initial API and implementation
10
-- */
11
--
12
-- The QVTr KeyWord Lexer
13
--
14
15
%Options slr
16
%Options fp=QVTrKWLexer,prefix=Char_
17
%options noserialize
18
%options package=org.eclipse.qvt.declarative.parser.qvtrelation
19
%options template=../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/lpg/KeywordTemplateD.gi
20
%options export_terminals=("QVTrParsersym.java", "TK_")
21
%options include_directory=".;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/lpg;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/parser"
22
23
%Import
24
	OCLKWLexer.gi
25
%End
26
27
%Define
28
	$copyright_contributions /.*   E.D.Willink - Extended API and implementation for QVTr
29
*./
30
%End
31
32
%Export
33
	checkonly
34
	default_values
35
	domain
36
	enforce
37
	extends
38
	implementedby
39
	import
40
	key
41
	overrides
42
	primitive
43
	query
44
	relation
45
	replace
46
	top
47
	transformation
48
	when
49
	where
50
%End
51
52
%Terminals
53
	_
54
%End
55
56
%Headers
57
    /.
58
        static
59
        {
60
            tokenKind['_'] = Char__;
61
        };
62
    ./
63
%End
64
65
%Rules
66
67
-- The Goal for the parser is a single Keyword
68
69
	KeyWord ::=
70
		  c h e c k o n l y
71
		/.$BeginAction
72
			$setResult($_checkonly);
73
		  $EndAction
74
		./
75
		
76
		| d e f a u l t _ v a l u e s
77
		/.$BeginAction
78
			$setResult($_default_values);
79
		  $EndAction
80
		./
81
		
82
		| d o m a i n
83
		/.$BeginAction
84
			$setResult($_domain);
85
		  $EndAction
86
		./
87
		
88
		| e n f o r c e
89
		/.$BeginAction
90
			$setResult($_enforce);
91
		  $EndAction
92
		./
93
		
94
		| e x t e n d s
95
		/.$BeginAction
96
			$setResult($_extends);
97
		  $EndAction
98
		./
99
		
100
		| i m p l e m e n t e d b y
101
		/.$BeginAction
102
			$setResult($_implementedby);
103
		  $EndAction
104
		./
105
		
106
		| i m p o r t
107
		/.$BeginAction
108
			$setResult($_import);
109
		  $EndAction
110
		./
111
		
112
		| k e y
113
		/.$BeginAction
114
			$setResult($_key);
115
		  $EndAction
116
		./
117
		
118
		| o v e r r i d e s
119
		/.$BeginAction
120
			$setResult($_overrides);
121
		  $EndAction
122
		./
123
		
124
		| p r i m i t i v e
125
		/.$BeginAction
126
			$setResult($_primitive);
127
		  $EndAction
128
		./
129
		
130
		| q u e r y
131
		/.$BeginAction
132
			$setResult($_query);
133
		  $EndAction
134
		./
135
		
136
		| r e l a t i o n
137
		/.$BeginAction
138
			$setResult($_relation);
139
		  $EndAction
140
		./
141
		
142
		| r e p l a c e
143
		/.$BeginAction
144
			$setResult($_replace);
145
		  $EndAction
146
		./
147
		
148
		| t o p
149
		/.$BeginAction
150
			$setResult($_top);
151
		  $EndAction
152
		./
153
		
154
		| t r a n s f o r m a t i o n
155
		/.$BeginAction
156
			$setResult($_transformation);
157
		  $EndAction
158
		./
159
		
160
		| w h e n
161
		/.$BeginAction
162
			$setResult($_when);
163
		  $EndAction
164
		./
165
		
166
		| w h e r e
167
		/.$BeginAction
168
			$setResult($_where);
169
		  $EndAction
170
		./
171
%End
(-)src/org/eclipse/qvt/declarative/parser/AbstractQVTAnalyzer.java (-1 / +1 lines)
Lines 14-20 Link Here
14
import java.util.Comparator;
14
import java.util.Comparator;
15
import java.util.List;
15
import java.util.List;
16
16
17
import lpg.lpgjavaruntime.Monitor;
17
import lpg.runtime.Monitor;
18
18
19
import org.eclipse.emf.common.util.EList;
19
import org.eclipse.emf.common.util.EList;
20
import org.eclipse.emf.ecore.EClass;
20
import org.eclipse.emf.ecore.EClass;
(-)src/org/eclipse/qvt/declarative/parser/environment/ICSTFileEnvironment.java (-1 / +1 lines)
Lines 20-26 Link Here
20
import java.io.Reader;
20
import java.io.Reader;
21
import java.util.Collection;
21
import java.util.Collection;
22
22
23
import lpg.lpgjavaruntime.Monitor;
23
import lpg.runtime.Monitor;
24
24
25
import org.eclipse.core.runtime.CoreException;
25
import org.eclipse.core.runtime.CoreException;
26
import org.eclipse.core.runtime.IProgressMonitor;
26
import org.eclipse.core.runtime.IProgressMonitor;
(-)src/org/eclipse/qvt/declarative/parser/environment/CSTFileEnvironment.java (-1 / +1 lines)
Lines 16-22 Link Here
16
import java.util.ArrayList;
16
import java.util.ArrayList;
17
import java.util.List;
17
import java.util.List;
18
18
19
import lpg.lpgjavaruntime.Monitor;
19
import lpg.runtime.Monitor;
20
20
21
import org.eclipse.core.runtime.CoreException;
21
import org.eclipse.core.runtime.CoreException;
22
import org.eclipse.core.runtime.IProgressMonitor;
22
import org.eclipse.core.runtime.IProgressMonitor;
(-)src/org/eclipse/qvt/declarative/parser/qvt/environment/LPGProgressMonitor.java (-1 / +1 lines)
Lines 10-16 Link Here
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.qvt.declarative.parser.qvt.environment;
11
package org.eclipse.qvt.declarative.parser.qvt.environment;
12
12
13
import lpg.lpgjavaruntime.Monitor;
13
import lpg.runtime.Monitor;
14
14
15
import org.eclipse.core.runtime.IProgressMonitor;
15
import org.eclipse.core.runtime.IProgressMonitor;
16
16

Return to bug 242153