package org.netbeans.editor.ext.q;
import java.util.HashMap;
import java.util.Map;
import org.netbeans.editor.Syntax;
import org.netbeans.editor.TokenID;
public class QSyntax extends Syntax
{
private Map map;
private void initMap()
{
map=new HashMap();
Object o=new Object();
String[] keywords=new String[]
{
"bin","asin","atan","exit","prd","prior","setenv","tan","wj","wj1","wsum","ej","aj0","insert","acos","exp","wavg","avgs","log","sin","cos","sqrt","exec","abs","neg","not","null","floor","string","reciprocal","ceiling","signum","div","mod","xbar","xlog","and","or","each","mmu","lsq","inv","md5","ltime","gtime","count","first","var","dev","med","cov","cor","all","any","rand","sums","prds","mins","maxs","fills","deltas","ratios","differ","prev","next","rank","reverse","iasc","idesc","asc","desc","msum","mcount","mavg","mdev","xrank","mmin","mmax","xprev","rotate","list","distinct","group","where","flip","type","key","til","get","value","attr","cut","set","upsert","raze","union","inter","except","cross","ss","sv","vs","sublist","read0","read1","hopen","hclose","hdel","hsym","hcount","peach","system","ltrim","rtrim","trim","lower","upper","ssr","view","tables","views","cols","xcols","keys","xkey","xcol","xasc","xdesc","fkeys","meta","uj","ij","lj","pj","aj","asof","fby","ungroup","xgroup","plist","enlist","txf","save","load","rsave","rload","show","csv","parse","eval","over","scan","select","from","where","within","update","in","delete","sum","avg","min","max","like","last","by","do","while","if","getenv","xexp"
};
// String [] keywords= Config.getInstance().getQKeywords();
for(int i=0;i<keywords.length;i++)
{
map.put(keywords[i],o);
}
}
public TokenID parseToken()
{
int start=offset;
Entry e=null;
while(offset<stopOffset)
{
int documentPosition=stopPosition-(stopOffset-offset);
char c=buffer[offset++];
// hack to allow comment on first line
if(documentPosition==0)
if((c=='/')||(c=='\\') || (c=='-'))
state=30;
boolean found=false;
for(int i=0;i<entries.length;i++)
{
e=entries[i];
if(e.state==state)
{
for(int j=0;j<e.chars.length;j++)
{
if(e.chars[j]==c)
{
found=true;
break;
}
}
found=found || (e.chars.length==0);
if(found)
{
state=e.nextState;
if((e.action==ACTION_MATCHANDPUTBACK)||(e.action==ACTION_MATCHANDCONSUME))
{
if(e.action==ACTION_MATCHANDPUTBACK)
offset--;
if(e.tokenID==QTokenContext.IDENTIFIER)
if(map.get(new String(buffer,start,offset-start))!=null)
return QTokenContext.KEYWORD;
return e.tokenID;
}
break;
}
}
}
if(!found)
{
state=255;
e=null;
}
}
if(lastBuffer)
{
if(e!=null)
{
if(e.action==ACTION_LOOKSLIKE)
if(e.tokenID==QTokenContext.IDENTIFIER)
if(map.get(new String(buffer,start,offset-start))!=null)
return QTokenContext.KEYWORD;
return e.tokenID;
}
else
return QTokenContext.UNKNOWN;
}
return null;
}
private static final int ACTION_LOOKSLIKE=0;
private static final int ACTION_MATCHANDCONSUME=1;
private static final int ACTION_MATCHANDPUTBACK=2;
public static class Entry
{
int state;
char[] chars;
int nextState;
TokenID tokenID;
int action;
public Entry(int state,char[] c,int nextState,TokenID tokenID,int action)
{
this.state=state;
this.chars=c;
this.nextState=nextState;
this.tokenID=tokenID;
this.action=action;
}
};
static final char[] whitespace=" \n\r\t".toCharArray();
static final char[] brackets="[](){}".toCharArray();
static final char[] operators="|/&^:!+-*%$=~#;@\\.><,?_'".toCharArray();
static final char[] delimiters="` \n\r\t\"|/&^:![](){}+-*%$=~#;@\\.><,?_'".toCharArray();
static final char[] digits="0123456789".toCharArray();
static final char[] a2z="abcdefghijklmnopqrstuvwxyz".toCharArray();
static final char[] A2Z="ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray(); // INIT state is defined as -1
public static final Entry[] entries=new Entry[]
{
new Entry(INIT,"\"".toCharArray(),9,QTokenContext.CHAR_VECTOR,ACTION_LOOKSLIKE),
new Entry(INIT,"`".toCharArray(),8,QTokenContext.SYMBOL,ACTION_LOOKSLIKE),
new Entry(INIT,"\n".toCharArray(),30,QTokenContext.WHITESPACE,ACTION_MATCHANDCONSUME),
new Entry(INIT,"\t ".toCharArray(),5,QTokenContext.WHITESPACE,ACTION_MATCHANDCONSUME),
new Entry(INIT,".".toCharArray(),26,QTokenContext.IDENTIFIER,ACTION_LOOKSLIKE),
new Entry(INIT,"0".toCharArray(),0,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(INIT,"1".toCharArray(),41,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(INIT,"23456789".toCharArray(),40,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(INIT,a2z,7,QTokenContext.IDENTIFIER,ACTION_LOOKSLIKE),
new Entry(INIT,A2Z,7,QTokenContext.IDENTIFIER,ACTION_LOOKSLIKE),
new Entry(INIT,whitespace,13,QTokenContext.WHITESPACE,ACTION_LOOKSLIKE),
// new Entry(INIT,"-".toCharArray(),79,QTokenContext.OPERATOR,ACTION_LOOKSLIKE),
new Entry(INIT,operators,79,QTokenContext.OPERATOR,ACTION_MATCHANDCONSUME),
new Entry(INIT,brackets,81,QTokenContext.OPERATOR,ACTION_MATCHANDCONSUME),
new Entry(0,":".toCharArray(),INIT,QTokenContext.OPERATOR,ACTION_MATCHANDCONSUME),
new Entry(0,"D".toCharArray(),95,QTokenContext.TIMESPAN,ACTION_LOOKSLIKE),
new Entry(0,".".toCharArray(),27,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(0,"i".toCharArray(),24,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(0,"j".toCharArray(),2,QTokenContext.LONG,ACTION_LOOKSLIKE),
new Entry(0,"h".toCharArray(),3,QTokenContext.SHORT,ACTION_LOOKSLIKE),
new Entry(0,"e".toCharArray(),28,QTokenContext.REAL,ACTION_LOOKSLIKE),
new Entry(0,"f".toCharArray(),16,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(0,"b".toCharArray(),17,QTokenContext.BOOLEAN,ACTION_LOOKSLIKE),
new Entry(0,"p".toCharArray(),84,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(0,"t".toCharArray(),18,QTokenContext.TIME,ACTION_LOOKSLIKE),
new Entry(0,"v".toCharArray(),19,QTokenContext.MINUTE,ACTION_LOOKSLIKE),
new Entry(0,"u".toCharArray(),20,QTokenContext.SECOND,ACTION_LOOKSLIKE),
new Entry(0,"wWnN".toCharArray(),1,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(0,"01".toCharArray(),25,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(0,"xX".toCharArray(),14,QTokenContext.BYTE,ACTION_LOOKSLIKE),
new Entry(0,"23456789".toCharArray(),4,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(0,delimiters,INIT,QTokenContext.INTEGER,ACTION_MATCHANDPUTBACK),
new Entry(1,delimiters,INIT,QTokenContext.INTEGER,ACTION_MATCHANDPUTBACK),
new Entry(1,"D".toCharArray(),95,QTokenContext.TIMESPAN,ACTION_LOOKSLIKE),
new Entry(1,"j".toCharArray(),2,QTokenContext.LONG,ACTION_LOOKSLIKE),
new Entry(1,"g".toCharArray(),2,QTokenContext.LONG,ACTION_LOOKSLIKE),
new Entry(1,"h".toCharArray(),3,QTokenContext.SHORT,ACTION_LOOKSLIKE),
new Entry(1,"e".toCharArray(),28,QTokenContext.REAL,ACTION_LOOKSLIKE),
new Entry(1,"f".toCharArray(),16,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(1,"b".toCharArray(),17,QTokenContext.BOOLEAN,ACTION_LOOKSLIKE),
new Entry(1,"t".toCharArray(),18,QTokenContext.TIME,ACTION_LOOKSLIKE),
new Entry(1,"v".toCharArray(),19,QTokenContext.MINUTE,ACTION_LOOKSLIKE),
new Entry(1,"u".toCharArray(),20,QTokenContext.SECOND,ACTION_LOOKSLIKE),
new Entry(1,"d".toCharArray(),21,QTokenContext.DATE,ACTION_LOOKSLIKE),
new Entry(1,"n".toCharArray(),105,QTokenContext.TIMESPAN,ACTION_LOOKSLIKE),
new Entry(1,"p".toCharArray(),84,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(1,"z".toCharArray(),22,QTokenContext.DATETIME,ACTION_LOOKSLIKE),
new Entry(1,"m".toCharArray(),23,QTokenContext.MONTH,ACTION_LOOKSLIKE),
new Entry(2,delimiters,INIT,QTokenContext.LONG,ACTION_MATCHANDPUTBACK),
new Entry(3,delimiters,INIT,QTokenContext.SHORT,ACTION_MATCHANDPUTBACK),
new Entry(4,":".toCharArray(),44,QTokenContext.MINUTE,ACTION_LOOKSLIKE),
new Entry(4,".".toCharArray(),27,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(4,digits,43,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(4,delimiters,INIT,QTokenContext.INTEGER,ACTION_MATCHANDPUTBACK),
new Entry(4,"D".toCharArray(),95,QTokenContext.TIMESPAN,ACTION_LOOKSLIKE),
new Entry(4,"j".toCharArray(),2,QTokenContext.LONG,ACTION_LOOKSLIKE),
new Entry(4,"h".toCharArray(),3,QTokenContext.SHORT,ACTION_LOOKSLIKE),
new Entry(4,"e".toCharArray(),28,QTokenContext.REAL,ACTION_LOOKSLIKE),
new Entry(4,"f".toCharArray(),16,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(4,"t".toCharArray(),18,QTokenContext.TIME,ACTION_LOOKSLIKE),
new Entry(4,"v".toCharArray(),19,QTokenContext.MINUTE,ACTION_LOOKSLIKE),
new Entry(4,"u".toCharArray(),20,QTokenContext.SECOND,ACTION_LOOKSLIKE),
new Entry(4,"p".toCharArray(),84,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(4,"i".toCharArray(),24,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(5,"-".toCharArray(),80,QTokenContext.OPERATOR,ACTION_LOOKSLIKE),
new Entry(5,"/".toCharArray(),6,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(5,"".toCharArray(),INIT,QTokenContext.WHITESPACE,ACTION_MATCHANDPUTBACK),
new Entry(6,"\n".toCharArray(),INIT,QTokenContext.EOL_COMMENT,ACTION_MATCHANDPUTBACK),
new Entry(6,"".toCharArray(),6,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(7,"_.".toCharArray(),7,QTokenContext.IDENTIFIER,ACTION_LOOKSLIKE),
new Entry(7,delimiters,INIT,QTokenContext.IDENTIFIER,ACTION_MATCHANDPUTBACK),
new Entry(7,digits,7,QTokenContext.IDENTIFIER,ACTION_LOOKSLIKE),
new Entry(7,a2z,7,QTokenContext.IDENTIFIER,ACTION_LOOKSLIKE),
new Entry(7,A2Z,7,QTokenContext.IDENTIFIER,ACTION_LOOKSLIKE),
new Entry(8,"/:_.`".toCharArray(),8,QTokenContext.SYMBOL,ACTION_LOOKSLIKE),
new Entry(8,a2z,8,QTokenContext.SYMBOL,ACTION_LOOKSLIKE),
new Entry(8,A2Z,8,QTokenContext.SYMBOL,ACTION_LOOKSLIKE),
new Entry(8,digits,8,QTokenContext.SYMBOL,ACTION_LOOKSLIKE),
new Entry(8,delimiters,INIT,QTokenContext.SYMBOL,ACTION_MATCHANDPUTBACK),
new Entry(9,"\"".toCharArray(),INIT,QTokenContext.CHAR_VECTOR,ACTION_MATCHANDCONSUME),
new Entry(9,"\\".toCharArray(),10,QTokenContext.CHAR_VECTOR,ACTION_LOOKSLIKE),
new Entry(9,"".toCharArray(),9,QTokenContext.CHAR_VECTOR,ACTION_LOOKSLIKE),
new Entry(10,"".toCharArray(),9,QTokenContext.CHAR_VECTOR,ACTION_LOOKSLIKE),
// new Entry(11,"".toCharArray(),INIT,QTokenContext.CHAR_VECTOR,ACTION_MATCHANDPUTBACK),
// new Entry(12,"".toCharArray(),INIT,null,QTokenContext.OPERATOR),
new Entry(13,"".toCharArray(),INIT,QTokenContext.WHITESPACE,ACTION_MATCHANDPUTBACK),
new Entry(14,digits,14,QTokenContext.BYTE,ACTION_LOOKSLIKE),
new Entry(14,"abcdefABCDEF".toCharArray(),14,QTokenContext.BYTE,ACTION_LOOKSLIKE),
new Entry(14,delimiters,INIT,QTokenContext.BYTE,ACTION_MATCHANDPUTBACK),
new Entry(15,delimiters,INIT,QTokenContext.REAL,ACTION_MATCHANDPUTBACK),
new Entry(16,delimiters,INIT,QTokenContext.FLOAT,ACTION_MATCHANDPUTBACK),
new Entry(17,delimiters,INIT,QTokenContext.BOOLEAN,ACTION_MATCHANDPUTBACK),
new Entry(18,delimiters,INIT,QTokenContext.TIME,ACTION_MATCHANDPUTBACK),
new Entry(19,delimiters,INIT,QTokenContext.MINUTE,ACTION_MATCHANDPUTBACK),
new Entry(20,delimiters,INIT,QTokenContext.SECOND,ACTION_MATCHANDPUTBACK),
new Entry(21,delimiters,INIT,QTokenContext.DATE,ACTION_MATCHANDPUTBACK),
new Entry(22,delimiters,INIT,QTokenContext.DATETIME,ACTION_MATCHANDPUTBACK),
new Entry(23,delimiters,INIT,QTokenContext.MONTH,ACTION_MATCHANDPUTBACK),
new Entry(24,delimiters,INIT,QTokenContext.INTEGER,ACTION_MATCHANDPUTBACK),
new Entry(25,":".toCharArray(),44,QTokenContext.MINUTE,ACTION_LOOKSLIKE),
new Entry(25,".".toCharArray(),27,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(25,"01".toCharArray(),25,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(25,"23456789".toCharArray(),43,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(25,delimiters,INIT,QTokenContext.INTEGER,ACTION_MATCHANDPUTBACK),
new Entry(25,"D".toCharArray(),95,QTokenContext.TIMESPAN,ACTION_LOOKSLIKE),
new Entry(25,"j".toCharArray(),2,QTokenContext.LONG,ACTION_LOOKSLIKE),
new Entry(25,"h".toCharArray(),3,QTokenContext.SHORT,ACTION_LOOKSLIKE),
new Entry(25,"e".toCharArray(),15,QTokenContext.REAL,ACTION_LOOKSLIKE),
new Entry(25,"f".toCharArray(),16,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(25,"t".toCharArray(),18,QTokenContext.TIME,ACTION_LOOKSLIKE),
new Entry(25,"v".toCharArray(),19,QTokenContext.MINUTE,ACTION_LOOKSLIKE),
new Entry(25,"u".toCharArray(),20,QTokenContext.SECOND,ACTION_LOOKSLIKE),
new Entry(25,"i".toCharArray(),24,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(25,"b".toCharArray(),17,QTokenContext.BOOLEAN,ACTION_LOOKSLIKE),
new Entry(26,a2z,7,QTokenContext.IDENTIFIER,ACTION_LOOKSLIKE),
new Entry(26,A2Z,7,QTokenContext.IDENTIFIER,ACTION_LOOKSLIKE),
new Entry(26,digits,27,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(26,"".toCharArray(),INIT,QTokenContext.OPERATOR,ACTION_MATCHANDPUTBACK),
new Entry(27,digits,27,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(27,"e".toCharArray(),28,QTokenContext.REAL,ACTION_LOOKSLIKE),
new Entry(27,"p".toCharArray(),84,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(27,".".toCharArray(),255,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(27,delimiters,INIT,QTokenContext.FLOAT,ACTION_MATCHANDPUTBACK),
new Entry(28,digits,29,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(28,"-".toCharArray(),29,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(28,".".toCharArray(),255,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(28,delimiters,INIT,QTokenContext.REAL,ACTION_MATCHANDPUTBACK),
new Entry(29,digits,29,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(29,"f".toCharArray(),82,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(29,".".toCharArray(),255,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(29,delimiters,INIT,QTokenContext.FLOAT,ACTION_MATCHANDPUTBACK),
new Entry(30,"/".toCharArray(),33,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(30,"-".toCharArray(),80,QTokenContext.OPERATOR,ACTION_LOOKSLIKE),
new Entry(30,"\\".toCharArray(),31,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(30,"".toCharArray(),INIT,QTokenContext.WHITESPACE,ACTION_MATCHANDPUTBACK),
new Entry(31,"abcdeflopstuvwxzBCPSTW".toCharArray(),38,QTokenContext.COMMAND,ACTION_LOOKSLIKE),
new Entry(31," \t".toCharArray(),37,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(31,"\n".toCharArray(),32,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(31,"".toCharArray(),39,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(32,"".toCharArray(),32,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(33," \t".toCharArray(),33,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(33,"\n".toCharArray(),34,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(33,"".toCharArray(),6,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(34,"\n".toCharArray(),34,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(34,"\\".toCharArray(),36,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(34,"".toCharArray(),35,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(35,"\n".toCharArray(),34,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(35,"".toCharArray(),35,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(36," \t".toCharArray(),36,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(36,"\n".toCharArray(),INIT,QTokenContext.EOL_COMMENT,ACTION_MATCHANDPUTBACK),
new Entry(36,"".toCharArray(),35,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(37," \t".toCharArray(),37,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(37,"\n".toCharArray(),32,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(37,"".toCharArray(),6,QTokenContext.EOL_COMMENT,ACTION_LOOKSLIKE),
new Entry(38,"\n \t".toCharArray(),INIT,QTokenContext.COMMAND,ACTION_MATCHANDPUTBACK),
new Entry(38,"".toCharArray(),39,QTokenContext.SYSTEM,ACTION_LOOKSLIKE),
new Entry(39,"\n".toCharArray(),INIT,QTokenContext.SYSTEM,ACTION_MATCHANDPUTBACK),
new Entry(39,"".toCharArray(),39,QTokenContext.SYSTEM,ACTION_LOOKSLIKE),
new Entry(40,".".toCharArray(),27,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(40,digits,4,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(40,delimiters,INIT,QTokenContext.INTEGER,ACTION_MATCHANDPUTBACK),
new Entry(40,"D".toCharArray(),95,QTokenContext.TIMESPAN,ACTION_LOOKSLIKE),
new Entry(40,"j".toCharArray(),2,QTokenContext.LONG,ACTION_LOOKSLIKE),
new Entry(40,"h".toCharArray(),3,QTokenContext.SHORT,ACTION_LOOKSLIKE),
new Entry(40,"e".toCharArray(),28,QTokenContext.REAL,ACTION_LOOKSLIKE),
new Entry(40,"f".toCharArray(),16,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(40,"t".toCharArray(),18,QTokenContext.TIME,ACTION_LOOKSLIKE),
new Entry(40,"v".toCharArray(),19,QTokenContext.MINUTE,ACTION_LOOKSLIKE),
new Entry(40,"u".toCharArray(),20,QTokenContext.SECOND,ACTION_LOOKSLIKE),
new Entry(40,"i".toCharArray(),24,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(41,":".toCharArray(),INIT,QTokenContext.OPERATOR,ACTION_MATCHANDCONSUME),
new Entry(41,".".toCharArray(),27,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(41,"01".toCharArray(),42,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(41,"23456789".toCharArray(),4,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(41,delimiters,INIT,QTokenContext.INTEGER,ACTION_MATCHANDPUTBACK),
new Entry(41,"D".toCharArray(),95,QTokenContext.TIMESPAN,ACTION_LOOKSLIKE),
new Entry(41,"j".toCharArray(),2,QTokenContext.LONG,ACTION_LOOKSLIKE),
new Entry(41,"h".toCharArray(),3,QTokenContext.SHORT,ACTION_LOOKSLIKE),
new Entry(41,"e".toCharArray(),28,QTokenContext.REAL,ACTION_LOOKSLIKE),
new Entry(41,"f".toCharArray(),16,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(41,"t".toCharArray(),18,QTokenContext.TIME,ACTION_LOOKSLIKE),
new Entry(41,"v".toCharArray(),19,QTokenContext.MINUTE,ACTION_LOOKSLIKE),
new Entry(41,"u".toCharArray(),20,QTokenContext.SECOND,ACTION_LOOKSLIKE),
new Entry(41,"i".toCharArray(),24,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(41,"p".toCharArray(),84,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(41,"b".toCharArray(),17,QTokenContext.BOOLEAN,ACTION_LOOKSLIKE),
new Entry(42,":".toCharArray(),44,QTokenContext.MINUTE,ACTION_LOOKSLIKE),
new Entry(42,".".toCharArray(),27,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(42,"01".toCharArray(),25,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(42,"23456789".toCharArray(),43,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(42,delimiters,INIT,QTokenContext.INTEGER,ACTION_MATCHANDPUTBACK),
new Entry(42,"D".toCharArray(),95,QTokenContext.TIMESPAN,ACTION_LOOKSLIKE),
new Entry(42,"j".toCharArray(),2,QTokenContext.LONG,ACTION_LOOKSLIKE),
new Entry(42,"h".toCharArray(),3,QTokenContext.SHORT,ACTION_LOOKSLIKE),
new Entry(42,"e".toCharArray(),28,QTokenContext.REAL,ACTION_LOOKSLIKE),
new Entry(42,"f".toCharArray(),16,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(42,"t".toCharArray(),18,QTokenContext.TIME,ACTION_LOOKSLIKE),
new Entry(42,"v".toCharArray(),19,QTokenContext.MINUTE,ACTION_LOOKSLIKE),
new Entry(42,"u".toCharArray(),20,QTokenContext.SECOND,ACTION_LOOKSLIKE),
new Entry(42,"i".toCharArray(),24,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(42,"b".toCharArray(),17,QTokenContext.BOOLEAN,ACTION_LOOKSLIKE),
new Entry(43,".".toCharArray(),27,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(43,digits,54,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(43,delimiters,INIT,QTokenContext.INTEGER,ACTION_MATCHANDPUTBACK),
new Entry(43,"D".toCharArray(),95,QTokenContext.TIMESPAN,ACTION_LOOKSLIKE),
new Entry(43,"j".toCharArray(),2,QTokenContext.LONG,ACTION_LOOKSLIKE),
new Entry(43,"h".toCharArray(),3,QTokenContext.SHORT,ACTION_LOOKSLIKE),
new Entry(43,"e".toCharArray(),28,QTokenContext.REAL,ACTION_LOOKSLIKE),
new Entry(43,"f".toCharArray(),16,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(43,"t".toCharArray(),18,QTokenContext.TIME,ACTION_LOOKSLIKE),
new Entry(43,"v".toCharArray(),19,QTokenContext.MINUTE,ACTION_LOOKSLIKE),
new Entry(43,"p".toCharArray(),84,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(43,"u".toCharArray(),20,QTokenContext.SECOND,ACTION_LOOKSLIKE),
new Entry(43,"i".toCharArray(),24,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(44,digits,45,QTokenContext.MINUTE,ACTION_LOOKSLIKE),
new Entry(45,digits,46,QTokenContext.MINUTE,ACTION_LOOKSLIKE),
new Entry(46,":".toCharArray(),47,QTokenContext.SECOND,ACTION_LOOKSLIKE),
new Entry(46,".".toCharArray(),50,QTokenContext.SECOND,ACTION_LOOKSLIKE),
new Entry(46,delimiters,INIT,QTokenContext.MINUTE,ACTION_MATCHANDPUTBACK),
new Entry(47,digits,48,QTokenContext.SECOND,ACTION_LOOKSLIKE),
new Entry(48,digits,49,QTokenContext.SECOND,ACTION_LOOKSLIKE),
new Entry(49,".".toCharArray(),50,QTokenContext.TIME,ACTION_LOOKSLIKE),
new Entry(49,delimiters,INIT,QTokenContext.SECOND,ACTION_MATCHANDPUTBACK),
new Entry(50,digits,51,QTokenContext.TIME,ACTION_LOOKSLIKE),
new Entry(50,delimiters,INIT,QTokenContext.TIME,ACTION_MATCHANDPUTBACK),
new Entry(51,digits,52,QTokenContext.TIME,ACTION_LOOKSLIKE),
new Entry(51,delimiters,INIT,QTokenContext.TIME,ACTION_MATCHANDPUTBACK),
new Entry(52,digits,53,QTokenContext.TIME,ACTION_LOOKSLIKE),
new Entry(52,delimiters,INIT,QTokenContext.TIME,ACTION_MATCHANDPUTBACK),
new Entry(53,digits,83,QTokenContext.TIMESPAN,ACTION_LOOKSLIKE),
new Entry(53,delimiters,INIT,QTokenContext.TIME,ACTION_MATCHANDPUTBACK),
new Entry(54,".".toCharArray(),58,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(54,digits,57,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(54,delimiters,INIT,QTokenContext.INTEGER,ACTION_MATCHANDPUTBACK),
new Entry(54,"D".toCharArray(),95,QTokenContext.TIMESPAN,ACTION_LOOKSLIKE),
new Entry(54,"j".toCharArray(),2,QTokenContext.LONG,ACTION_LOOKSLIKE),
new Entry(54,"h".toCharArray(),3,QTokenContext.SHORT,ACTION_LOOKSLIKE),
new Entry(54,"e".toCharArray(),28,QTokenContext.REAL,ACTION_LOOKSLIKE),
new Entry(54,"f".toCharArray(),16,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(54,"t".toCharArray(),18,QTokenContext.TIME,ACTION_LOOKSLIKE),
new Entry(54,"v".toCharArray(),19,QTokenContext.MINUTE,ACTION_LOOKSLIKE),
new Entry(54,"u".toCharArray(),20,QTokenContext.SECOND,ACTION_LOOKSLIKE),
new Entry(54,"p".toCharArray(),84,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(54,"i".toCharArray(),24,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(57,".".toCharArray(),27,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(57,digits,57,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(57,delimiters,INIT,QTokenContext.INTEGER,ACTION_MATCHANDPUTBACK),
new Entry(57,"D".toCharArray(),95,QTokenContext.TIMESPAN,ACTION_LOOKSLIKE),
new Entry(57,"j".toCharArray(),2,QTokenContext.LONG,ACTION_LOOKSLIKE),
new Entry(57,"h".toCharArray(),3,QTokenContext.SHORT,ACTION_LOOKSLIKE),
new Entry(57,"e".toCharArray(),28,QTokenContext.REAL,ACTION_LOOKSLIKE),
new Entry(57,"f".toCharArray(),16,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(57,"t".toCharArray(),18,QTokenContext.TIME,ACTION_LOOKSLIKE),
new Entry(57,"v".toCharArray(),19,QTokenContext.MINUTE,ACTION_LOOKSLIKE),
new Entry(57,"u".toCharArray(),20,QTokenContext.SECOND,ACTION_LOOKSLIKE),
new Entry(57,"p".toCharArray(),84,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(57,"i".toCharArray(),24,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(58,digits,59,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(58,"e".toCharArray(),28,QTokenContext.REAL,ACTION_LOOKSLIKE),
new Entry(58,".".toCharArray(),255,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(58,delimiters,INIT,QTokenContext.FLOAT,ACTION_MATCHANDPUTBACK),
new Entry(59,digits,60,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(59,"e".toCharArray(),28,QTokenContext.REAL,ACTION_LOOKSLIKE),
new Entry(59,".".toCharArray(),255,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(59,delimiters,INIT,QTokenContext.FLOAT,ACTION_MATCHANDPUTBACK),
new Entry(60,digits,27,QTokenContext.FLOAT,ACTION_LOOKSLIKE),
new Entry(60,"e".toCharArray(),28,QTokenContext.REAL,ACTION_LOOKSLIKE),
new Entry(60,"m".toCharArray(),61,QTokenContext.MONTH,ACTION_LOOKSLIKE),
new Entry(60,".".toCharArray(),62,QTokenContext.DATE,ACTION_LOOKSLIKE),
new Entry(60,delimiters,INIT,QTokenContext.FLOAT,ACTION_MATCHANDPUTBACK),
new Entry(61,delimiters,INIT,QTokenContext.MONTH,ACTION_MATCHANDPUTBACK),
new Entry(62,digits,63,QTokenContext.DATE,ACTION_LOOKSLIKE),
new Entry(63,digits,64,QTokenContext.DATE,ACTION_LOOKSLIKE),
new Entry(64,"T".toCharArray(),65,QTokenContext.DATETIME,ACTION_LOOKSLIKE),
new Entry(64,"D".toCharArray(),85,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(64,".".toCharArray(),255,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(64,delimiters,INIT,QTokenContext.DATE,ACTION_MATCHANDPUTBACK),
new Entry(65,digits,66,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(66,digits,67,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(67,":".toCharArray(),68,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(68,digits,69,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(69,digits,70,QTokenContext.DATETIME,ACTION_LOOKSLIKE),
new Entry(70,":".toCharArray(),71,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(70,delimiters,INIT,QTokenContext.DATETIME,ACTION_MATCHANDPUTBACK),
new Entry(71,digits,72,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(72,digits,73,QTokenContext.DATETIME,ACTION_LOOKSLIKE),
new Entry(73,".".toCharArray(),74,QTokenContext.DATETIME,ACTION_LOOKSLIKE),
new Entry(73,delimiters,INIT,QTokenContext.DATETIME,ACTION_MATCHANDPUTBACK),
new Entry(74,digits,74,QTokenContext.DATETIME,ACTION_LOOKSLIKE),
new Entry(74,delimiters,INIT,QTokenContext.DATETIME,ACTION_MATCHANDPUTBACK),
new Entry(79,"-".toCharArray(),80,QTokenContext.OPERATOR,ACTION_LOOKSLIKE),
new Entry(79,"".toCharArray(),INIT,QTokenContext.OPERATOR,ACTION_MATCHANDPUTBACK),
new Entry(80,digits,57,QTokenContext.INTEGER,ACTION_LOOKSLIKE),
new Entry(80,"".toCharArray(),INIT,QTokenContext.OPERATOR,ACTION_MATCHANDPUTBACK),
new Entry(81,"-".toCharArray(),80,QTokenContext.OPERATOR,ACTION_LOOKSLIKE),
new Entry(81,"".toCharArray(),INIT,QTokenContext.OPERATOR,ACTION_MATCHANDPUTBACK),
new Entry(82,".".toCharArray(),255,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(82,delimiters,INIT,QTokenContext.FLOAT,ACTION_MATCHANDPUTBACK),
new Entry(83,digits,83,QTokenContext.TIMESPAN,ACTION_LOOKSLIKE),
new Entry(83,delimiters,INIT,QTokenContext.TIMESPAN,ACTION_MATCHANDPUTBACK),
new Entry(84,delimiters,INIT,QTokenContext.TIMESTAMP,ACTION_MATCHANDPUTBACK),
new Entry(85,digits,86,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(85,delimiters,INIT,QTokenContext.TIMESPAN,ACTION_MATCHANDPUTBACK),
new Entry(86,digits,87,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(86,delimiters,INIT,QTokenContext.TIMESPAN,ACTION_MATCHANDPUTBACK),
new Entry(87,":".toCharArray(),88,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(87,delimiters,INIT,QTokenContext.TIMESPAN,ACTION_MATCHANDPUTBACK),
new Entry(88,digits,89,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(89,digits,90,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(90,":".toCharArray(),91,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(90,delimiters,INIT,QTokenContext.TIMESTAMP,ACTION_MATCHANDPUTBACK),
new Entry(91,digits,92,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(92,digits,93,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(93,".".toCharArray(),94,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(93,delimiters,INIT,QTokenContext.TIMESTAMP,ACTION_MATCHANDPUTBACK),
new Entry(94,digits,94,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(94,delimiters,INIT,QTokenContext.TIMESTAMP,ACTION_MATCHANDPUTBACK),
new Entry(95,digits,96,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(95,delimiters,INIT,QTokenContext.TIMESPAN,ACTION_MATCHANDPUTBACK),
new Entry(96,digits,97,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(96,delimiters,INIT,QTokenContext.TIMESPAN,ACTION_MATCHANDPUTBACK),
new Entry(97,":".toCharArray(),98,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(97,delimiters,INIT,QTokenContext.TIMESPAN,ACTION_MATCHANDPUTBACK),
new Entry(98,digits,99,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(99,digits,100,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(100,":".toCharArray(),101,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(100,delimiters,INIT,QTokenContext.TIMESTAMP,ACTION_MATCHANDPUTBACK),
new Entry(101,digits,102,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE),
new Entry(102,digits,103,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(103,".".toCharArray(),104,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(103,delimiters,INIT,QTokenContext.TIMESTAMP,ACTION_MATCHANDPUTBACK),
new Entry(104,digits,104,QTokenContext.TIMESTAMP,ACTION_LOOKSLIKE),
new Entry(104,delimiters,INIT,QTokenContext.TIMESTAMP,ACTION_MATCHANDPUTBACK),
new Entry(105,delimiters,INIT,QTokenContext.TIMESPAN,ACTION_MATCHANDPUTBACK),
new Entry(255,delimiters,INIT,QTokenContext.UNKNOWN,ACTION_MATCHANDPUTBACK),
new Entry(255,"".toCharArray(),255,QTokenContext.UNKNOWN,ACTION_LOOKSLIKE)
};
public QSyntax()
{
initMap();
tokenContextPath=QTokenContext.contextPath;
}
}