/*******************************************************************************
 * Copyright (c) 2005 BEA Systems and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors:
 *     BEA Systems - initial implementation
 *     
 *******************************************************************************/
/* Generated By:JJTree: Do not edit this line. JSPELParserTreeConstants.java */

package org.eclipse.wst.jsdt.web.core.internal.java.jspel;

public interface JSPELParserTreeConstants {
	public int JJTEXPRESSION = 0;
	public int JJTOREXPRESSION = 1;
	public int JJTANDEXPRESSION = 2;
	public int JJTEQUALITYEXPRESSION = 3;
	public int JJTRELATIONALEXPRESSION = 4;
	public int JJTADDEXPRESSION = 5;
	public int JJTMULTIPLYEXPRESSION = 6;
	public int JJTCHOICEEXPRESSION = 7;
	public int JJTUNARYEXPRESSION = 8;
	public int JJTVALUE = 9;
	public int JJTVALUEPREFIX = 10;
	public int JJTVALUESUFFIX = 11;
	public int JJTFUNCTIONINVOCATION = 12;
	public int JJTLITERAL = 13;

	public String[] jjtNodeName = { "Expression", "OrExpression",
			"AndExpression", "EqualityExpression", "RelationalExpression",
			"AddExpression", "MultiplyExpression", "ChoiceExpression",
			"UnaryExpression", "Value", "ValuePrefix", "ValueSuffix",
			"FunctionInvocation", "Literal", };
}
