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/ocl/OCL.java (-1 / +1 lines)
Lines 259-265 Link Here
259
	 */
259
	 */
260
	public OCLAnalyzer<PK, C, O, P, EL, PM, S, COA, SSA, CT, CLS, E> createAnalyzer(String input) {
260
	public OCLAnalyzer<PK, C, O, P, EL, PM, S, COA, SSA, CT, CLS, E> createAnalyzer(String input) {
261
		OCLAnalyzer<PK, C, O, P, EL, PM, S, COA, SSA, CT, CLS, E> analyzer;
261
		OCLAnalyzer<PK, C, O, P, EL, PM, S, COA, SSA, CT, CLS, E> analyzer;
262
		if (parserRepairCount > 0) {
262
		if (parserRepairCount != 0) {
263
			OCLBacktrackingLexer lexer = new OCLBacktrackingLexer(
263
			OCLBacktrackingLexer lexer = new OCLBacktrackingLexer(
264
				rootEnvironment, input.toCharArray());
264
				rootEnvironment, input.toCharArray());
265
			OCLBacktrackingParser parser = new OCLBacktrackingParser(lexer);
265
			OCLBacktrackingParser parser = new OCLBacktrackingParser(lexer);
(-)META-INF/MANIFEST.MF (-1 / +1 lines)
Lines 33-39 Link Here
33
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
33
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
34
 org.eclipse.emf.ecore;bundle-version="[2.4.0,3.0.0)";visibility:=reexport,
34
 org.eclipse.emf.ecore;bundle-version="[2.4.0,3.0.0)";visibility:=reexport,
35
 org.eclipse.emf.ecore.xmi;bundle-version="[2.4.0,3.0.0)";visibility:=reexport,
35
 org.eclipse.emf.ecore.xmi;bundle-version="[2.4.0,3.0.0)";visibility:=reexport,
36
 lpg.runtime.java;bundle-version="2.0.17";visibility:=reexport
36
 lpg.runtime.java;bundle-version="[2.0.17,3.0.0)";visibility:=reexport
37
Bundle-Activator: org.eclipse.ocl.internal.OCLPlugin$Implementation
37
Bundle-Activator: org.eclipse.ocl.internal.OCLPlugin$Implementation
38
Eclipse-LazyStart: true
38
Eclipse-LazyStart: true
39
Bundle-ActivationPolicy: lazy
39
Bundle-ActivationPolicy: lazy
(-)src/org/eclipse/ocl/lpg/AbstractParser.java (-7 / +4 lines)
Lines 276-294 Link Here
276
	 * performing repairs (the BacktrackingParser) unless overridden on the
276
	 * performing repairs (the BacktrackingParser) unless overridden on the
277
	 * specific parser invocation method.
277
	 * specific parser invocation method.
278
	 * 
278
	 * 
279
     * When repair count is 0, no Error token recoveries occur.
280
     * When repair count is > 0, it limits the number of Error token recoveries.
281
     * When repair count is < 0, the number of error token recoveries is unlimited.
282
     * 
279
	 * @param defaultRepairCount
283
	 * @param defaultRepairCount
280
	 *            the default repair count
284
	 *            the default repair count
281
	 * 
285
	 * 
282
	 * @throws IllegalArgumentException
283
	 *             if the <tt>defaultRepairCount</tt> is negative
284
	 * 
285
	 * @since 1.3
286
	 * @since 1.3
286
	 */
287
	 */
287
	public void setDefaultRepairCount(int defaultRepairCount) {
288
	public void setDefaultRepairCount(int defaultRepairCount) {
288
		if (defaultRepairCount < 0) {
289
			throw new IllegalArgumentException("negative default repair count"); //$NON-NLS-1$
290
		}
291
292
		this.defaultRepairCount = defaultRepairCount;
289
		this.defaultRepairCount = defaultRepairCount;
293
	}
290
	}
294
291
(-)src/org/eclipse/ocl/parser/EssentialOCL.gi (-1 / +2 lines)
Lines 27-32 Link Here
27
    $prs_parser_class /.DeterministicParser./
27
    $prs_parser_class /.DeterministicParser./
28
    $prs_parser_exception /.NotDeterministicParseTableException./
28
    $prs_parser_exception /.NotDeterministicParseTableException./
29
    $prs_parser_throw /.throw new RuntimeException("****Error: Regenerate $prs_type.java with -NOBACKTRACK option")./
29
    $prs_parser_throw /.throw new RuntimeException("****Error: Regenerate $prs_type.java with -NOBACKTRACK option")./
30
    $prs_parse_call /.parse./
30
    $prs_parse_args /../
31
    $prs_parse_args /../
31
    $lex_stream_class /.AbstractLexer./
32
    $lex_stream_class /.AbstractLexer./
32
    $action_class /.$file_prefix./
33
    $action_class /.$file_prefix./
Lines 156-162 Link Here
156
            }
157
            }
157
158
158
            try {
159
            try {
159
                return ($ast_type) dtParser.parse($prs_parse_args);
160
                return ($ast_type) dtParser.$prs_parse_call($prs_parse_args);
160
            }
161
            }
161
            catch (BadParseException e) {
162
            catch (BadParseException e) {
162
                reset(e.error_token); // point to error token
163
                reset(e.error_token); // point to error token
(-)src/org/eclipse/ocl/parser/backtracking/OCLBacktrackingParser.g (+1 lines)
Lines 55-59 Link Here
55
	$prs_parser_class /.BacktrackingParser./
55
	$prs_parser_class /.BacktrackingParser./
56
	$prs_parser_exception /.NotBacktrackParseTableException./
56
	$prs_parser_exception /.NotBacktrackParseTableException./
57
	$prs_parser_throw /.throw new RuntimeException("****Error: Regenerate $prs_type.java with -BACKTRACK option")./
57
	$prs_parser_throw /.throw new RuntimeException("****Error: Regenerate $prs_type.java with -BACKTRACK option")./
58
	$prs_parses_call /.fuzzyParse./
58
	$prs_parse_args /.error_repair_count./
59
	$prs_parse_args /.error_repair_count./
59
%End
60
%End
(-)src/org/eclipse/ocl/ecore/tests/ParserBacktrackingTest.java (-1 / +1 lines)
Lines 159-165 Link Here
159
		AbstractBasicEnvironment abstractBasicEnvironment = (AbstractBasicEnvironment)environment;
159
		AbstractBasicEnvironment abstractBasicEnvironment = (AbstractBasicEnvironment)environment;
160
		OCLBacktrackingLexer lexer = new OCLBacktrackingLexer(environment, oclText.toCharArray());
160
		OCLBacktrackingLexer lexer = new OCLBacktrackingLexer(environment, oclText.toCharArray());
161
		OCLBacktrackingParser parser = new OCLBacktrackingParser(lexer);
161
		OCLBacktrackingParser parser = new OCLBacktrackingParser(lexer);
162
		parser.setDefaultRepairCount(10);
162
		parser.setDefaultRepairCount(-1);
163
		MyProblemHandler problemHandler = new MyProblemHandler(parser, oclText, failure);
163
		MyProblemHandler problemHandler = new MyProblemHandler(parser, oclText, failure);
164
		abstractBasicEnvironment.setProblemHandler(problemHandler);
164
		abstractBasicEnvironment.setProblemHandler(problemHandler);
165
		try {
165
		try {

Return to bug 242153