/**
* Aptana Studio
* Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the GNU Public License (GPL) v3 (with exceptions).
* Please see the license.html included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
package com.aptana.editor.php.internal.parser;
import java.util.HashMap;
import java.util.Map;
/**
* @author Shalom
*/
@SuppressWarnings("nls")
public class PHTMLTokens
{
public static final short UNKNOWN = -1;
public static final short EOF = 0;
public static final short PHP = 200;
public static final short PHP_END = 201;
public static final short PHP_HEREDOC = 202;
private static final short MAXIMUM = 3;
private static final short OFFSET = 200;
private static final String[] NAMES = { "EOF", "PHP", "PHP_END", "PHP_HEREDOC" };
private static final String NAME_UNKNOWN = "UNKNOWN"; //$NON-NLS-1$
private static Map<String, Short> nameIndexMap;
/**
* @param token
* @return
*/
public static String getTokenName(short token)
{
init();
token -= OFFSET;
if (token < 0 || token > MAXIMUM)
{
return NAME_UNKNOWN;
}
return NAMES[(int)token];
}
public static short getToken(String tokenName)
{
init();
Short token = nameIndexMap.get(tokenName);
return (token == null) ? UNKNOWN : token;
}
private static void init()
{
if (nameIndexMap == null)
{
nameIndexMap = new HashMap<String, Short>();
short index = OFFSET;
for (String name : NAMES)
{
nameIndexMap.put(name, index++);
}
}
}
}