Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
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 (322)
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, 44180👍, 0💬
Popular Posts:
Apache ZooKeeper is an open-source server which enables highly reliable distributed coordination. Ap...
JDK 11 jdk.localedata.jmod is the JMOD file for JDK 11 Localedata module. JDK 11 Locale Data module ...
JDK 11 java.xml.jmod is the JMOD file for JDK 11 XML (eXtensible Markup Language) module. JDK 11 XML...
JDK 17 jdk.jdi.jmod is the JMOD file for JDK 17 JDI (Java Debug Interface) tool. JDK 17 JDI tool com...
Apache Ant is a Java-based build tool. In theory, it is kind of like make, without make's wrinkles. ...