/*******************************************************************************
* Copyright (c) 2007 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is 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:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.common.el.internal.core.parser.rule;
/**
*
* @author V. Kabanovich
*
*/
public interface BasicStates {
public int STATE_EXPECTING_EL = 0;
// 1) "#{" --> EXPRESSION
public int STATE_ERROR = -1;
public int STATE_EXPECTING_EXPRESSION = 101;
// 1) "}" --> EL
// 2) NAME --> call
// 3) Primitive, String --> operation
// 4) unary, expr --> operand
// 5) "[" --> array
public int STATE_EXPECTING_NAME = 102;
// 1) NAME --> call
public int STATE_EXPECTING_PARAM = 103;
// 1) ")" --> call after method
// 2) Primitive, String --> operation
// 3) NAME --> call
// 4) unary, expr --> operand
public int STATE_EXPECTING_OPERAND = 104;
// 1) Primitive, String --> operation
// 2) NAME --> call
// 4) unary, expr --> operand
public int STATE_EXPECTING_OPERATION = 400;
// 1) "," --> operand
// 2) ")" --> param: call after method
// expr: operation
// 3) Operation --> operand
// 4) not in param or array "}" --> EL
// 5) "]" --> array: call after method
//For all calls: 1) not in params or array "}" --> EL
// 2) "." --> name
// 3) in params and array "," --> operand
// 4) in params and array OPERATION --> operand
// 5) in params ")" --> call after method
// in expr ")" --> operation
// 6) in array "]" --> call after method
public int STATE_EXPECTING_CALL = 201;
// 5) "(" --> param
// 6) "[" --> arg
public int STATE_EXPECTING_CALL_AFTER_METHOD = 202; //same after arg and array value
public int STATE_EXPECTING_ARG = 301;
// 1) Primitive, String --> arg close
public int STATE_EXPECTING_ARRAY_VALUE = 303;
// 1) "]" --> call after method
// 2) Primitive, String --> operation
// 3) NAME --> call
// 4) unary, expr --> operand
}