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

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

?? pythontokenmarker.java

?? jedit中獨立出來的語法高亮組件
?? JAVA
字號:
/* * PythonTokenMarker.java - Python token marker * Copyright (C) 1999 Jonathan Revusky * 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;/** * Python token marker. * * @author Jonathan Revusky * @version $Id: PythonTokenMarker.java,v 1.3 1999/12/14 04:20:35 sp Exp $ */public class PythonTokenMarker extends TokenMarker{	private static final byte TRIPLEQUOTE1 = Token.INTERNAL_FIRST;	private static final byte TRIPLEQUOTE2 = Token.INTERNAL_LAST;	public PythonTokenMarker()	{		this.keywords = getKeywords();	}	public byte markTokensImpl(byte token, Segment line, int lineIndex)	{		char[] array = line.array;		int offset = line.offset;		lastOffset = offset;		lastKeyword = offset;		int length = line.count + offset;		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(backslash)						backslash = false;					else					{						doKeyword(line,i,c);						addToken(i - lastOffset,token);						addToken(length - i,Token.COMMENT1);						lastOffset = lastKeyword = length;						break loop;					}					break;				case '"':					doKeyword(line,i,c);					if(backslash)						backslash = false;					else					{						addToken(i - lastOffset,token);						if(SyntaxUtilities.regionMatches(false,							line,i1,"\"\""))						{							token = TRIPLEQUOTE1;						}						else						{							token = Token.LITERAL1;						}						lastOffset = lastKeyword = i;					}					break;				case '\'':					doKeyword(line,i,c);					if(backslash)						backslash = false;					else					{						addToken(i - lastOffset,token);						if(SyntaxUtilities.regionMatches(false,							line,i1,"''"))						{							token = TRIPLEQUOTE2;						}						else						{							token = Token.LITERAL2;						}						lastOffset = lastKeyword = i;					}					break;				default:					backslash = false;					if(!Character.isLetterOrDigit(c)						&& c != '_')						doKeyword(line,i,c);					break;				}				break;			case Token.LITERAL1:				if(backslash)					backslash = false;				else if(c == '"')				{					addToken(i1 - lastOffset,token);					token = Token.NULL;					lastOffset = lastKeyword = i1;				}				break;			case Token.LITERAL2:				if(backslash)					backslash = false;				else if(c == '\'')				{					addToken(i1 - lastOffset,Token.LITERAL1);					token = Token.NULL;					lastOffset = lastKeyword = i1;				}				break;			case TRIPLEQUOTE1:				if(backslash)					backslash = false;				else if(SyntaxUtilities.regionMatches(false,					line,i,"\"\"\""))				{					addToken((i+=4) - lastOffset,						Token.LITERAL1);					token = Token.NULL;					lastOffset = lastKeyword = i;				}				break;			case TRIPLEQUOTE2:				if(backslash)					backslash = false;				else if(SyntaxUtilities.regionMatches(false,					line,i,"'''"))				{					addToken((i+=4) - lastOffset,						Token.LITERAL1);					token = Token.NULL;					lastOffset = lastKeyword = i;				}				break;			default:				throw new InternalError("Invalid state: "					+ token);			}		}		switch(token)		{			case TRIPLEQUOTE1:			case TRIPLEQUOTE2:				addToken(length - lastOffset,Token.LITERAL1);				break;			case Token.NULL:				doKeyword(line,length,'\0');			default:				addToken(length - lastOffset,token);				break;		}		return token;	}	public static KeywordMap getKeywords()	{		if (pyKeywords == null)		{			pyKeywords = new KeywordMap(false);			pyKeywords.add("and",Token.KEYWORD3);			pyKeywords.add("not",Token.KEYWORD3);			pyKeywords.add("or",Token.KEYWORD3);			pyKeywords.add("if",Token.KEYWORD1);			pyKeywords.add("for",Token.KEYWORD1);			pyKeywords.add("assert",Token.KEYWORD1);			pyKeywords.add("break",Token.KEYWORD1);			pyKeywords.add("continue",Token.KEYWORD1);			pyKeywords.add("elif",Token.KEYWORD1);			pyKeywords.add("else",Token.KEYWORD1);			pyKeywords.add("except",Token.KEYWORD1);			pyKeywords.add("exec",Token.KEYWORD1);			pyKeywords.add("finally",Token.KEYWORD1);			pyKeywords.add("raise",Token.KEYWORD1);			pyKeywords.add("return",Token.KEYWORD1);			pyKeywords.add("try",Token.KEYWORD1);			pyKeywords.add("while",Token.KEYWORD1);			pyKeywords.add("def",Token.KEYWORD2);			pyKeywords.add("class",Token.KEYWORD2);			pyKeywords.add("del",Token.KEYWORD2);			pyKeywords.add("from",Token.KEYWORD2);			pyKeywords.add("global",Token.KEYWORD2);			pyKeywords.add("import",Token.KEYWORD2);			pyKeywords.add("in",Token.KEYWORD2);			pyKeywords.add("is",Token.KEYWORD2);			pyKeywords.add("lambda",Token.KEYWORD2);			pyKeywords.add("pass",Token.KEYWORD2);			pyKeywords.add("print",Token.KEYWORD2);		}		return pyKeywords;	}	// private members	private static KeywordMap pyKeywords;	private KeywordMap keywords;	private int lastOffset;	private int lastKeyword;	private boolean doKeyword(Segment line, int i, char c)	{		int i1 = i+1;		int len = i - lastKeyword;		byte id = keywords.lookup(line,lastKeyword,len);		if(id != Token.NULL)		{			if(lastKeyword != lastOffset)				addToken(lastKeyword - lastOffset,Token.NULL);			addToken(len,id);			lastOffset = i;		}		lastKeyword = i1;		return false;	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区视频| 国产精品久久一卡二卡| 中文字幕亚洲一区二区va在线| 亚洲一区二区视频在线观看| 午夜久久电影网| 7777精品伊人久久久大香线蕉的| 免费人成黄页网站在线一区二区| 国产一区二区三区av电影| 91国在线观看| 国产精品对白交换视频| 国产一区二三区| 日韩美一区二区三区| 亚洲成人综合在线| 99re6这里只有精品视频在线观看| 精品国产自在久精品国产| 亚洲国产一二三| 色综合久久久久综合| 国产精品三级av| 国产呦萝稀缺另类资源| 日韩精品一区二| 捆绑变态av一区二区三区| 欧美日韩国产小视频| 伊人色综合久久天天| 99久久综合99久久综合网站| 久久久久国产精品麻豆ai换脸| 日本不卡中文字幕| 欧美一区2区视频在线观看| 亚洲电影一级黄| 欧美精品亚洲一区二区在线播放| 亚洲综合激情小说| 欧美体内she精高潮| 亚洲一区av在线| 欧美日韩国产电影| 男男视频亚洲欧美| 精品国产污网站| 国产精品自产自拍| 中文字幕不卡在线| 99久久国产免费看| 亚洲激情一二三区| 欧美日韩成人综合| 另类综合日韩欧美亚洲| www国产精品av| 丰满放荡岳乱妇91ww| 国产日产亚洲精品系列| aaa欧美大片| 亚洲国产日韩在线一区模特| 91精品在线麻豆| 国产一区二区导航在线播放| 中文字幕乱码亚洲精品一区 | 成人午夜私人影院| 国产精品国产三级国产三级人妇| 色综合天天天天做夜夜夜夜做| 亚洲天堂av老司机| 制服.丝袜.亚洲.中文.综合| 六月丁香婷婷久久| 亚洲欧洲av一区二区三区久久| 色综合网站在线| 免费在线欧美视频| 国产精品久久久久婷婷二区次| 欧美专区日韩专区| 精彩视频一区二区三区| 亚洲欧美视频在线观看| 欧美丰满嫩嫩电影| 成人国产精品免费网站| 亚洲成a人v欧美综合天堂| 久久久青草青青国产亚洲免观| 成人av高清在线| 男女男精品视频网| 日本va欧美va瓶| 日本一区二区三区视频视频| 欧美丝袜丝交足nylons图片| 激情五月播播久久久精品| 中文字幕一区二区在线播放| 欧美一区在线视频| 成人午夜激情片| 美女一区二区久久| 一区二区三区四区高清精品免费观看 | 久久精品一区八戒影视| 欧美亚洲另类激情小说| 国产mv日韩mv欧美| 蜜桃av一区二区在线观看| 国产精品国产成人国产三级 | 久久影院午夜论| 欧美影片第一页| 大美女一区二区三区| 琪琪久久久久日韩精品| 亚洲一区视频在线观看视频| 国产片一区二区| 欧美一级夜夜爽| 欧美色偷偷大香| 99re免费视频精品全部| 国产不卡视频在线观看| 精品一区精品二区高清| 丝袜a∨在线一区二区三区不卡| |精品福利一区二区三区| 国产午夜精品一区二区| 精品嫩草影院久久| 欧美一区二区网站| 欧洲精品在线观看| 色综合久久久久| 91在线小视频| 99国产精品久久久久| 国产成人三级在线观看| 国产精品一区二区黑丝| 久久99精品视频| 九九国产精品视频| 久久精品国产色蜜蜜麻豆| 日本中文一区二区三区| 亚洲成av人综合在线观看| 亚洲二区视频在线| 亚洲一级二级在线| 亚洲成av人综合在线观看| 一区二区日韩电影| 亚洲图片欧美一区| 亚洲第一成人在线| 日本不卡中文字幕| 另类小说视频一区二区| 久久黄色级2电影| 激情偷乱视频一区二区三区| 久久国产成人午夜av影院| 久久99国产乱子伦精品免费| 国产又粗又猛又爽又黄91精品| 国产一区二区三区高清播放| 高清国产一区二区| av在线不卡免费看| 欧美无人高清视频在线观看| 欧美色图12p| 日韩精品一区二区三区视频| 久久在线免费观看| 综合在线观看色| 亚洲高清视频在线| 精品午夜一区二区三区在线观看 | 99久久久无码国产精品| 91视频国产观看| 欧美日韩国产电影| 精品国产免费久久| 国产精品免费视频一区| 亚洲欧美国产三级| 视频一区国产视频| 国产精品一区二区你懂的| av午夜一区麻豆| 这里是久久伊人| 国产人成一区二区三区影院| 亚洲精品欧美激情| 美女高潮久久久| gogo大胆日本视频一区| 欧美日韩大陆一区二区| 国产亚洲一二三区| 一区2区3区在线看| 激情综合色播激情啊| 91麻豆免费观看| 欧美成人a∨高清免费观看| 中文字幕中文在线不卡住| 亚洲福利电影网| 国产成人精品免费视频网站| 欧美色区777第一页| 国产欧美一区二区精品性色 | 国产一区二三区好的| 日本高清成人免费播放| 亚洲精品在线三区| 亚洲一区二区成人在线观看| 国产黑丝在线一区二区三区| 欧美日韩在线电影| 亚洲国产精品传媒在线观看| 五月天亚洲精品| 91香蕉视频黄| 久久久久亚洲综合| 七七婷婷婷婷精品国产| 91偷拍与自偷拍精品| 久久久久久9999| 蜜桃视频在线观看一区| 色婷婷亚洲综合| 国产精品少妇自拍| 国产在线视视频有精品| 欧美日韩国产综合一区二区三区| 亚洲欧美在线高清| 粉嫩在线一区二区三区视频| 欧美一区二区精品久久911| 亚洲精品日韩综合观看成人91| 成人涩涩免费视频| 久久亚洲精精品中文字幕早川悠里| 亚洲v日本v欧美v久久精品| 99久久99久久免费精品蜜臀| 日本一区二区三区久久久久久久久不 | 欧美日韩国产一级二级| 亚洲视频在线一区观看| 粉嫩一区二区三区性色av| 久久午夜电影网| 精品一区二区三区蜜桃| 日韩三级精品电影久久久 | 成人毛片在线观看| 久久久精品黄色| 激情欧美一区二区| 精品99一区二区| 精品一区在线看| 久久先锋影音av鲁色资源网| 精品一区二区久久久| 欧美电影免费观看完整版| 美女视频免费一区| 欧美电视剧在线看免费|