blob: 4577c91a6267d88e2b110403000d3291cca807ad [file] [log] [blame]
/**********************************************************************
* Copyright (c) 2006 IBM Corporation.
* 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.ptp.pldt.openmp.analysis.parser;
/**
* Token used in parsing OpenMP pragma line
*
* @author pazel
*/
public class OpenMPToken
{
private int type_ = tUNDEFINED;
private String image_ = "";
private int onset_ = -1;
// for backtracking
private OpenMPToken next_ = null;
/**
* OpenMPToken - constructor
* @param image: String
* @param onset: int
* @param type: int
*/
public OpenMPToken(String image, int onset, int type)
{
image_ = image;
onset_ = onset;
type_ = type;
}
/**
* OpenMPToken - constructor
* @param type: int
* @param onset: int
*/
public OpenMPToken(int type, int onset)
{
type_ = type;
onset_ = onset;
}
public int getType()
{
return type_;
}
public String getImage()
{
return image_;
}
public int getOnset()
{
return onset_;
}
public int getLength()
{
return image_.length();
}
public int getEndOnset()
{
return onset_+getLength()-1;
}
public void setNext(OpenMPToken next)
{
next_ = next;
}
public OpenMPToken getNext()
{
return next_;
}
// Token types
static public final int tUNDEFINED = -1;
static public final int tIDENTIFIER = 1;
static public final int tINTEGER = 2;
static public final int tCOLONCOLON = 3;
static public final int tCOLON = 4;
static public final int tSEMI = 5;
static public final int tCOMMA = 6;
static public final int tQUESTION = 7;
static public final int tLPAREN = 8;
static public final int tRPAREN = 9;
static public final int tLBRACKET = 10;
static public final int tRBRACKET = 11;
static public final int tLBRACE = 12;
static public final int tRBRACE = 13;
static public final int tPLUSASSIGN = 14;
static public final int tINCR = 15;
static public final int tPLUS = 16;
static public final int tMINUSASSIGN = 17;
static public final int tDECR = 18;
static public final int tARROWSTAR = 19;
static public final int tARROW = 20;
static public final int tMINUS = 21;
static public final int tSTARASSIGN = 22;
static public final int tSTAR = 23;
static public final int tMODASSIGN = 24;
static public final int tMOD = 25;
static public final int tXORASSIGN = 26;
static public final int tXOR = 27;
static public final int tAMPERASSIGN = 28;
static public final int tAND = 29;
static public final int tAMPER = 30;
static public final int tBITORASSIGN = 31;
static public final int tOR = 32;
static public final int tBITOR = 33;
static public final int tCOMPL = 34;
static public final int tNOTEQUAL = 35;
static public final int tNOT = 36;
static public final int tEQUAL = 37;
static public final int tASSIGN = 38;
static public final int tSHIFTL = 40;
static public final int tLTEQUAL = 41;
static public final int tLT = 42;
static public final int tSHIFTRASSIGN = 43;
static public final int tSHIFTR = 44;
static public final int tGTEQUAL = 45;
static public final int tGT = 46;
static public final int tSHIFTLASSIGN = 47;
static public final int tELLIPSIS = 48;
static public final int tDOTSTAR = 49;
static public final int tDOT = 50;
static public final int tDIVASSIGN = 51;
static public final int tDIV = 52;
static public final int t_and = 54;
static public final int t_and_eq = 55;
static public final int t_asm = 56;
}