forked from jasder/antlr
Fixes #1188
This commit is contained in:
parent
d09276d9fd
commit
dc2c9b039e
|
@ -37,11 +37,15 @@ import org.junit.Test;
|
|||
|
||||
public class TestToolSyntaxErrors extends BaseJavaToolTest {
|
||||
static String[] A = {
|
||||
// INPUT
|
||||
"grammar A;\n" +
|
||||
"",
|
||||
// YIELDS
|
||||
"error(" + ErrorType.NO_RULES.code + "): A.g4::: grammar A has no rules\n",
|
||||
// INPUT
|
||||
"grammar A;\n" +
|
||||
"",
|
||||
// YIELDS
|
||||
"error(" + ErrorType.NO_RULES.code + "): A.g4::: grammar A has no rules\n",
|
||||
|
||||
"lexer grammar A;\n" +
|
||||
"",
|
||||
"error(" + ErrorType.NO_RULES.code + "): A.g4::: grammar A has no rules\n",
|
||||
|
||||
"A;",
|
||||
"error(" + ErrorType.SYNTAX_ERROR.code + "): A.g4:1:0: syntax error: 'A' came as a complete surprise to me\n",
|
||||
|
|
|
@ -83,11 +83,13 @@ public class SemanticPipeline {
|
|||
ruleCollector.process(g.ast);
|
||||
|
||||
// DO BASIC / EASY SEMANTIC CHECKS
|
||||
int prevErrors = g.tool.errMgr.getNumErrors();
|
||||
BasicSemanticChecks basics = new BasicSemanticChecks(g, ruleCollector);
|
||||
basics.process();
|
||||
if ( g.tool.errMgr.getNumErrors()>prevErrors ) return;
|
||||
|
||||
// TRANSFORM LEFT-RECURSIVE RULES
|
||||
int prevErrors = g.tool.errMgr.getNumErrors();
|
||||
prevErrors = g.tool.errMgr.getNumErrors();
|
||||
LeftRecursiveRuleTransformer lrtrans =
|
||||
new LeftRecursiveRuleTransformer(g.ast, ruleCollector.rules.values(), g);
|
||||
lrtrans.translateLeftRecursiveRules();
|
||||
|
|
Loading…
Reference in New Issue