alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Other links

The source code

/*
 * ASPVBScriptTokenMarker - Token Marker for VBScript 5 in ASP Pages
 * Copyright (c) 1999 André Kaplan
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

package org.gjt.sp.jedit.syntax;

import javax.swing.text.Segment;

/**
 * ASP VBScript token marker
 * 
 * @author  Andre Kaplan
 * @version 0.6
 */
public class ASPVBScriptTokenMarker
	extends TokenMarker
	implements 
		TokenMarkerWithAddToken,
		MultiModeTokenMarkerWithContext
{
	public ASPVBScriptTokenMarker()
	{
		this.keywords = getKeywords();
		this.standalone = true;
	}

	ASPVBScriptTokenMarker(boolean standalone)
	{
		this.keywords   = getKeywords();
		this.standalone = standalone;
	}


	public void addToken(int length, byte id)
	{
		super.addToken(length, id);
	}

	// **************
	// markTokensImpl
	// **************
	protected byte markTokensImpl(byte token, Segment line, int lineIndex)
	{
		TokenMarkerContext tokenContext = new TokenMarkerContext(line, lineIndex, this, this.lineInfo);
		
		MultiModeToken prevLineToken = MultiModeToken.NULL;

		if (    tokenContext.prevLineInfo != null 
			 && tokenContext.prevLineInfo.obj != null 
			 && tokenContext.prevLineInfo.obj instanceof MultiModeToken
		)
		{
			prevLineToken = (MultiModeToken)tokenContext.prevLineInfo.obj;
		}

		MultiModeToken res = this.markTokensImpl(prevLineToken, tokenContext);

		tokenContext.currLineInfo.obj = res;
		return res.token;
	}

	// **************
	// markTokensImpl
	// **************
	public MultiModeToken markTokensImpl(final MultiModeToken token, TokenMarkerContext tokenContext)
	{
		MultiModeToken res = new MultiModeToken(token);

loop:   for(; tokenContext.hasMoreChars(); )
		{
			char c = tokenContext.getChar();

			switch (res.token)
			{
				// NULL Token
				case Token.NULL:
					if (!this.standalone) {
						if (res.mode == ASPMode.CSVB) {
							if (tokenContext.regionMatches(true, "<%")) {
								this.doKeywordToPos(res, tokenContext);
								// Just return, let parent mode decide what to do next
								return res;
							}
						}
	
						if (res.mode == ASPMode.ASP) {
							if (tokenContext.regionMatches(true, "%>")) {
								this.doKeywordToPos(res, tokenContext);
								// Just return, let parent mode decide what to do next
								return res;
							}
						}
	
						if (res.mode == ASPMode.CSVB || res.mode == ASPMode.SSVB) {
							if (tokenContext.regionMatches(true, "")) {
								this.doKeywordToPos(res, tokenContext);
								// Just return, let parent mode decide what to do next
								return res;
							}
						}
					}

					switch (c)
					{
						// Comments
						case '\'':
							this.doKeywordToPos(res, tokenContext);
							tokenContext.addTokenToPos(res.token);
							tokenContext.addTokenToEnd(Token.COMMENT1);
						break loop;

						// Literals
						case '\"':
							this.doKeywordToPos(res, tokenContext);
							tokenContext.addTokenToPos(res.token);
							res.token = Token.LITERAL1;
						break;

						// Single character operators
						case '<':
						case '>':
						case '=':
						case '+':
						case '-':
						case '*':
						case '/':
						case '\\': // Integer division
						case '^':  // Exponentiation
						case '&':  // String Concatenation
							this.doKeywordToPos(res, tokenContext);
							tokenContext.addTokenToPos(res.token);
							tokenContext.pos++;
							tokenContext.addTokenToPos(Token.OPERATOR);
						continue;

						default:
							if (!Character.isLetterOrDigit(c)
								&& c != '_')
							{
								this.doKeywordToPos(res, tokenContext);
							}
						break;
					}
				break;

				case Token.LITERAL1:
					if (c == '"')
					{
						tokenContext.pos++;
						tokenContext.addTokenToPos(res.token);
						res.token = Token.NULL;
						continue;
					}
				break;

				// Comment (Rem)
				case Token.COMMENT1:
					tokenContext.addTokenToEnd(Token.COMMENT1);
				break loop;

				default:
				break;
			}

			tokenContext.pos++;
		} // END LOOP

		if (res.token == Token.NULL)
		{
			tokenContext.doKeywordToEnd(this.keywords);
		}

		switch (res.token)
		{
			case Token.LITERAL1:
				tokenContext.addTokenToEnd(Token.INVALID);
				res.token = Token.NULL;
			break;

			case Token.COMMENT1:
				tokenContext.addTokenToEnd(Token.COMMENT1);
				res.token = Token.NULL;
			break;

			default:
				tokenContext.addTokenToEnd(res.token);
			break;
		}

		return res;
	}

	private byte doKeywordToPos(MultiModeToken mmt, TokenMarkerContext tokenContext)
	{
		byte id = tokenContext.doKeywordToPos(this.keywords);
		if (id == Token.COMMENT1) {
			mmt.token = Token.COMMENT1;
		}
		return id;
	}

	private KeywordMap keywords;
	private boolean    standalone;

	// Static members
	public static KeywordMap getKeywords()
	{
		if (vbScriptKeywords == null)
		{
			vbScriptKeywords = new KeywordMap(true);
			// Conditional Statements
			vbScriptKeywords.add("if",     Token.KEYWORD1);
			vbScriptKeywords.add("then",   Token.KEYWORD1);
			vbScriptKeywords.add("else",   Token.KEYWORD1);
			vbScriptKeywords.add("elseif", Token.KEYWORD1);
			vbScriptKeywords.add("select", Token.KEYWORD1);
			vbScriptKeywords.add("case",   Token.KEYWORD1);

			// Loop Statements
			// For..Next
			vbScriptKeywords.add("for",  Token.KEYWORD1);
			vbScriptKeywords.add("to",   Token.KEYWORD1);
			vbScriptKeywords.add("step", Token.KEYWORD1);
			vbScriptKeywords.add("next", Token.KEYWORD1);
			// For Each..Next
			vbScriptKeywords.add("each", Token.KEYWORD1);
			vbScriptKeywords.add("in",   Token.KEYWORD1);
			// Do..Loop
			vbScriptKeywords.add("do",    Token.KEYWORD1);
			vbScriptKeywords.add("while", Token.KEYWORD1);
			vbScriptKeywords.add("until", Token.KEYWORD1);
			vbScriptKeywords.add("loop",  Token.KEYWORD1);
			// While..Wend
			vbScriptKeywords.add("wend",  Token.KEYWORD1);

			// Closing, Exit Statements			
			vbScriptKeywords.add("exit", Token.KEYWORD1);
			vbScriptKeywords.add("end",  Token.KEYWORD1);

			// Methods, Functions, Class, Properties, Variables
			vbScriptKeywords.add("function", Token.KEYWORD1);
			vbScriptKeywords.add("sub", Token.KEYWORD1);
			vbScriptKeywords.add("class", Token.KEYWORD1);
			vbScriptKeywords.add("property", Token.KEYWORD1);
			vbScriptKeywords.add("get", Token.KEYWORD1);
			vbScriptKeywords.add("let", Token.KEYWORD1);
			// property set: vbScriptKeywords.add("set", Token.KEYWORD1);

			// Parameters passing
			vbScriptKeywords.add("byval", Token.KEYWORD1);
			vbScriptKeywords.add("byref", Token.KEYWORD1);

			// Declaration
			vbScriptKeywords.add("const",    Token.KEYWORD1);
			vbScriptKeywords.add("dim",      Token.KEYWORD1);
			vbScriptKeywords.add("redim",    Token.KEYWORD1);
			vbScriptKeywords.add("preserve", Token.KEYWORD1);

			// Object Assignement/Instantiation
			vbScriptKeywords.add("set",  Token.KEYWORD1);
			vbScriptKeywords.add("with", Token.KEYWORD1);
			vbScriptKeywords.add("new",  Token.KEYWORD1);

			// Visibility
			vbScriptKeywords.add("public",  Token.KEYWORD1);
			vbScriptKeywords.add("default", Token.KEYWORD1);
			vbScriptKeywords.add("private", Token.KEYWORD1);

			// Comments
			vbScriptKeywords.add("rem", Token.COMMENT1);

			// Function Call - Dynamic Evaluation
			vbScriptKeywords.add("call",    Token.KEYWORD1);
			vbScriptKeywords.add("execute", Token.KEYWORD1);
			vbScriptKeywords.add("eval",    Token.KEYWORD1);

			// Miscellaneous
			vbScriptKeywords.add("on",        Token.KEYWORD1);
			vbScriptKeywords.add("error",     Token.KEYWORD1);
			vbScriptKeywords.add("resume",    Token.KEYWORD1);
			vbScriptKeywords.add("option",    Token.KEYWORD1);
			vbScriptKeywords.add("explicit",  Token.KEYWORD1);
			vbScriptKeywords.add("erase",     Token.KEYWORD1);
			vbScriptKeywords.add("randomize", Token.KEYWORD1);

			// Operators
			// Comparison Operators
			vbScriptKeywords.add("is", Token.OPERATOR);
			// Arihtmetic Operators
			vbScriptKeywords.add("mod", Token.OPERATOR);
			// Logical Operators
			vbScriptKeywords.add("and", Token.OPERATOR);
			vbScriptKeywords.add("or",  Token.OPERATOR);
			vbScriptKeywords.add("not", Token.OPERATOR);
			vbScriptKeywords.add("xor", Token.OPERATOR);
			vbScriptKeywords.add("imp", Token.OPERATOR);

			// Datatypes Constants/Literals
			vbScriptKeywords.add("false",   Token.KEYWORD3);
			vbScriptKeywords.add("true",    Token.KEYWORD3);
			vbScriptKeywords.add("empty",   Token.KEYWORD3);
			vbScriptKeywords.add("nothing", Token.KEYWORD3);
			vbScriptKeywords.add("null",    Token.KEYWORD3);

			// String Constants
			vbScriptKeywords.add("vbcr",          Token.LITERAL2);
			vbScriptKeywords.add("vbcrlf",        Token.LITERAL2);
			vbScriptKeywords.add("vbformfeed",    Token.LITERAL2);
			vbScriptKeywords.add("vblf",          Token.LITERAL2);
			vbScriptKeywords.add("vbnewline",     Token.LITERAL2);
			vbScriptKeywords.add("vbnullchar",    Token.LITERAL2);
			vbScriptKeywords.add("vbnullstring",  Token.LITERAL2);
			vbScriptKeywords.add("vbtab",         Token.LITERAL2);
			vbScriptKeywords.add("vbverticaltab", Token.LITERAL2);
			// VarType Constants
			vbScriptKeywords.add("vbempty",      Token.LITERAL2);
			vbScriptKeywords.add("vbempty",      Token.LITERAL2);
			vbScriptKeywords.add("vbinteger",    Token.LITERAL2);
			vbScriptKeywords.add("vblong",       Token.LITERAL2);
			vbScriptKeywords.add("vbsingle",     Token.LITERAL2);
			vbScriptKeywords.add("vbdouble",     Token.LITERAL2);
			vbScriptKeywords.add("vbcurrency",   Token.LITERAL2);
			vbScriptKeywords.add("vbdate",       Token.LITERAL2);
			vbScriptKeywords.add("vbstring",     Token.LITERAL2);
			vbScriptKeywords.add("vbobject",     Token.LITERAL2);
			vbScriptKeywords.add("vberror",      Token.LITERAL2);
			vbScriptKeywords.add("vbboolean",    Token.LITERAL2);
			vbScriptKeywords.add("vbvariant",    Token.LITERAL2);
			vbScriptKeywords.add("vbdataobject", Token.LITERAL2);
			vbScriptKeywords.add("vbdecimal",    Token.LITERAL2);
			vbScriptKeywords.add("vbbyte",       Token.LITERAL2);
			vbScriptKeywords.add("vbarray",      Token.LITERAL2);

			// Built-in Functions
			// Array Handling
			vbScriptKeywords.add("array", Token.KEYWORD2);
			vbScriptKeywords.add("lbound", Token.KEYWORD2);
			vbScriptKeywords.add("ubound", Token.KEYWORD2);
			// Conversion Functions (Variant)
			vbScriptKeywords.add("cbool", Token.KEYWORD2);
			vbScriptKeywords.add("cbyte", Token.KEYWORD2);
			vbScriptKeywords.add("ccur", Token.KEYWORD2);
			vbScriptKeywords.add("cdate", Token.KEYWORD2);
			vbScriptKeywords.add("cdbl", Token.KEYWORD2);
			vbScriptKeywords.add("cint", Token.KEYWORD2);
			vbScriptKeywords.add("clng", Token.KEYWORD2);
			vbScriptKeywords.add("csng", Token.KEYWORD2);
			vbScriptKeywords.add("cstr", Token.KEYWORD2);
			// Conversion Functions (Radix)
			vbScriptKeywords.add("hex", Token.KEYWORD2);
			vbScriptKeywords.add("oct", Token.KEYWORD2);
			// Date/Time Functions
			vbScriptKeywords.add("date", Token.KEYWORD2);
			vbScriptKeywords.add("time", Token.KEYWORD2);
			vbScriptKeywords.add("dateadd", Token.KEYWORD2);
			vbScriptKeywords.add("datediff", Token.KEYWORD2);
			vbScriptKeywords.add("datepart", Token.KEYWORD2);
			vbScriptKeywords.add("dateserial", Token.KEYWORD2);
			vbScriptKeywords.add("datevalue", Token.KEYWORD2);
			vbScriptKeywords.add("day", Token.KEYWORD2);
			vbScriptKeywords.add("month", Token.KEYWORD2);
			vbScriptKeywords.add("monthname", Token.KEYWORD2);
			vbScriptKeywords.add("weekday", Token.KEYWORD2);
			vbScriptKeywords.add("weekdayname", Token.KEYWORD2);
			vbScriptKeywords.add("year", Token.KEYWORD2);
			vbScriptKeywords.add("hour", Token.KEYWORD2);
			vbScriptKeywords.add("minute", Token.KEYWORD2);
			vbScriptKeywords.add("second", Token.KEYWORD2);
			vbScriptKeywords.add("now", Token.KEYWORD2);
			vbScriptKeywords.add("timeserial", Token.KEYWORD2);
			vbScriptKeywords.add("timevalue", Token.KEYWORD2);
			// Formatting Strings
			vbScriptKeywords.add("formatcurrency", Token.KEYWORD2);
			vbScriptKeywords.add("formatdatetime", Token.KEYWORD2);
			vbScriptKeywords.add("formatnumber", Token.KEYWORD2);
			vbScriptKeywords.add("formatpercent", Token.KEYWORD2);
			// Input/Output
			vbScriptKeywords.add("inputbox", Token.KEYWORD2);
			vbScriptKeywords.add("loadpicture", Token.KEYWORD2);
			vbScriptKeywords.add("msgbox", Token.KEYWORD2);
			// Math Functions
			vbScriptKeywords.add("atn", Token.KEYWORD2);
			vbScriptKeywords.add("cos", Token.KEYWORD2);
			vbScriptKeywords.add("sin", Token.KEYWORD2);
			vbScriptKeywords.add("tan", Token.KEYWORD2);
			vbScriptKeywords.add("exp", Token.KEYWORD2);
			vbScriptKeywords.add("log", Token.KEYWORD2);
			vbScriptKeywords.add("sqr", Token.KEYWORD2);
			vbScriptKeywords.add("rnd", Token.KEYWORD2);
			// Miscellaneous
			vbScriptKeywords.add("rgb", Token.KEYWORD2);
			// COM Objects
			vbScriptKeywords.add("createobject", Token.KEYWORD2);
			vbScriptKeywords.add("getobject", Token.KEYWORD2);
			vbScriptKeywords.add("getref", Token.KEYWORD2);
			// Rounding
			vbScriptKeywords.add("abs", Token.KEYWORD2);
			vbScriptKeywords.add("int", Token.KEYWORD2);
			vbScriptKeywords.add("fix", Token.KEYWORD2);
			vbScriptKeywords.add("round", Token.KEYWORD2);
			vbScriptKeywords.add("sgn", Token.KEYWORD2);
			//  Script Engine ID
			vbScriptKeywords.add("scriptengine", Token.KEYWORD2);
			vbScriptKeywords.add("scriptenginebuildversion", Token.KEYWORD2);
			vbScriptKeywords.add("scriptenginemajorversion", Token.KEYWORD2);
			vbScriptKeywords.add("scriptengineminorversion", Token.KEYWORD2);
			// Strings
			vbScriptKeywords.add("asc", Token.KEYWORD2);
			vbScriptKeywords.add("ascb", Token.KEYWORD2);
			vbScriptKeywords.add("ascw", Token.KEYWORD2);
			vbScriptKeywords.add("chr", Token.KEYWORD2);
			vbScriptKeywords.add("chrb", Token.KEYWORD2);
			vbScriptKeywords.add("chrw", Token.KEYWORD2);
			vbScriptKeywords.add("filter", Token.KEYWORD2);
			vbScriptKeywords.add("instr", Token.KEYWORD2);
			vbScriptKeywords.add("instrb", Token.KEYWORD2);
			vbScriptKeywords.add("instrrev", Token.KEYWORD2);
			vbScriptKeywords.add("join", Token.KEYWORD2);
			vbScriptKeywords.add("len", Token.KEYWORD2);
			vbScriptKeywords.add("lenb", Token.KEYWORD2);
			vbScriptKeywords.add("lcase", Token.KEYWORD2);
			vbScriptKeywords.add("ucase", Token.KEYWORD2);
			vbScriptKeywords.add("left", Token.KEYWORD2);
			vbScriptKeywords.add("leftb", Token.KEYWORD2);
			vbScriptKeywords.add("mid", Token.KEYWORD2);
			vbScriptKeywords.add("midb", Token.KEYWORD2);
			vbScriptKeywords.add("right", Token.KEYWORD2);
			vbScriptKeywords.add("rightb", Token.KEYWORD2);
			vbScriptKeywords.add("replace", Token.KEYWORD2);
			vbScriptKeywords.add("space", Token.KEYWORD2);
			vbScriptKeywords.add("split", Token.KEYWORD2);
			vbScriptKeywords.add("strcomp", Token.KEYWORD2);
			vbScriptKeywords.add("string", Token.KEYWORD2);
			vbScriptKeywords.add("strreverse", Token.KEYWORD2);
			vbScriptKeywords.add("ltrim", Token.KEYWORD2);
			vbScriptKeywords.add("rtrim", Token.KEYWORD2);
			vbScriptKeywords.add("trim", Token.KEYWORD2);
			// Variants
			vbScriptKeywords.add("isarray", Token.KEYWORD2);
			vbScriptKeywords.add("isdate", Token.KEYWORD2);
			vbScriptKeywords.add("isempty", Token.KEYWORD2);
			vbScriptKeywords.add("isnull", Token.KEYWORD2);
			vbScriptKeywords.add("isnumeric", Token.KEYWORD2);
			vbScriptKeywords.add("isobject", Token.KEYWORD2);
			vbScriptKeywords.add("typename", Token.KEYWORD2);
			vbScriptKeywords.add("vartype", Token.KEYWORD2);

			// Uncomment your favorite keywords if you like
			// ADO Constants

			//---- CursorTypeEnum Values ----
			vbScriptKeywords.add("adOpenForwardOnly", Token.LITERAL2);
			vbScriptKeywords.add("adOpenKeyset", Token.LITERAL2);
			vbScriptKeywords.add("adOpenDynamic", Token.LITERAL2);
			vbScriptKeywords.add("adOpenStatic", Token.LITERAL2);
			
			//---- CursorOptionEnum Values ----
			vbScriptKeywords.add("adHoldRecords", Token.LITERAL2);
			vbScriptKeywords.add("adMovePrevious", Token.LITERAL2);
			vbScriptKeywords.add("adAddNew", Token.LITERAL2);
			vbScriptKeywords.add("adDelete", Token.LITERAL2);
			vbScriptKeywords.add("adUpdate", Token.LITERAL2);
			vbScriptKeywords.add("adBookmark", Token.LITERAL2);
			vbScriptKeywords.add("adApproxPosition", Token.LITERAL2);
			vbScriptKeywords.add("adUpdateBatch", Token.LITERAL2);
			vbScriptKeywords.add("adResync", Token.LITERAL2);
			vbScriptKeywords.add("adNotify", Token.LITERAL2);
			vbScriptKeywords.add("adFind", Token.LITERAL2);
			vbScriptKeywords.add("adSeek", Token.LITERAL2);
			vbScriptKeywords.add("adIndex", Token.LITERAL2);
			
			//---- LockTypeEnum Values ----
			vbScriptKeywords.add("adLockReadOnly", Token.LITERAL2);
			vbScriptKeywords.add("adLockPessimistic", Token.LITERAL2);
			vbScriptKeywords.add("adLockOptimistic", Token.LITERAL2);
			vbScriptKeywords.add("adLockBatchOptimistic", Token.LITERAL2);
			
			//---- ExecuteOptionEnum Values ----
			vbScriptKeywords.add("adRunAsync", Token.LITERAL2);
			vbScriptKeywords.add("adAsyncExecute", Token.LITERAL2);
			vbScriptKeywords.add("adAsyncFetch", Token.LITERAL2);
			vbScriptKeywords.add("adAsyncFetchNonBlocking", Token.LITERAL2);
			vbScriptKeywords.add("adExecuteNoRecords", Token.LITERAL2);
			
			//---- ConnectOptionEnum Values ----
			vbScriptKeywords.add("adAsyncConnect", Token.LITERAL2);
			
			//---- ObjectStateEnum Values ----
			vbScriptKeywords.add("adStateClosed", Token.LITERAL2);
			vbScriptKeywords.add("adStateOpen", Token.LITERAL2);
			vbScriptKeywords.add("adStateConnecting", Token.LITERAL2);
			vbScriptKeywords.add("adStateExecuting", Token.LITERAL2);
			vbScriptKeywords.add("adStateFetching", Token.LITERAL2);
			
			//---- CursorLocationEnum Values ----
			vbScriptKeywords.add("adUseServer", Token.LITERAL2);
			vbScriptKeywords.add("adUseClient", Token.LITERAL2);
			
			//---- DataTypeEnum Values ----
			vbScriptKeywords.add("adEmpty", Token.LITERAL2);
			vbScriptKeywords.add("adTinyInt", Token.LITERAL2);
			vbScriptKeywords.add("adSmallInt", Token.LITERAL2);
			vbScriptKeywords.add("adInteger", Token.LITERAL2);
			vbScriptKeywords.add("adBigInt", Token.LITERAL2);
			vbScriptKeywords.add("adUnsignedTinyInt", Token.LITERAL2);
			vbScriptKeywords.add("adUnsignedSmallInt", Token.LITERAL2);
			vbScriptKeywords.add("adUnsignedInt", Token.LITERAL2);
			vbScriptKeywords.add("adUnsignedBigInt", Token.LITERAL2);
			vbScriptKeywords.add("adSingle", Token.LITERAL2);
			vbScriptKeywords.add("adDouble", Token.LITERAL2);
			vbScriptKeywords.add("adCurrency", Token.LITERAL2);
			vbScriptKeywords.add("adDecimal", Token.LITERAL2);
			vbScriptKeywords.add("adNumeric", Token.LITERAL2);
			vbScriptKeywords.add("adBoolean", Token.LITERAL2);
			vbScriptKeywords.add("adError", Token.LITERAL2);
			vbScriptKeywords.add("adUserDefined", Token.LITERAL2);
			vbScriptKeywords.add("adVariant", Token.LITERAL2);
			vbScriptKeywords.add("adIDispatch", Token.LITERAL2);
			vbScriptKeywords.add("adIUnknown", Token.LITERAL2);
			vbScriptKeywords.add("adGUID", Token.LITERAL2);
			vbScriptKeywords.add("adDate", Token.LITERAL2);
			vbScriptKeywords.add("adDBDate", Token.LITERAL2);
			vbScriptKeywords.add("adDBTime", Token.LITERAL2);
			vbScriptKeywords.add("adDBTimeStamp", Token.LITERAL2);
			vbScriptKeywords.add("adBSTR", Token.LITERAL2);
			vbScriptKeywords.add("adChar", Token.LITERAL2);
			vbScriptKeywords.add("adVarChar", Token.LITERAL2);
			vbScriptKeywords.add("adLongVarChar", Token.LITERAL2);
			vbScriptKeywords.add("adWChar", Token.LITERAL2);
			vbScriptKeywords.add("adVarWChar", Token.LITERAL2);
			vbScriptKeywords.add("adLongVarWChar", Token.LITERAL2);
			vbScriptKeywords.add("adBinary", Token.LITERAL2);
			vbScriptKeywords.add("adVarBinary", Token.LITERAL2);
			vbScriptKeywords.add("adLongVarBinary", Token.LITERAL2);
			vbScriptKeywords.add("adChapter", Token.LITERAL2);
			vbScriptKeywords.add("adFileTime", Token.LITERAL2);
			vbScriptKeywords.add("adDBFileTime", Token.LITERAL2);
			vbScriptKeywords.add("adPropVariant", Token.LITERAL2);
			vbScriptKeywords.add("adVarNumeric", Token.LITERAL2);
		}
		return vbScriptKeywords;
	}

	// private members
	private static KeywordMap vbScriptKeywords;
}

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.