diff options
author | Mike Kucera | 2008-05-26 21:57:52 +0000 |
---|---|---|
committer | Mike Kucera | 2008-05-26 21:57:52 +0000 |
commit | 244d06f38ab6b2df15fa29abc68516b3b3d6763d (patch) | |
tree | bd0092e3bf3c12c3cc727ca81209bb4b9167f8a8 /upc/org.eclipse.cdt.core.parser.upc | |
parent | 0676e6587ade38cd6f63a3e827ed732955d3f536 (diff) | |
download | org.eclipse.cdt-244d06f38ab6b2df15fa29abc68516b3b3d6763d.tar.gz org.eclipse.cdt-244d06f38ab6b2df15fa29abc68516b3b3d6763d.tar.xz org.eclipse.cdt-244d06f38ab6b2df15fa29abc68516b3b3d6763d.zip |
Bug 231381, fix for LPG backtracking parser performance problem
Diffstat (limited to 'upc/org.eclipse.cdt.core.parser.upc')
9 files changed, 25 insertions, 16 deletions
diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g index 7b345e28f3f..5aebaa7dbc6 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g +++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g @@ -11,7 +11,7 @@ %options la=2 %options package=org.eclipse.cdt.internal.core.dom.parser.upc -%options template=btParserTemplateD.g +%options template=FixedBtParserTemplateD.g $Import diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g index 588730c103c..48655f6df88 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g +++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g @@ -23,6 +23,7 @@ import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; +import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; ./ $End diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g index 1fd0c35040c..c17364f890d 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g +++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g @@ -11,7 +11,7 @@ %options la=2 %options package=org.eclipse.cdt.internal.core.dom.parser.upc -%options template=btParserTemplateD.g +%options template=FixedBtParserTemplateD.g $Import diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g index 1106a78d9e1..ea1e78c3a89 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g +++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g @@ -11,7 +11,7 @@ %options la=2 %options package=org.eclipse.cdt.internal.core.dom.parser.upc -%options template=btParserTemplateD.g +%options template=FixedBtParserTemplateD.g $Import diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g index 20f5216d458..369ab99e88d 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g +++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g @@ -11,7 +11,7 @@ %options la=2 %options package=org.eclipse.cdt.internal.core.dom.parser.upc -%options template=btParserTemplateD.g +%options template=FixedBtParserTemplateD.g $Import diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java index 64b67b3dbe5..414f4b808ca 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java @@ -19,6 +19,7 @@ import java.util.*; import org.eclipse.cdt.core.dom.ast.*; import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider; +import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; @@ -31,13 +32,14 @@ import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; +import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; public class UPCExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser { private static ParseTable prs = new UPCExpressionParserprs(); - private BacktrackingParser btParser; + private FixedBacktrackingParser btParser; - public BacktrackingParser getParser() { return btParser; } + public FixedBacktrackingParser getParser() { return btParser; } private void setResult(Object object) { btParser.setSym1(object); } public Object getRhsSym(int i) { return btParser.getSym(i); } @@ -142,7 +144,7 @@ public class UPCExpressionParser extends PrsStream implements RuleAction , IPars { try { - btParser = new BacktrackingParser(monitor, (TokenStream) this, prs, (RuleAction) this); + btParser = new FixedBacktrackingParser(monitor, (TokenStream) this, prs, (RuleAction) this); } catch (NotBacktrackParseTableException e) { diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java index 4b3253ff618..db15600741c 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java @@ -19,6 +19,7 @@ import java.util.*; import org.eclipse.cdt.core.dom.ast.*; import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider; +import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; @@ -31,13 +32,14 @@ import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; +import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; public class UPCNoCastExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser { private static ParseTable prs = new UPCNoCastExpressionParserprs(); - private BacktrackingParser btParser; + private FixedBacktrackingParser btParser; - public BacktrackingParser getParser() { return btParser; } + public FixedBacktrackingParser getParser() { return btParser; } private void setResult(Object object) { btParser.setSym1(object); } public Object getRhsSym(int i) { return btParser.getSym(i); } @@ -142,7 +144,7 @@ public class UPCNoCastExpressionParser extends PrsStream implements RuleAction , { try { - btParser = new BacktrackingParser(monitor, (TokenStream) this, prs, (RuleAction) this); + btParser = new FixedBacktrackingParser(monitor, (TokenStream) this, prs, (RuleAction) this); } catch (NotBacktrackParseTableException e) { diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java index dcd7117c9b3..c3ec37202a3 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java @@ -19,6 +19,7 @@ import java.util.*; import org.eclipse.cdt.core.dom.ast.*; import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider; +import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; @@ -31,13 +32,14 @@ import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; +import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; public class UPCParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser { private static ParseTable prs = new UPCParserprs(); - private BacktrackingParser btParser; + private FixedBacktrackingParser btParser; - public BacktrackingParser getParser() { return btParser; } + public FixedBacktrackingParser getParser() { return btParser; } private void setResult(Object object) { btParser.setSym1(object); } public Object getRhsSym(int i) { return btParser.getSym(i); } @@ -142,7 +144,7 @@ public class UPCParser extends PrsStream implements RuleAction , IParserActionTo { try { - btParser = new BacktrackingParser(monitor, (TokenStream) this, prs, (RuleAction) this); + btParser = new FixedBacktrackingParser(monitor, (TokenStream) this, prs, (RuleAction) this); } catch (NotBacktrackParseTableException e) { diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java index 2fa2a4061a2..9440f5a5b62 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java @@ -19,6 +19,7 @@ import java.util.*; import org.eclipse.cdt.core.dom.ast.*; import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider; +import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; @@ -31,13 +32,14 @@ import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; +import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; public class UPCSizeofExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser { private static ParseTable prs = new UPCSizeofExpressionParserprs(); - private BacktrackingParser btParser; + private FixedBacktrackingParser btParser; - public BacktrackingParser getParser() { return btParser; } + public FixedBacktrackingParser getParser() { return btParser; } private void setResult(Object object) { btParser.setSym1(object); } public Object getRhsSym(int i) { return btParser.getSym(i); } @@ -142,7 +144,7 @@ public class UPCSizeofExpressionParser extends PrsStream implements RuleAction , { try { - btParser = new BacktrackingParser(monitor, (TokenStream) this, prs, (RuleAction) this); + btParser = new FixedBacktrackingParser(monitor, (TokenStream) this, prs, (RuleAction) this); } catch (NotBacktrackParseTableException e) { |