亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? perltokenmarker.java

?? jedit中獨立出來的語法高亮組件
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* * PerlTokenMarker.java - Perl token marker * Copyright (C) 1998, 1999 Slava Pestov * * You may use and modify this package for any purpose. Redistribution is * permitted, in both source and binary form, provided that this notice * remains intact in all source distributions of this package. */package org.syntax.jedit.tokenmarker;import org.syntax.jedit.*;import javax.swing.text.Segment;/** * Perl token marker. * * @author Slava Pestov * @version $Id: PerlTokenMarker.java,v 1.11 1999/12/13 03:40:30 sp Exp $ */public class PerlTokenMarker extends TokenMarker{	// public members	public static final byte S_ONE = Token.INTERNAL_FIRST;	public static final byte S_TWO = (byte)(Token.INTERNAL_FIRST + 1);	public static final byte S_END = (byte)(Token.INTERNAL_FIRST + 2);	public PerlTokenMarker()	{		this(getKeywords());	}	public PerlTokenMarker(KeywordMap keywords)	{		this.keywords = keywords;	}	public byte markTokensImpl(byte _token, Segment line, int lineIndex)	{		char[] array = line.array;		int offset = line.offset;		token = _token;		lastOffset = offset;		lastKeyword = offset;		matchChar = '\0';		matchCharBracket = false;		matchSpacesAllowed = false;		int length = line.count + offset;		if(token == Token.LITERAL1 && lineIndex != 0			&& lineInfo[lineIndex - 1].obj != null)		{			String str = (String)lineInfo[lineIndex - 1].obj;			if(str != null && str.length() == line.count				&& SyntaxUtilities.regionMatches(false,line,				offset,str))			{				addToken(line.count,token);				return Token.NULL;			}			else			{				addToken(line.count,token);				lineInfo[lineIndex].obj = str;				return token;			}		}		boolean backslash = false;loop:		for(int i = offset; i < length; i++)		{			int i1 = (i+1);			char c = array[i];			if(c == '\\')			{				backslash = !backslash;				continue;			}			switch(token)			{			case Token.NULL:				switch(c)				{				case '#':					if(doKeyword(line,i,c))						break;					if(backslash)						backslash = false;					else					{						addToken(i - lastOffset,token);						addToken(length - i,Token.COMMENT1);						lastOffset = lastKeyword = length;						break loop;					}					break;				case '=':					backslash = false;					if(i == offset)					{						token = Token.COMMENT2;						addToken(length - i,token);						lastOffset = lastKeyword = length;						break loop;					}					else						doKeyword(line,i,c);					break;				case '$': case '&': case '%': case '@':					backslash = false;					if(doKeyword(line,i,c))						break;					if(length - i > 1)					{						if(c == '&' && (array[i1] == '&'							|| Character.isWhitespace(							array[i1])))							i++;						else						{							addToken(i - lastOffset,token);							lastOffset = lastKeyword = i;							token = Token.KEYWORD2;						}					}					break;				case '"':					if(doKeyword(line,i,c))						break;					if(backslash)						backslash = false;					else					{						addToken(i - lastOffset,token);						token = Token.LITERAL1;						lineInfo[lineIndex].obj = null;						lastOffset = lastKeyword = i;					}					break;				case '\'':					if(backslash)						backslash = false;					else					{						int oldLastKeyword = lastKeyword;						if(doKeyword(line,i,c))							break;						if(i != oldLastKeyword)							break;						addToken(i - lastOffset,token);						token = Token.LITERAL2;						lastOffset = lastKeyword = i;					}					break;				case '`':					if(doKeyword(line,i,c))						break;					if(backslash)						backslash = false;					else					{						addToken(i - lastOffset,token);						token = Token.OPERATOR;						lastOffset = lastKeyword = i;					}					break;				case '<':					if(doKeyword(line,i,c))						break;					if(backslash)						backslash = false;					else					{						if(length - i > 2 && array[i1] == '<'							&& !Character.isWhitespace(array[i+2]))						{							addToken(i - lastOffset,token);							lastOffset = lastKeyword = i;							token = Token.LITERAL1;							int len = length - (i+2);							if(array[length - 1] == ';')								len--;							lineInfo[lineIndex].obj =								createReadinString(array,i + 2,len);						}					}					break;				case ':':					backslash = false;					if(doKeyword(line,i,c))						break;					// Doesn't pick up all labels,					// but at least doesn't mess up					// XXX::YYY					if(lastKeyword != 0)						break;					addToken(i1 - lastOffset,Token.LABEL);					lastOffset = lastKeyword = i1;					break;				case '-':					backslash = false;					if(doKeyword(line,i,c))						break;					if(i != lastKeyword || length - i <= 1)						break;					switch(array[i1])					{					case 'r': case 'w': case 'x':					case 'o': case 'R': case 'W':					case 'X': case 'O': case 'e':					case 'z': case 's': case 'f':					case 'd': case 'l': case 'p':					case 'S': case 'b': case 'c':					case 't': case 'u': case 'g':					case 'k': case 'T': case 'B':					case 'M': case 'A': case 'C':						addToken(i - lastOffset,token);						addToken(2,Token.KEYWORD3);						lastOffset = lastKeyword = i+2;						i++;					}					break;				case '/': case '?':					if(doKeyword(line,i,c))						break;					if(length - i > 1)					{						backslash = false;						char ch = array[i1];						if(Character.isWhitespace(ch))							break;						matchChar = c;						matchSpacesAllowed = false;						addToken(i - lastOffset,token);						token = S_ONE;						lastOffset = lastKeyword = i;					}					break;				default:					backslash = false;					if(!Character.isLetterOrDigit(c)						&& c != '_')						doKeyword(line,i,c);					break;				}				break;			case Token.KEYWORD2:				backslash = false;				// This test checks for an end-of-variable				// condition				if(!Character.isLetterOrDigit(c) && c != '_'					&& c != '#' && c != '\'' && c != ':'					&& c != '&')				{					// If this is the first character					// of the variable name ($'aaa)					// ignore it					if(i != offset && array[i-1] == '$')					{						addToken(i1 - lastOffset,token);						lastOffset = lastKeyword = i1;					}					// Otherwise, end of variable...					else					{						addToken(i - lastOffset,token);						lastOffset = lastKeyword = i;						// Wind back so that stuff						// like $hello$fred is picked						// up						i--;						token = Token.NULL;					}				}				break;			case S_ONE: case S_TWO:				if(backslash)					backslash = false;				else				{					if(matchChar == '\0')					{						if(Character.isWhitespace(matchChar)							&& !matchSpacesAllowed)							break;						else							matchChar = c;					}					else					{						switch(matchChar)						{						case '(':							matchChar = ')';							matchCharBracket = true;							break;						case '[':							matchChar = ']';							matchCharBracket = true;							break;						case '{':							matchChar = '}';							matchCharBracket = true;							break;						case '<':							matchChar = '>';							matchCharBracket = true;							break;						default:							matchCharBracket = false;							break;						}						if(c != matchChar)							break;						if(token == S_TWO)						{							token = S_ONE;							if(matchCharBracket)								matchChar = '\0';						}						else						{							token = S_END;							addToken(i1 - lastOffset,								Token.LITERAL2);							lastOffset = lastKeyword = i1;						}					}				}				break;			case S_END:				backslash = false;				if(!Character.isLetterOrDigit(c)					&& c != '_')					doKeyword(line,i,c);				break;			case Token.COMMENT2:				backslash = false;				if(i == offset)				{					addToken(line.count,token);					if(length - i > 3 && SyntaxUtilities						.regionMatches(false,line,offset,"=cut"))						token = Token.NULL;					lastOffset = lastKeyword = length;					break loop;				}				break;			case Token.LITERAL1:				if(backslash)					backslash = false;				/* else if(c == '$')					backslash = true; */				else if(c == '"')				{					addToken(i1 - lastOffset,token);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99视频精品免费视频| 午夜精品一区二区三区免费视频 | 裸体歌舞表演一区二区| 亚洲美女在线一区| 国产精品传媒入口麻豆| 中文字幕中文字幕一区| 国产精品嫩草99a| 1000精品久久久久久久久| 国产精品素人一区二区| 国产精品美女一区二区在线观看| 中文字幕第一区综合| 国产精品无人区| 亚洲日本欧美天堂| 亚洲国产一区二区三区| 奇米精品一区二区三区在线观看 | 豆国产96在线|亚洲| 丁香婷婷综合色啪| 99视频在线精品| 欧美天堂一区二区三区| 欧美猛男gaygay网站| 日韩精品在线一区二区| 精品国产髙清在线看国产毛片| www精品美女久久久tv| 国产亚洲综合av| 一区二区三区国产| 久久精品久久精品| 高清不卡一区二区在线| 在线观看网站黄不卡| 欧美一区二区在线播放| 日本一区二区高清| 亚洲国产cao| 国产精品白丝jk黑袜喷水| 99在线热播精品免费| 欧美一区中文字幕| 亚洲国产岛国毛片在线| 午夜视频一区二区| 国产精品18久久久久久久网站| 91看片淫黄大片一级在线观看| 制服丝袜激情欧洲亚洲| 国产精品久久网站| 日韩av网站在线观看| 国产成人精品三级麻豆| 欧美欧美欧美欧美| 国产精品美女久久久久久久久| 丝袜亚洲另类丝袜在线| 国产91丝袜在线播放| 欧美一级一区二区| 亚洲精品老司机| 国产传媒久久文化传媒| 欧美高清www午色夜在线视频| 亚洲国产经典视频| 久久精品99国产精品| 欧美性猛交xxxx乱大交退制版 | 精品国产91乱码一区二区三区| 亚洲色图视频免费播放| 国产精品综合在线视频| 91精品国产综合久久福利| 亚洲欧美aⅴ...| 国产精品一区久久久久| 欧美理论电影在线| 亚洲午夜影视影院在线观看| 99视频国产精品| 国产精品女同互慰在线看| 国产精品一区不卡| 久久综合九色综合97婷婷女人| 天天综合天天做天天综合| 91美女片黄在线观看91美女| 国产精品欧美久久久久一区二区 | 成人午夜激情在线| 久久免费的精品国产v∧| 久久精品久久99精品久久| 91精品国产91久久久久久最新毛片 | 91精品国产免费久久综合| 性做久久久久久免费观看| 欧洲国产伦久久久久久久| 亚洲最新视频在线观看| 色综合一区二区三区| 亚洲精品五月天| 色婷婷综合久久久中文字幕| 亚洲欧洲日韩av| 一本大道av一区二区在线播放| 亚洲日本成人在线观看| 91影院在线免费观看| 亚洲精品日韩综合观看成人91| 成人毛片视频在线观看| 亚洲欧洲av一区二区三区久久| 北条麻妃一区二区三区| 亚洲伦理在线免费看| 欧美综合一区二区| 日韩精品亚洲专区| 精品免费国产一区二区三区四区| 精品制服美女丁香| 久久久www成人免费无遮挡大片| 高清不卡一区二区在线| 亚洲丝袜另类动漫二区| 欧美日韩一区 二区 三区 久久精品| 亚洲男人电影天堂| 在线不卡中文字幕播放| 久久av资源网| 国产精品短视频| 欧美综合欧美视频| 精品无码三级在线观看视频| 国产精品入口麻豆九色| 欧美色综合影院| 狠狠色丁香婷婷综合| 18涩涩午夜精品.www| 欧美午夜精品久久久久久孕妇| 丝袜美腿一区二区三区| 国产亚洲精品久| 在线一区二区视频| 韩国av一区二区三区| 亚洲色图.com| 精品国产百合女同互慰| 日本久久精品电影| 精品亚洲成a人| 一个色在线综合| 国产欧美一区二区三区在线老狼| 99久久精品免费看国产| 另类小说图片综合网| 亚洲精品乱码久久久久久黑人| 欧美电影免费观看高清完整版| 成人免费视频视频在线观看免费| 婷婷综合久久一区二区三区| 国产欧美精品一区| 日韩视频一区在线观看| 97精品国产露脸对白| 久久99国产精品久久99 | 色拍拍在线精品视频8848| 蜜桃一区二区三区四区| 亚洲男人电影天堂| 中文成人综合网| 日韩欧美亚洲国产另类| 欧美性大战久久久久久久| 国产高清在线精品| 麻豆成人在线观看| 亚洲电影一区二区| 亚洲精品免费看| 亚洲天天做日日做天天谢日日欢 | 国产婷婷一区二区| 日韩欧美国产综合在线一区二区三区| 91麻豆精东视频| 丁香激情综合五月| 久久se这里有精品| 美女视频一区二区| 日韩一区精品字幕| 亚洲a一区二区| 亚洲午夜精品一区二区三区他趣| 中文字幕av不卡| 国产亚洲欧美色| 国产网红主播福利一区二区| 久久综合av免费| 337p粉嫩大胆噜噜噜噜噜91av| 欧美一区二区三区视频在线观看 | 蜜桃av噜噜一区二区三区小说| 洋洋成人永久网站入口| 亚洲综合一二区| 亚洲曰韩产成在线| 亚洲一区二区三区国产| 一区二区三区在线观看欧美| 亚洲欧美另类综合偷拍| 亚洲精品一卡二卡| 亚洲一区在线看| 日本成人在线一区| 久久精品国产一区二区三区免费看| 奇米影视一区二区三区| 麻豆成人久久精品二区三区红| 国产在线精品一区二区 | 国产精品乱码人人做人人爱| 中文子幕无线码一区tr| 亚洲日穴在线视频| 亚洲高清免费在线| 久久精品99国产精品日本| 国产成人免费av在线| 色综合久久久久综合体| 欧美日韩国产不卡| 久久看人人爽人人| 国产精品久久久久精k8| 一区二区三区中文字幕电影| 亚洲gay无套男同| 国产一区二区在线电影| 99国产精品久久久久久久久久| 欧美在线播放高清精品| 日韩女同互慰一区二区| 日本一区二区三区在线不卡| 樱桃视频在线观看一区| 精品亚洲欧美一区| 色呦呦国产精品| 精品免费99久久| 亚洲精品日日夜夜| 经典三级视频一区| 色综合一区二区| 2023国产精品| 亚洲一二三四久久| 国产a视频精品免费观看| 欧美日韩成人综合天天影院| 久久免费国产精品| 日韩av电影免费观看高清完整版 | 亚洲三级在线播放| 久久精品国产精品亚洲红杏| 色偷偷成人一区二区三区91|