Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
ANTLR Tool Source Code
ANTLR is a powerful parser generator for multiple programming languages including Java.
ANTLR contains 2 major modules:
ANTLR Tool Source Code files are provided in the distribution packge (antlr4-4.10.1.zip). You can download them at ANTLR Website.
You can also browse the source code below:
✍: FYIcenter
⏎ org/antlr/v4/codegen/DefaultOutputModelFactory.java
/* * Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. * Use of this file is governed by the BSD 3-clause license that * can be found in the LICENSE.txt file in the project root. */ package org.antlr.v4.codegen; import org.antlr.v4.codegen.model.Action; import org.antlr.v4.codegen.model.CodeBlockForOuterMostAlt; import org.antlr.v4.codegen.model.OutputModelObject; import org.antlr.v4.codegen.model.RuleFunction; import org.antlr.v4.codegen.model.SrcOp; import org.antlr.v4.codegen.model.decl.CodeBlock; 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.Rule; import org.stringtemplate.v4.ST; import org.stringtemplate.v4.STGroup; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; /** Create output objects for elements *within* rule functions except * buildOutputModel() which builds outer/root model object and any * objects such as RuleFunction that surround elements in rule * functions. */ public abstract class DefaultOutputModelFactory extends BlankOutputModelFactory { // Interface to outside world public final Grammar g; public final CodeGenerator gen; public OutputModelController controller; protected DefaultOutputModelFactory(CodeGenerator gen) { this.gen = gen; this.g = gen.g; } @Override public void setController(OutputModelController controller) { this.controller = controller; } @Override public OutputModelController getController() { return controller; } @Override public List<SrcOp> rulePostamble(RuleFunction function, Rule r) { if ( r.namedActions.containsKey("after") || r.namedActions.containsKey("finally") ) { // See OutputModelController.buildLeftRecursiveRuleFunction // and Parser.exitRule for other places which set stop. CodeGenerator gen = getGenerator(); STGroup codegenTemplates = gen.getTemplates(); ST setStopTokenAST = codegenTemplates.getInstanceOf("recRuleSetStopToken"); Action setStopTokenAction = new Action(this, function.ruleCtx, setStopTokenAST); List<SrcOp> ops = new ArrayList<SrcOp>(1); ops.add(setStopTokenAction); return ops; } return super.rulePostamble(function, r); } // Convenience methods @Override public Grammar getGrammar() { return g; } @Override public CodeGenerator getGenerator() { return gen; } @Override public OutputModelObject getRoot() { return controller.getRoot(); } @Override public RuleFunction getCurrentRuleFunction() { return controller.getCurrentRuleFunction(); } @Override public Alternative getCurrentOuterMostAlt() { return controller.getCurrentOuterMostAlt(); } @Override public CodeBlock getCurrentBlock() { return controller.getCurrentBlock(); } @Override public CodeBlockForOuterMostAlt getCurrentOuterMostAlternativeBlock() { return controller.getCurrentOuterMostAlternativeBlock(); } @Override public int getCodeBlockLevel() { return controller.codeBlockLevel; } @Override public int getTreeLevel() { return controller.treeLevel; } // MISC public static List<SrcOp> list(SrcOp... values) { return new ArrayList<SrcOp>(Arrays.asList(values)); } public static List<SrcOp> list(Collection<? extends SrcOp> values) { return new ArrayList<SrcOp>(values); } }
⏎ org/antlr/v4/codegen/DefaultOutputModelFactory.java
Or download all of them as a single archive file:
File name: antlr-tool-4.10.1-sources.jar File size: 347718 bytes Release date: 2022-04-15 Download
2022-04-24, 31758👍, 0💬
Popular Posts:
HttpComponents Core Source Code Files are provided in the source package file, httpcomponents-core-5...
JDK 8 tools.jar is the JAR file for JDK 8 tools. It contains Java classes to support different JDK t...
commons-fileupload-1.3.3 -sources.jaris the source JAR file for Apache Commons FileUpload 1.3., whic...
JDK 11 java.base.jmod is the JMOD file for JDK 11 Base module. JDK 11 Base module compiled class fil...
JDK 11 jdk.compiler.jmod is the JMOD file for JDK 11 Compiler tool, which can be invoked by the "jav...