⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rulerefelement.java

📁 SRI international 发布的OAA框架软件
💻 JAVA
字号:
package antlr_oaa;

/* ANTLR Translator Generator
 * Project led by Terence Parr at http://www.jGuru.com
 * Software rights: http://www.antlr.org/RIGHTS.html
 *
 * $Id: RuleRefElement.java,v 1.1 2002/11/08 17:37:45 agno Exp $
 */

class RuleRefElement extends AlternativeElement {
	protected String targetRule; // which rule is being called?
	protected String args=null;		 // were any args passed to rule?
	protected String idAssign=null;	 // is the return type assigned to a variable?
	protected String label;


	public RuleRefElement(Grammar g, Token t, int autoGenType_) {
		super(g, autoGenType_);
		targetRule = t.getText();
		//		if ( Character.isUpperCase(targetRule.charAt(0)) ) { // lexer rule?
		if ( t.type == ANTLRTokenTypes.TOKEN_REF ) { // lexer rule?
			targetRule = CodeGenerator.lexerRuleName(targetRule);
		}
		line = t.getLine();
	}

	public RuleRefElement(Grammar g, String t, int line, int autoGenType_) {
		super(g, autoGenType_);
		targetRule = t;
		if ( Character.isUpperCase(targetRule.charAt(0)) ) { // lexer rule?
			targetRule = CodeGenerator.lexerRuleName(targetRule);
		}
		this.line = line;
	}

	public void generate() {
		grammar.generator.gen(this);
	}
	public String getArgs() {
		return args;
	}
	public String getIdAssign() {
		return idAssign;
	}
	public String getLabel() { 
		return label; 
	}
	public Lookahead look(int k) {
		return grammar.theLLkAnalyzer.look(k, this);
	}
	public void setArgs(String a) {
		args = a;
	}
	public void setIdAssign(String id) {
		idAssign = id;
	}
	public void setLabel(String label_) { 
		label = label_; 
	}
	public String toString() {
		if ( args!=null ) return " "+targetRule+args;
		else return " "+targetRule;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -