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 Runtime Source Code
ANTLR is a powerful parser generator for multiple programming languages
including Java.
ANTLR contains 2 major modules:
ANTLR Runtime 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/runtime/tree/pattern/RuleTagToken.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.runtime.tree.pattern;
import org.antlr.v4.runtime.CharStream;
import org.antlr.v4.runtime.Token;
import org.antlr.v4.runtime.TokenSource;
/**
* A {@link Token} object representing an entire subtree matched by a parser
* rule; e.g., {@code <expr>}. These tokens are created for {@link TagChunk}
* chunks where the tag corresponds to a parser rule.
*/
public class RuleTagToken implements Token {
/**
* This is the backing field for {@link #getRuleName}.
*/
private final String ruleName;
/**
* The token type for the current token. This is the token type assigned to
* the bypass alternative for the rule during ATN deserialization.
*/
private final int bypassTokenType;
/**
* This is the backing field for {@link #getLabel}.
*/
private final String label;
/**
* Constructs a new instance of {@link RuleTagToken} with the specified rule
* name and bypass token type and no label.
*
* @param ruleName The name of the parser rule this rule tag matches.
* @param bypassTokenType The bypass token type assigned to the parser rule.
*
* @exception IllegalArgumentException if {@code ruleName} is {@code null}
* or empty.
*/
public RuleTagToken(String ruleName, int bypassTokenType) {
this(ruleName, bypassTokenType, null);
}
/**
* Constructs a new instance of {@link RuleTagToken} with the specified rule
* name, bypass token type, and label.
*
* @param ruleName The name of the parser rule this rule tag matches.
* @param bypassTokenType The bypass token type assigned to the parser rule.
* @param label The label associated with the rule tag, or {@code null} if
* the rule tag is unlabeled.
*
* @exception IllegalArgumentException if {@code ruleName} is {@code null}
* or empty.
*/
public RuleTagToken(String ruleName, int bypassTokenType, String label) {
if (ruleName == null || ruleName.isEmpty()) {
throw new IllegalArgumentException("ruleName cannot be null or empty.");
}
this.ruleName = ruleName;
this.bypassTokenType = bypassTokenType;
this.label = label;
}
/**
* Gets the name of the rule associated with this rule tag.
*
* @return The name of the parser rule associated with this rule tag.
*/
public final String getRuleName() {
return ruleName;
}
/**
* Gets the label associated with the rule tag.
*
* @return The name of the label associated with the rule tag, or
* {@code null} if this is an unlabeled rule tag.
*/
public final String getLabel() {
return label;
}
/**
* {@inheritDoc}
*
* <p>Rule tag tokens are always placed on the {@link #DEFAULT_CHANNEL}.</p>
*/
@Override
public int getChannel() {
return DEFAULT_CHANNEL;
}
/**
* {@inheritDoc}
*
* <p>This method returns the rule tag formatted with {@code <} and {@code >}
* delimiters.</p>
*/
@Override
public String getText() {
if (label != null) {
return "<" + label + ":" + ruleName + ">";
}
return "<" + ruleName + ">";
}
/**
* {@inheritDoc}
*
* <p>Rule tag tokens have types assigned according to the rule bypass
* transitions created during ATN deserialization.</p>
*/
@Override
public int getType() {
return bypassTokenType;
}
/**
* {@inheritDoc}
*
* <p>The implementation for {@link RuleTagToken} always returns 0.</p>
*/
@Override
public int getLine() {
return 0;
}
/**
* {@inheritDoc}
*
* <p>The implementation for {@link RuleTagToken} always returns -1.</p>
*/
@Override
public int getCharPositionInLine() {
return -1;
}
/**
* {@inheritDoc}
*
* <p>The implementation for {@link RuleTagToken} always returns -1.</p>
*/
@Override
public int getTokenIndex() {
return -1;
}
/**
* {@inheritDoc}
*
* <p>The implementation for {@link RuleTagToken} always returns -1.</p>
*/
@Override
public int getStartIndex() {
return -1;
}
/**
* {@inheritDoc}
*
* <p>The implementation for {@link RuleTagToken} always returns -1.</p>
*/
@Override
public int getStopIndex() {
return -1;
}
/**
* {@inheritDoc}
*
* <p>The implementation for {@link RuleTagToken} always returns {@code null}.</p>
*/
@Override
public TokenSource getTokenSource() {
return null;
}
/**
* {@inheritDoc}
*
* <p>The implementation for {@link RuleTagToken} always returns {@code null}.</p>
*/
@Override
public CharStream getInputStream() {
return null;
}
/**
* {@inheritDoc}
*
* <p>The implementation for {@link RuleTagToken} returns a string of the form
* {@code ruleName:bypassTokenType}.</p>
*/
@Override
public String toString() {
return ruleName + ":" + bypassTokenType;
}
}
⏎ org/antlr/v4/runtime/tree/pattern/RuleTagToken.java
Or download all of them as a single archive file:
File name: antlr-runtime-4.10.1-sources.jar File size: 308953 bytes Release date: 2022-04-15 Download
⇐ What Is ANTLR Parser Generator
2018-10-21, ≈74🔥, 0💬
Popular Posts:
JDK 17 jdk.javadoc.jmod is the JMOD file for JDK 17 Java Document tool, which can be invoked by the ...
Jetty provides an HTTP server, HTTP client, and javax.servlet container. These components are open s...
JDK 17 java.security.jgss.jmod is the JMOD file for JDK 17 Security JGSS (Java Generic Security Serv...
Jackson is "the Java JSON library" or "the best JSON parser for Java". Or simply as "JSON for Java"....
Apache BCEL Source Code Files are inside the Apache BCEL source package file like bcel-6.5.0-src.zip...