forked from jasder/antlr
move ast nodes to new package
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9135]
This commit is contained in:
parent
547d58514d
commit
9784ce3d22
|
@ -42,6 +42,9 @@ import org.antlr.v4.parse.GrammarASTAdaptor;
|
||||||
import org.antlr.v4.parse.ToolANTLRParser;
|
import org.antlr.v4.parse.ToolANTLRParser;
|
||||||
import org.antlr.v4.semantics.SemanticPipeline;
|
import org.antlr.v4.semantics.SemanticPipeline;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.*;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarASTErrorNode;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarRootAST;
|
||||||
import org.stringtemplate.v4.STGroup;
|
import org.stringtemplate.v4.STGroup;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
@ -215,7 +218,7 @@ public class Tool {
|
||||||
public void processGrammarsOnCommandLine() {
|
public void processGrammarsOnCommandLine() {
|
||||||
for (String fileName : grammarFiles) {
|
for (String fileName : grammarFiles) {
|
||||||
GrammarAST t = loadGrammar(fileName);
|
GrammarAST t = loadGrammar(fileName);
|
||||||
if ( t==null || t instanceof GrammarASTErrorNode ) return; // came back as error node
|
if ( t==null || t instanceof GrammarASTErrorNode) return; // came back as error node
|
||||||
if ( ((GrammarRootAST)t).hasErrors ) return;
|
if ( ((GrammarRootAST)t).hasErrors ) return;
|
||||||
GrammarRootAST ast = (GrammarRootAST)t;
|
GrammarRootAST ast = (GrammarRootAST)t;
|
||||||
|
|
||||||
|
@ -348,7 +351,7 @@ public class Tool {
|
||||||
p.setTreeAdaptor(adaptor);
|
p.setTreeAdaptor(adaptor);
|
||||||
ParserRuleReturnScope r = p.grammarSpec();
|
ParserRuleReturnScope r = p.grammarSpec();
|
||||||
GrammarRootAST root = (GrammarRootAST)r.getTree();
|
GrammarRootAST root = (GrammarRootAST)r.getTree();
|
||||||
if ( root instanceof GrammarRootAST ) {
|
if ( root instanceof GrammarRootAST) {
|
||||||
root.hasErrors = p.getNumberOfSyntaxErrors()>0;
|
root.hasErrors = p.getNumberOfSyntaxErrors()>0;
|
||||||
root.tokens = tokens;
|
root.tokens = tokens;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,8 +29,9 @@
|
||||||
|
|
||||||
package org.antlr.v4.automata;
|
package org.antlr.v4.automata;
|
||||||
|
|
||||||
import org.antlr.v4.runtime.atn.*;
|
import org.antlr.v4.runtime.atn.ATN;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.runtime.atn.ATNState;
|
||||||
|
import org.antlr.v4.tool.ast.*;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,11 @@ import org.antlr.v4.misc.CharSupport;
|
||||||
import org.antlr.v4.parse.ANTLRParser;
|
import org.antlr.v4.parse.ANTLRParser;
|
||||||
import org.antlr.v4.runtime.atn.*;
|
import org.antlr.v4.runtime.atn.*;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.LexerGrammar;
|
||||||
|
import org.antlr.v4.tool.Rule;
|
||||||
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
import org.antlr.v4.tool.ast.TerminalAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,11 @@ import org.antlr.v4.parse.GrammarASTAdaptor;
|
||||||
import org.antlr.v4.runtime.atn.*;
|
import org.antlr.v4.runtime.atn.*;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.semantics.UseDefAnalyzer;
|
import org.antlr.v4.semantics.UseDefAnalyzer;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.ErrorManager;
|
||||||
|
import org.antlr.v4.tool.ErrorType;
|
||||||
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
import org.antlr.v4.tool.Rule;
|
||||||
|
import org.antlr.v4.tool.ast.*;
|
||||||
|
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
|
@ -29,12 +29,16 @@
|
||||||
|
|
||||||
package org.antlr.v4.automata;
|
package org.antlr.v4.automata;
|
||||||
|
|
||||||
import org.antlr.v4.runtime.*;
|
import org.antlr.v4.runtime.RuleContext;
|
||||||
|
import org.antlr.v4.runtime.Token;
|
||||||
import org.antlr.v4.runtime.atn.*;
|
import org.antlr.v4.runtime.atn.*;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
import org.antlr.v4.tool.ast.TreePatternAST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/** Build ATNs for tree grammars */
|
/** Build ATNs for tree grammars */
|
||||||
public class TreeParserATNFactory extends ParserATNFactory {
|
public class TreeParserATNFactory extends ParserATNFactory {
|
||||||
|
|
|
@ -35,7 +35,11 @@ import org.antlr.v4.codegen.model.RuleFunction;
|
||||||
import org.antlr.v4.codegen.model.actions.*;
|
import org.antlr.v4.codegen.model.actions.*;
|
||||||
import org.antlr.v4.parse.ActionSplitter;
|
import org.antlr.v4.parse.ActionSplitter;
|
||||||
import org.antlr.v4.parse.ActionSplitterListener;
|
import org.antlr.v4.parse.ActionSplitterListener;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.Attribute;
|
||||||
|
import org.antlr.v4.tool.ErrorType;
|
||||||
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
import org.antlr.v4.tool.Rule;
|
||||||
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
|
@ -32,7 +32,12 @@ package org.antlr.v4.codegen;
|
||||||
import org.antlr.v4.codegen.model.*;
|
import org.antlr.v4.codegen.model.*;
|
||||||
import org.antlr.v4.codegen.model.ast.*;
|
import org.antlr.v4.codegen.model.ast.*;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.Alternative;
|
||||||
|
import org.antlr.v4.tool.Rule;
|
||||||
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
import org.antlr.v4.tool.ast.BlockAST;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
import org.antlr.v4.tool.ast.PredAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ package org.antlr.v4.codegen;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.model.*;
|
import org.antlr.v4.codegen.model.*;
|
||||||
import org.antlr.v4.codegen.model.ast.*;
|
import org.antlr.v4.codegen.model.ast.*;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -30,10 +30,14 @@
|
||||||
package org.antlr.v4.codegen;
|
package org.antlr.v4.codegen;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.model.*;
|
import org.antlr.v4.codegen.model.*;
|
||||||
import org.antlr.v4.codegen.model.decl.*;
|
import org.antlr.v4.codegen.model.decl.CodeBlock;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.codegen.model.decl.Decl;
|
||||||
|
import org.antlr.v4.tool.Alternative;
|
||||||
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/** Create output objects for elements *within* rule functions except
|
/** Create output objects for elements *within* rule functions except
|
||||||
* buildOutputModel() which builds outer/root model object and any
|
* buildOutputModel() which builds outer/root model object and any
|
||||||
|
|
|
@ -33,10 +33,19 @@ import org.antlr.runtime.tree.CommonTreeNodeStream;
|
||||||
import org.antlr.v4.codegen.model.*;
|
import org.antlr.v4.codegen.model.*;
|
||||||
import org.antlr.v4.codegen.model.ast.*;
|
import org.antlr.v4.codegen.model.ast.*;
|
||||||
import org.antlr.v4.codegen.model.decl.CodeBlock;
|
import org.antlr.v4.codegen.model.decl.CodeBlock;
|
||||||
import org.antlr.v4.parse.*;
|
import org.antlr.v4.parse.ANTLRParser;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.parse.GrammarASTAdaptor;
|
||||||
|
import org.antlr.v4.tool.Alternative;
|
||||||
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
import org.antlr.v4.tool.Rule;
|
||||||
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
import org.antlr.v4.tool.ast.BlockAST;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
import org.antlr.v4.tool.ast.PredAST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Stack;
|
||||||
|
|
||||||
/** This receives events from SourceGenTriggers.g and asks factory to do work.
|
/** This receives events from SourceGenTriggers.g and asks factory to do work.
|
||||||
* Then runs extensions in order on resulting SrcOps to get final list.
|
* Then runs extensions in order on resulting SrcOps to get final list.
|
||||||
|
|
|
@ -33,7 +33,13 @@ import org.antlr.v4.codegen.model.*;
|
||||||
import org.antlr.v4.codegen.model.ast.*;
|
import org.antlr.v4.codegen.model.ast.*;
|
||||||
import org.antlr.v4.codegen.model.decl.CodeBlock;
|
import org.antlr.v4.codegen.model.decl.CodeBlock;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.Alternative;
|
||||||
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
import org.antlr.v4.tool.Rule;
|
||||||
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
import org.antlr.v4.tool.ast.BlockAST;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
import org.antlr.v4.tool.ast.PredAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -31,11 +31,11 @@ package org.antlr.v4.codegen;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.model.*;
|
import org.antlr.v4.codegen.model.*;
|
||||||
import org.antlr.v4.codegen.model.ast.*;
|
import org.antlr.v4.codegen.model.ast.*;
|
||||||
import org.antlr.v4.codegen.model.ast.RuleAST;
|
|
||||||
import org.antlr.v4.codegen.model.decl.*;
|
import org.antlr.v4.codegen.model.decl.*;
|
||||||
import org.antlr.v4.misc.Utils;
|
import org.antlr.v4.misc.Utils;
|
||||||
import org.antlr.v4.parse.ANTLRParser;
|
import org.antlr.v4.parse.ANTLRParser;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.Alternative;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,9 @@ import org.antlr.v4.runtime.atn.PlusBlockStartState;
|
||||||
import org.antlr.v4.runtime.atn.StarLoopEntryState;
|
import org.antlr.v4.runtime.atn.StarLoopEntryState;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.semantics.UseDefAnalyzer;
|
import org.antlr.v4.semantics.UseDefAnalyzer;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.Alternative;
|
||||||
|
import org.antlr.v4.tool.Rule;
|
||||||
|
import org.antlr.v4.tool.ast.*;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -34,8 +34,8 @@ import org.antlr.v4.parse.ANTLRParser;
|
||||||
import org.antlr.v4.runtime.Lexer;
|
import org.antlr.v4.runtime.Lexer;
|
||||||
import org.antlr.v4.runtime.Token;
|
import org.antlr.v4.runtime.Token;
|
||||||
import org.antlr.v4.tool.Grammar;
|
import org.antlr.v4.tool.Grammar;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
|
||||||
import org.antlr.v4.tool.Rule;
|
import org.antlr.v4.tool.Rule;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
import org.stringtemplate.v4.ST;
|
import org.stringtemplate.v4.ST;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
|
|
|
@ -36,7 +36,7 @@ import org.antlr.v4.codegen.model.decl.Decl;
|
||||||
import org.antlr.v4.codegen.model.decl.NodeDecl;
|
import org.antlr.v4.codegen.model.decl.NodeDecl;
|
||||||
import org.antlr.v4.codegen.model.decl.NodeListDecl;
|
import org.antlr.v4.codegen.model.decl.NodeListDecl;
|
||||||
import org.antlr.v4.codegen.model.decl.TokenListDecl;
|
import org.antlr.v4.codegen.model.decl.TokenListDecl;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
package org.antlr.v4.codegen;
|
package org.antlr.v4.codegen;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.model.MatchToken;
|
import org.antlr.v4.codegen.model.MatchToken;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class Wildcard extends MatchToken {
|
public class Wildcard extends MatchToken {
|
||||||
public Wildcard(OutputModelFactory factory, GrammarAST ast) {
|
public Wildcard(OutputModelFactory factory, GrammarAST ast) {
|
||||||
|
|
|
@ -29,9 +29,11 @@
|
||||||
|
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.*;
|
import org.antlr.v4.codegen.ActionTranslator;
|
||||||
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.actions.ActionChunk;
|
import org.antlr.v4.codegen.model.actions.ActionChunk;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.runtime.atn.BlockStartState;
|
import org.antlr.v4.runtime.atn.BlockStartState;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class ArgAction extends Action {
|
public class ArgAction extends Action {
|
||||||
/** Context type of invoked rule */
|
/** Context type of invoked rule */
|
||||||
|
|
|
@ -30,12 +30,14 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.decl.*;
|
import org.antlr.v4.codegen.model.decl.Decl;
|
||||||
|
import org.antlr.v4.codegen.model.decl.TokenTypeDecl;
|
||||||
import org.antlr.v4.misc.Utils;
|
import org.antlr.v4.misc.Utils;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/** The class hierarchy underneath SrcOp is pretty deep but makes sense that,
|
/** The class hierarchy underneath SrcOp is pretty deep but makes sense that,
|
||||||
* for example LL1StarBlock is a kind of LL1Loop which is a kind of Choice.
|
* for example LL1StarBlock is a kind of LL1Loop which is a kind of Choice.
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class ForcedAction extends Action {
|
public class ForcedAction extends Action {
|
||||||
public ForcedAction(OutputModelFactory factory, GrammarAST ast) {
|
public ForcedAction(OutputModelFactory factory, GrammarAST ast) {
|
||||||
|
|
|
@ -29,13 +29,19 @@
|
||||||
|
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.*;
|
import org.antlr.v4.codegen.ActionTranslator;
|
||||||
|
import org.antlr.v4.codegen.CodeGenerator;
|
||||||
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.actions.ActionChunk;
|
import org.antlr.v4.codegen.model.actions.ActionChunk;
|
||||||
import org.antlr.v4.codegen.model.decl.*;
|
import org.antlr.v4.codegen.model.decl.Decl;
|
||||||
|
import org.antlr.v4.codegen.model.decl.RuleContextDecl;
|
||||||
|
import org.antlr.v4.codegen.model.decl.RuleContextListDecl;
|
||||||
import org.antlr.v4.parse.ANTLRParser;
|
import org.antlr.v4.parse.ANTLRParser;
|
||||||
import org.antlr.v4.runtime.atn.RuleTransition;
|
import org.antlr.v4.runtime.atn.RuleTransition;
|
||||||
import org.antlr.v4.runtime.misc.OrderedHashSet;
|
import org.antlr.v4.runtime.misc.OrderedHashSet;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.Rule;
|
||||||
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ package org.antlr.v4.codegen.model;
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.runtime.atn.DecisionState;
|
import org.antlr.v4.runtime.atn.DecisionState;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ package org.antlr.v4.codegen.model;
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.runtime.atn.DecisionState;
|
import org.antlr.v4.runtime.atn.DecisionState;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.runtime.atn.PlusBlockStartState;
|
import org.antlr.v4.runtime.atn.PlusBlockStartState;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.Grammar;
|
import org.antlr.v4.tool.Grammar;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ package org.antlr.v4.codegen.model;
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.runtime.atn.PlusBlockStartState;
|
import org.antlr.v4.runtime.atn.PlusBlockStartState;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ package org.antlr.v4.codegen.model;
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.runtime.atn.StarLoopEntryState;
|
import org.antlr.v4.runtime.atn.StarLoopEntryState;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ package org.antlr.v4.codegen.model;
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.runtime.atn.StarLoopEntryState;
|
import org.antlr.v4.runtime.atn.StarLoopEntryState;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -30,9 +30,11 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class LexerFile extends OutputModelObject {
|
public class LexerFile extends OutputModelObject {
|
||||||
public String fileName;
|
public String fileName;
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
import org.antlr.v4.tool.Rule;
|
||||||
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/** A model object representing a parse tree listener file.
|
/** A model object representing a parse tree listener file.
|
||||||
* These are the rules specific events triggered by a parse tree visitor.
|
* These are the rules specific events triggered by a parse tree visitor.
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class MatchDOWN extends RuleElement {
|
public class MatchDOWN extends RuleElement {
|
||||||
public MatchDOWN(OutputModelFactory factory, GrammarAST ast) {
|
public MatchDOWN(OutputModelFactory factory, GrammarAST ast) {
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class MatchNotSet extends MatchSet {
|
public class MatchNotSet extends MatchSet {
|
||||||
public MatchNotSet(OutputModelFactory factory, GrammarAST ast) {
|
public MatchNotSet(OutputModelFactory factory, GrammarAST ast) {
|
||||||
|
|
|
@ -30,9 +30,10 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.decl.*;
|
import org.antlr.v4.codegen.model.decl.Decl;
|
||||||
|
import org.antlr.v4.codegen.model.decl.TokenTypeDecl;
|
||||||
import org.antlr.v4.runtime.atn.SetTransition;
|
import org.antlr.v4.runtime.atn.SetTransition;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class MatchSet extends MatchToken {
|
public class MatchSet extends MatchToken {
|
||||||
@ModelElement public TestSetInline expr;
|
@ModelElement public TestSetInline expr;
|
||||||
|
|
|
@ -29,11 +29,15 @@
|
||||||
|
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.*;
|
import org.antlr.v4.codegen.CodeGenerator;
|
||||||
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.decl.Decl;
|
import org.antlr.v4.codegen.model.decl.Decl;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
import org.antlr.v4.tool.ast.TerminalAST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
public class MatchToken extends RuleElement implements LabeledOp {
|
public class MatchToken extends RuleElement implements LabeledOp {
|
||||||
|
|
|
@ -31,10 +31,13 @@ package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.misc.Utils;
|
import org.antlr.v4.misc.Utils;
|
||||||
import org.antlr.v4.runtime.*;
|
import org.antlr.v4.runtime.RuleContext;
|
||||||
import org.antlr.v4.runtime.atn.*;
|
import org.antlr.v4.runtime.Token;
|
||||||
|
import org.antlr.v4.runtime.atn.ATNState;
|
||||||
|
import org.antlr.v4.runtime.atn.LL1Analyzer;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
import org.antlr.v4.tool.ast.TreePatternAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class MatchUP extends RuleElement {
|
public class MatchUP extends RuleElement {
|
||||||
public MatchUP(OutputModelFactory factory, GrammarAST ast) {
|
public MatchUP(OutputModelFactory factory, GrammarAST ast) {
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
public abstract class OutputModelObject {
|
public abstract class OutputModelObject {
|
||||||
|
|
|
@ -30,9 +30,11 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
public class ParserFile extends OutputModelObject {
|
public class ParserFile extends OutputModelObject {
|
||||||
|
|
|
@ -32,7 +32,7 @@ package org.antlr.v4.codegen.model;
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.runtime.atn.PlusBlockStartState;
|
import org.antlr.v4.runtime.atn.PlusBlockStartState;
|
||||||
import org.antlr.v4.runtime.atn.PlusLoopbackState;
|
import org.antlr.v4.runtime.atn.PlusLoopbackState;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class RuleElement extends SrcOp {
|
public class RuleElement extends SrcOp {
|
||||||
/** Associated ATN state for this rule elements (action, token, ruleref, ...) */
|
/** Associated ATN state for this rule elements (action, token, ruleref, ...) */
|
||||||
|
|
|
@ -38,8 +38,8 @@ import org.antlr.v4.misc.Utils;
|
||||||
import org.antlr.v4.runtime.atn.ATNState;
|
import org.antlr.v4.runtime.atn.ATNState;
|
||||||
import org.antlr.v4.runtime.misc.OrderedHashSet;
|
import org.antlr.v4.runtime.misc.OrderedHashSet;
|
||||||
import org.antlr.v4.tool.Attribute;
|
import org.antlr.v4.tool.Attribute;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
|
||||||
import org.antlr.v4.tool.Rule;
|
import org.antlr.v4.tool.Rule;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
public class SemPred extends Action {
|
public class SemPred extends Action {
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
package org.antlr.v4.codegen.model;
|
package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
public abstract class SrcOp extends OutputModelObject {
|
public abstract class SrcOp extends OutputModelObject {
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.runtime.atn.StarLoopEntryState;
|
import org.antlr.v4.runtime.atn.StarLoopEntryState;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
public class Sync extends SrcOp {
|
public class Sync extends SrcOp {
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
public class TestSetInline extends SrcOp {
|
public class TestSetInline extends SrcOp {
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
public class ThrowEarlyExitException extends ThrowRecognitionException {
|
public class ThrowEarlyExitException extends ThrowRecognitionException {
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
public class ThrowNoViableAlt extends ThrowRecognitionException {
|
public class ThrowNoViableAlt extends ThrowRecognitionException {
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
public class ThrowRecognitionException extends SrcOp {
|
public class ThrowRecognitionException extends SrcOp {
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model.ast;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.SrcOp;
|
import org.antlr.v4.codegen.model.SrcOp;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class ClearElementList extends SrcOp {
|
public class ClearElementList extends SrcOp {
|
||||||
public String name;
|
public String name;
|
||||||
|
|
|
@ -32,7 +32,7 @@ package org.antlr.v4.codegen.model.ast;
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.SrcOp;
|
import org.antlr.v4.codegen.model.SrcOp;
|
||||||
import org.antlr.v4.codegen.model.decl.Decl;
|
import org.antlr.v4.codegen.model.decl.Decl;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class ElementASTOp extends SrcOp {
|
public class ElementASTOp extends SrcOp {
|
||||||
public Decl label;
|
public Decl label;
|
||||||
|
|
|
@ -29,10 +29,12 @@
|
||||||
|
|
||||||
package org.antlr.v4.codegen.model.ast;
|
package org.antlr.v4.codegen.model.ast;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.*;
|
import org.antlr.v4.codegen.ActionTranslator;
|
||||||
import org.antlr.v4.codegen.model.*;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
|
import org.antlr.v4.codegen.model.ModelElement;
|
||||||
|
import org.antlr.v4.codegen.model.SrcOp;
|
||||||
import org.antlr.v4.codegen.model.actions.ActionChunk;
|
import org.antlr.v4.codegen.model.actions.ActionChunk;
|
||||||
import org.antlr.v4.tool.ActionAST;
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -29,10 +29,13 @@
|
||||||
|
|
||||||
package org.antlr.v4.codegen.model.ast;
|
package org.antlr.v4.codegen.model.ast;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.*;
|
import org.antlr.v4.codegen.ActionTranslator;
|
||||||
import org.antlr.v4.codegen.model.*;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
|
import org.antlr.v4.codegen.model.ModelElement;
|
||||||
|
import org.antlr.v4.codegen.model.SrcOp;
|
||||||
import org.antlr.v4.codegen.model.actions.ActionChunk;
|
import org.antlr.v4.codegen.model.actions.ActionChunk;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model.ast;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.SrcOp;
|
import org.antlr.v4.codegen.model.SrcOp;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class RewriteLabelRef extends SrcOp {
|
public class RewriteLabelRef extends SrcOp {
|
||||||
public String iterName;
|
public String iterName;
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model.ast;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.SrcOp;
|
import org.antlr.v4.codegen.model.SrcOp;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class RewriteRuleRef extends SrcOp {
|
public class RewriteRuleRef extends SrcOp {
|
||||||
public String iterName;
|
public String iterName;
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model.ast;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.SrcOp;
|
import org.antlr.v4.codegen.model.SrcOp;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class RewriteSelfRuleLabelRef extends SrcOp {
|
public class RewriteSelfRuleLabelRef extends SrcOp {
|
||||||
public RewriteSelfRuleLabelRef(OutputModelFactory factory, GrammarAST ast) {
|
public RewriteSelfRuleLabelRef(OutputModelFactory factory, GrammarAST ast) {
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model.ast;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.SrcOp;
|
import org.antlr.v4.codegen.model.SrcOp;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class RewriteTokenRef extends SrcOp {
|
public class RewriteTokenRef extends SrcOp {
|
||||||
public String iterName;
|
public String iterName;
|
||||||
|
|
|
@ -30,10 +30,12 @@
|
||||||
package org.antlr.v4.codegen.model.ast;
|
package org.antlr.v4.codegen.model.ast;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.decl.*;
|
import org.antlr.v4.codegen.model.decl.CodeBlock;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.codegen.model.decl.Decl;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class RewriteTreeClosure extends CodeBlock {
|
public class RewriteTreeClosure extends CodeBlock {
|
||||||
public List<Decl> iteratorDecls = new ArrayList<Decl>();
|
public List<Decl> iteratorDecls = new ArrayList<Decl>();
|
||||||
|
|
|
@ -30,10 +30,12 @@
|
||||||
package org.antlr.v4.codegen.model.ast;
|
package org.antlr.v4.codegen.model.ast;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.decl.*;
|
import org.antlr.v4.codegen.model.decl.CodeBlock;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.codegen.model.decl.Decl;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class RewriteTreeOptional extends CodeBlock {
|
public class RewriteTreeOptional extends CodeBlock {
|
||||||
public List<Decl> conditionalDecls = new ArrayList<Decl>();
|
public List<Decl> conditionalDecls = new ArrayList<Decl>();
|
||||||
|
|
|
@ -30,10 +30,11 @@
|
||||||
package org.antlr.v4.codegen.model.ast;
|
package org.antlr.v4.codegen.model.ast;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.*;
|
import org.antlr.v4.codegen.model.ModelElement;
|
||||||
|
import org.antlr.v4.codegen.model.SrcOp;
|
||||||
import org.antlr.v4.codegen.model.decl.Decl;
|
import org.antlr.v4.codegen.model.decl.Decl;
|
||||||
import org.antlr.v4.runtime.misc.OrderedHashSet;
|
import org.antlr.v4.runtime.misc.OrderedHashSet;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model.ast;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.decl.Decl;
|
import org.antlr.v4.codegen.model.decl.Decl;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class RuleAST extends ElementASTOp {
|
public class RuleAST extends ElementASTOp {
|
||||||
public RuleAST(OutputModelFactory factory, GrammarAST ast, Decl label) {
|
public RuleAST(OutputModelFactory factory, GrammarAST ast, Decl label) {
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model.ast;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.decl.Decl;
|
import org.antlr.v4.codegen.model.decl.Decl;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
public class TokenAST extends ElementASTOp {
|
public class TokenAST extends ElementASTOp {
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model.ast;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.decl.Decl;
|
import org.antlr.v4.codegen.model.decl.Decl;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class TrackRuleElement extends ElementASTOp {
|
public class TrackRuleElement extends ElementASTOp {
|
||||||
public String name;
|
public String name;
|
||||||
|
|
|
@ -31,7 +31,7 @@ package org.antlr.v4.codegen.model.ast;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.codegen.model.decl.Decl;
|
import org.antlr.v4.codegen.model.decl.Decl;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class TrackTokenElement extends ElementASTOp {
|
public class TrackTokenElement extends ElementASTOp {
|
||||||
public String name;
|
public String name;
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
package org.antlr.v4.codegen.model.decl;
|
package org.antlr.v4.codegen.model.decl;
|
||||||
|
|
||||||
import org.antlr.v4.codegen.OutputModelFactory;
|
import org.antlr.v4.codegen.OutputModelFactory;
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class RewriteIteratorDecl extends Decl {
|
public class RewriteIteratorDecl extends Decl {
|
||||||
public String listName;
|
public String listName;
|
||||||
|
|
|
@ -29,10 +29,13 @@
|
||||||
|
|
||||||
package org.antlr.v4.misc;
|
package org.antlr.v4.misc;
|
||||||
|
|
||||||
import org.antlr.v4.tool.GrammarAST;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
public class Utils {
|
public class Utils {
|
||||||
|
|
|
@ -131,6 +131,7 @@ tokens {
|
||||||
package org.antlr.v4.parse;
|
package org.antlr.v4.parse;
|
||||||
|
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.*;
|
||||||
|
import org.antlr.v4.tool.ast.*;
|
||||||
}
|
}
|
||||||
|
|
||||||
@members {
|
@members {
|
||||||
|
|
|
@ -29,9 +29,13 @@
|
||||||
|
|
||||||
package org.antlr.v4.parse;
|
package org.antlr.v4.parse;
|
||||||
|
|
||||||
import org.antlr.runtime.*;
|
import org.antlr.runtime.CommonToken;
|
||||||
|
import org.antlr.runtime.Token;
|
||||||
import org.antlr.runtime.tree.CommonTreeAdaptor;
|
import org.antlr.runtime.tree.CommonTreeAdaptor;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarASTErrorNode;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarASTWithOptions;
|
||||||
|
import org.antlr.v4.tool.ast.TerminalAST;
|
||||||
|
|
||||||
public class GrammarASTAdaptor extends CommonTreeAdaptor {
|
public class GrammarASTAdaptor extends CommonTreeAdaptor {
|
||||||
org.antlr.runtime.CharStream input; // where we can find chars ref'd by tokens in tree
|
org.antlr.runtime.CharStream input; // where we can find chars ref'd by tokens in tree
|
||||||
|
|
|
@ -29,12 +29,18 @@
|
||||||
|
|
||||||
package org.antlr.v4.parse;
|
package org.antlr.v4.parse;
|
||||||
|
|
||||||
import org.antlr.runtime.*;
|
import org.antlr.runtime.CommonToken;
|
||||||
|
import org.antlr.runtime.TokenStream;
|
||||||
import org.antlr.runtime.tree.CommonTreeNodeStream;
|
import org.antlr.runtime.tree.CommonTreeNodeStream;
|
||||||
import org.antlr.v4.Tool;
|
import org.antlr.v4.Tool;
|
||||||
import org.antlr.v4.codegen.CodeGenerator;
|
import org.antlr.v4.codegen.CodeGenerator;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.AttributeDict;
|
||||||
import org.stringtemplate.v4.*;
|
import org.antlr.v4.tool.ErrorType;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarASTWithOptions;
|
||||||
|
import org.stringtemplate.v4.ST;
|
||||||
|
import org.stringtemplate.v4.STGroup;
|
||||||
|
import org.stringtemplate.v4.STGroupFile;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
|
@ -29,9 +29,16 @@
|
||||||
|
|
||||||
package org.antlr.v4.semantics;
|
package org.antlr.v4.semantics;
|
||||||
|
|
||||||
import org.antlr.runtime.*;
|
import org.antlr.runtime.ANTLRStringStream;
|
||||||
|
import org.antlr.runtime.Token;
|
||||||
import org.antlr.v4.parse.ActionSplitter;
|
import org.antlr.v4.parse.ActionSplitter;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.Alternative;
|
||||||
|
import org.antlr.v4.tool.ErrorManager;
|
||||||
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
import org.antlr.v4.tool.Rule;
|
||||||
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
import org.antlr.v4.tool.ast.TerminalAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ import org.antlr.runtime.Token;
|
||||||
import org.antlr.v4.parse.ActionSplitter;
|
import org.antlr.v4.parse.ActionSplitter;
|
||||||
import org.antlr.v4.parse.ActionSplitterListener;
|
import org.antlr.v4.parse.ActionSplitterListener;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.*;
|
||||||
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -31,8 +31,12 @@ package org.antlr.v4.semantics;
|
||||||
|
|
||||||
import org.antlr.runtime.Token;
|
import org.antlr.runtime.Token;
|
||||||
import org.antlr.v4.misc.Utils;
|
import org.antlr.v4.misc.Utils;
|
||||||
import org.antlr.v4.parse.*;
|
import org.antlr.v4.parse.ANTLRParser;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.parse.GrammarTreeVisitor;
|
||||||
|
import org.antlr.v4.tool.ErrorManager;
|
||||||
|
import org.antlr.v4.tool.ErrorType;
|
||||||
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
import org.antlr.v4.tool.ast.*;
|
||||||
import org.stringtemplate.v4.misc.MultiMap;
|
import org.stringtemplate.v4.misc.MultiMap;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
|
@ -30,9 +30,12 @@
|
||||||
package org.antlr.v4.semantics;
|
package org.antlr.v4.semantics;
|
||||||
|
|
||||||
import org.antlr.v4.parse.GrammarTreeVisitor;
|
import org.antlr.v4.parse.GrammarTreeVisitor;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
import org.antlr.v4.tool.ast.TerminalAST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class RewriteRefs extends GrammarTreeVisitor {
|
public class RewriteRefs extends GrammarTreeVisitor {
|
||||||
List<GrammarAST> shallow = new ArrayList<GrammarAST>();
|
List<GrammarAST> shallow = new ArrayList<GrammarAST>();
|
||||||
|
|
|
@ -30,9 +30,13 @@
|
||||||
package org.antlr.v4.semantics;
|
package org.antlr.v4.semantics;
|
||||||
|
|
||||||
import org.antlr.v4.parse.ANTLRParser;
|
import org.antlr.v4.parse.ANTLRParser;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
import org.antlr.v4.tool.Rule;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/** Do as much semantic checking as we can and fill in grammar
|
/** Do as much semantic checking as we can and fill in grammar
|
||||||
* with rules, actions, and token definitions.
|
* with rules, actions, and token definitions.
|
||||||
|
|
|
@ -32,6 +32,7 @@ package org.antlr.v4.semantics;
|
||||||
import org.antlr.runtime.Token;
|
import org.antlr.runtime.Token;
|
||||||
import org.antlr.v4.parse.ANTLRParser;
|
import org.antlr.v4.parse.ANTLRParser;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.*;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
|
@ -29,10 +29,18 @@
|
||||||
|
|
||||||
package org.antlr.v4.semantics;
|
package org.antlr.v4.semantics;
|
||||||
|
|
||||||
import org.antlr.v4.parse.*;
|
import org.antlr.v4.parse.GrammarTreeVisitor;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.parse.ScopeParser;
|
||||||
|
import org.antlr.v4.tool.AttributeDict;
|
||||||
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
import org.antlr.v4.tool.LabelElementPair;
|
||||||
|
import org.antlr.v4.tool.Rule;
|
||||||
|
import org.antlr.v4.tool.ast.*;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/** Collects (create) rules, terminals, strings, actions, scopes etc... from AST
|
/** Collects (create) rules, terminals, strings, actions, scopes etc... from AST
|
||||||
* side-effects: sets resolver field of asts for actions and
|
* side-effects: sets resolver field of asts for actions and
|
||||||
|
|
|
@ -29,9 +29,14 @@
|
||||||
|
|
||||||
package org.antlr.v4.semantics;
|
package org.antlr.v4.semantics;
|
||||||
|
|
||||||
import org.antlr.runtime.*;
|
import org.antlr.runtime.ANTLRStringStream;
|
||||||
import org.antlr.v4.parse.*;
|
import org.antlr.runtime.Token;
|
||||||
|
import org.antlr.v4.parse.ANTLRParser;
|
||||||
|
import org.antlr.v4.parse.ActionSplitter;
|
||||||
|
import org.antlr.v4.parse.ActionSplitterListener;
|
||||||
import org.antlr.v4.tool.*;
|
import org.antlr.v4.tool.*;
|
||||||
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,10 @@ package org.antlr.v4.tool;
|
||||||
|
|
||||||
|
|
||||||
import org.antlr.v4.parse.ANTLRParser;
|
import org.antlr.v4.parse.ANTLRParser;
|
||||||
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
import org.antlr.v4.tool.ast.AltAST;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
import org.antlr.v4.tool.ast.TerminalAST;
|
||||||
import org.stringtemplate.v4.misc.MultiMap;
|
import org.stringtemplate.v4.misc.MultiMap;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
|
@ -29,7 +29,12 @@
|
||||||
|
|
||||||
package org.antlr.v4.tool;
|
package org.antlr.v4.tool;
|
||||||
|
|
||||||
import java.util.*;
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/** Track the attributes within retval, arg lists etc...
|
/** Track the attributes within retval, arg lists etc...
|
||||||
*
|
*
|
||||||
|
|
|
@ -29,6 +29,8 @@
|
||||||
|
|
||||||
package org.antlr.v4.tool;
|
package org.antlr.v4.tool;
|
||||||
|
|
||||||
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
|
||||||
/** Grammars, rules, and alternatives all have symbols visible to
|
/** Grammars, rules, and alternatives all have symbols visible to
|
||||||
* actions. To evaluate attr exprs, ask action for its resolver
|
* actions. To evaluate attr exprs, ask action for its resolver
|
||||||
* then ask resolver to look up various symbols. Depending on the context,
|
* then ask resolver to look up various symbols. Depending on the context,
|
||||||
|
|
|
@ -29,16 +29,26 @@
|
||||||
|
|
||||||
package org.antlr.v4.tool;
|
package org.antlr.v4.tool;
|
||||||
|
|
||||||
import org.antlr.runtime.tree.*;
|
import org.antlr.runtime.tree.TreeVisitor;
|
||||||
|
import org.antlr.runtime.tree.TreeVisitorAction;
|
||||||
|
import org.antlr.runtime.tree.TreeWizard;
|
||||||
import org.antlr.v4.Tool;
|
import org.antlr.v4.Tool;
|
||||||
import org.antlr.v4.misc.*;
|
import org.antlr.v4.misc.CharSupport;
|
||||||
import org.antlr.v4.parse.*;
|
import org.antlr.v4.misc.OrderedHashMap;
|
||||||
import org.antlr.v4.runtime.*;
|
import org.antlr.v4.parse.ANTLRParser;
|
||||||
|
import org.antlr.v4.parse.GrammarASTAdaptor;
|
||||||
|
import org.antlr.v4.parse.GrammarTreeVisitor;
|
||||||
|
import org.antlr.v4.parse.TokenVocabParser;
|
||||||
|
import org.antlr.v4.runtime.Lexer;
|
||||||
|
import org.antlr.v4.runtime.Token;
|
||||||
import org.antlr.v4.runtime.atn.ATN;
|
import org.antlr.v4.runtime.atn.ATN;
|
||||||
import org.antlr.v4.runtime.dfa.DFA;
|
import org.antlr.v4.runtime.dfa.DFA;
|
||||||
import org.antlr.v4.runtime.misc.*;
|
import org.antlr.v4.runtime.misc.IntSet;
|
||||||
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
|
import org.antlr.v4.tool.ast.*;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public class Grammar implements AttributeResolver {
|
public class Grammar implements AttributeResolver {
|
||||||
|
@ -233,7 +243,7 @@ public class Grammar implements AttributeResolver {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// did it come back as error node or missing?
|
// did it come back as error node or missing?
|
||||||
if ( grammarAST==null || grammarAST instanceof GrammarASTErrorNode ) return;
|
if ( grammarAST==null || grammarAST instanceof GrammarASTErrorNode) return;
|
||||||
GrammarRootAST ast = (GrammarRootAST)grammarAST;
|
GrammarRootAST ast = (GrammarRootAST)grammarAST;
|
||||||
Grammar g = tool.createGrammar(ast);
|
Grammar g = tool.createGrammar(ast);
|
||||||
File f = tool.getImportedGrammarFile(this, importedGrammarName+".g");
|
File f = tool.getImportedGrammarFile(this, importedGrammarName+".g");
|
||||||
|
@ -665,14 +675,10 @@ public class Grammar implements AttributeResolver {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getOption(String key) {
|
public String getOption(String key) { return ast.getOption(key); }
|
||||||
if ( ast.options==null ) return null;
|
|
||||||
return ast.options.get(key);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getOption(String key, String defaultValue) {
|
public String getOption(String key, String defaultValue) {
|
||||||
if ( ast.options==null ) return defaultValue;
|
String v = ast.getOption(key);
|
||||||
String v = ast.options.get(key);
|
|
||||||
if ( v!=null ) return v;
|
if ( v!=null ) return v;
|
||||||
return defaultValue;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,9 +31,12 @@ package org.antlr.v4.tool;
|
||||||
|
|
||||||
import org.antlr.runtime.*;
|
import org.antlr.runtime.*;
|
||||||
import org.antlr.runtime.misc.DoubleKeyMap;
|
import org.antlr.runtime.misc.DoubleKeyMap;
|
||||||
import org.antlr.runtime.tree.*;
|
import org.antlr.runtime.tree.Tree;
|
||||||
|
import org.antlr.runtime.tree.TreeVisitor;
|
||||||
|
import org.antlr.runtime.tree.TreeVisitorAction;
|
||||||
import org.antlr.v4.Tool;
|
import org.antlr.v4.Tool;
|
||||||
import org.antlr.v4.parse.*;
|
import org.antlr.v4.parse.*;
|
||||||
|
import org.antlr.v4.tool.ast.*;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@ package org.antlr.v4.tool;
|
||||||
|
|
||||||
import org.antlr.runtime.BitSet;
|
import org.antlr.runtime.BitSet;
|
||||||
import org.antlr.v4.parse.ANTLRParser;
|
import org.antlr.v4.parse.ANTLRParser;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
|
||||||
public class LabelElementPair {
|
public class LabelElementPair {
|
||||||
public static final BitSet tokenTypeForTokens = new BitSet();
|
public static final BitSet tokenTypeForTokens = new BitSet();
|
||||||
|
|
|
@ -31,6 +31,7 @@ package org.antlr.v4.tool;
|
||||||
|
|
||||||
import org.antlr.runtime.RecognitionException;
|
import org.antlr.runtime.RecognitionException;
|
||||||
import org.antlr.v4.Tool;
|
import org.antlr.v4.Tool;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarRootAST;
|
||||||
import org.stringtemplate.v4.misc.MultiMap;
|
import org.stringtemplate.v4.misc.MultiMap;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
|
|
|
@ -29,6 +29,10 @@
|
||||||
|
|
||||||
package org.antlr.v4.tool;
|
package org.antlr.v4.tool;
|
||||||
|
|
||||||
|
import org.antlr.v4.tool.ast.ActionAST;
|
||||||
|
import org.antlr.v4.tool.ast.GrammarAST;
|
||||||
|
import org.antlr.v4.tool.ast.PredAST;
|
||||||
|
import org.antlr.v4.tool.ast.RuleAST;
|
||||||
import org.stringtemplate.v4.misc.MultiMap;
|
import org.stringtemplate.v4.misc.MultiMap;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
|
@ -27,10 +27,11 @@
|
||||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.antlr.v4.tool;
|
package org.antlr.v4.tool.ast;
|
||||||
|
|
||||||
import org.antlr.runtime.Token;
|
import org.antlr.runtime.Token;
|
||||||
import org.antlr.runtime.tree.Tree;
|
import org.antlr.runtime.tree.Tree;
|
||||||
|
import org.antlr.v4.tool.AttributeResolver;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -27,11 +27,12 @@
|
||||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.antlr.v4.tool;
|
package org.antlr.v4.tool.ast;
|
||||||
|
|
||||||
import org.antlr.runtime.Token;
|
import org.antlr.runtime.Token;
|
||||||
import org.antlr.runtime.tree.Tree;
|
import org.antlr.runtime.tree.Tree;
|
||||||
import org.antlr.v4.parse.ANTLRParser;
|
import org.antlr.v4.parse.ANTLRParser;
|
||||||
|
import org.antlr.v4.tool.Alternative;
|
||||||
|
|
||||||
/** Any ALT (which can be child of ALT_REWRITE node) */
|
/** Any ALT (which can be child of ALT_REWRITE node) */
|
||||||
public class AltAST extends GrammarAST {
|
public class AltAST extends GrammarAST {
|
|
@ -27,12 +27,13 @@
|
||||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.antlr.v4.tool;
|
package org.antlr.v4.tool.ast;
|
||||||
|
|
||||||
import org.antlr.runtime.Token;
|
import org.antlr.runtime.Token;
|
||||||
import org.antlr.runtime.tree.Tree;
|
import org.antlr.runtime.tree.Tree;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class BlockAST extends GrammarASTWithOptions {
|
public class BlockAST extends GrammarASTWithOptions {
|
||||||
// TODO: maybe I need a Subrule object like Rule so these options mov to that?
|
// TODO: maybe I need a Subrule object like Rule so these options mov to that?
|
|
@ -27,7 +27,7 @@
|
||||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.antlr.v4.tool;
|
package org.antlr.v4.tool.ast;
|
||||||
|
|
||||||
import org.antlr.runtime.Token;
|
import org.antlr.runtime.Token;
|
||||||
|
|
|
@ -27,15 +27,23 @@
|
||||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.antlr.v4.tool;
|
package org.antlr.v4.tool.ast;
|
||||||
|
|
||||||
import org.antlr.runtime.*;
|
import org.antlr.runtime.CharStream;
|
||||||
import org.antlr.runtime.tree.*;
|
import org.antlr.runtime.CommonToken;
|
||||||
import org.antlr.v4.parse.*;
|
import org.antlr.runtime.Token;
|
||||||
|
import org.antlr.runtime.tree.CommonTree;
|
||||||
|
import org.antlr.runtime.tree.CommonTreeNodeStream;
|
||||||
|
import org.antlr.runtime.tree.Tree;
|
||||||
|
import org.antlr.v4.parse.ANTLRParser;
|
||||||
|
import org.antlr.v4.parse.GrammarASTAdaptor;
|
||||||
import org.antlr.v4.runtime.atn.ATNState;
|
import org.antlr.v4.runtime.atn.ATNState;
|
||||||
import org.antlr.v4.runtime.misc.IntervalSet;
|
import org.antlr.v4.runtime.misc.IntervalSet;
|
||||||
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class GrammarAST extends CommonTree {
|
public class GrammarAST extends CommonTree {
|
||||||
/** For error msgs, nice to know which grammar this AST lives in */
|
/** For error msgs, nice to know which grammar this AST lives in */
|
|
@ -27,9 +27,10 @@
|
||||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.antlr.v4.tool;
|
package org.antlr.v4.tool.ast;
|
||||||
|
|
||||||
import org.antlr.runtime.*;
|
import org.antlr.runtime.Token;
|
||||||
|
import org.antlr.runtime.TokenStream;
|
||||||
import org.antlr.runtime.tree.CommonErrorNode;
|
import org.antlr.runtime.tree.CommonErrorNode;
|
||||||
|
|
||||||
/** A node representing erroneous token range in token stream */
|
/** A node representing erroneous token range in token stream */
|
|
@ -0,0 +1,11 @@
|
||||||
|
package org.antlr.v4.tool.ast;
|
||||||
|
|
||||||
|
/*
|
||||||
|
GrammarAST t = ...;
|
||||||
|
SynDiagVisitor v = new ...;
|
||||||
|
t.visit(v);
|
||||||
|
*/
|
||||||
|
public interface GrammarASTVisitor {
|
||||||
|
Object visit(RuleAST node);
|
||||||
|
Object visit(AltAST node);
|
||||||
|
}
|
|
@ -27,11 +27,12 @@
|
||||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.antlr.v4.tool;
|
package org.antlr.v4.tool.ast;
|
||||||
|
|
||||||
import org.antlr.runtime.Token;
|
import org.antlr.runtime.Token;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class GrammarASTWithOptions extends GrammarAST {
|
public class GrammarASTWithOptions extends GrammarAST {
|
||||||
protected Map<String, String> options;
|
protected Map<String, String> options;
|
||||||
|
@ -56,5 +57,9 @@ public class GrammarASTWithOptions extends GrammarAST {
|
||||||
return options.get(key);
|
return options.get(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getNumberOfOptions() {
|
||||||
|
return options==null ? 0 : options.size();
|
||||||
|
}
|
||||||
|
|
||||||
public Map<String, String> getOptions() { return options; }
|
public Map<String, String> getOptions() { return options; }
|
||||||
}
|
}
|
|
@ -27,12 +27,14 @@
|
||||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.antlr.v4.tool;
|
package org.antlr.v4.tool.ast;
|
||||||
|
|
||||||
import org.antlr.runtime.*;
|
import org.antlr.runtime.Token;
|
||||||
|
import org.antlr.runtime.TokenStream;
|
||||||
import org.antlr.runtime.tree.Tree;
|
import org.antlr.runtime.tree.Tree;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class GrammarRootAST extends GrammarASTWithOptions {
|
public class GrammarRootAST extends GrammarASTWithOptions {
|
||||||
public static final Map defaultOptions =
|
public static final Map defaultOptions =
|
|
@ -27,7 +27,7 @@
|
||||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.antlr.v4.tool;
|
package org.antlr.v4.tool.ast;
|
||||||
|
|
||||||
import org.antlr.runtime.Token;
|
import org.antlr.runtime.Token;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue