⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sastokenmaker.flex

📁 具有不同语法高亮的编辑器实例
💻 FLEX
📖 第 1 页 / 共 2 页
字号:
<YYINITIAL> "goto"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "grid"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "group"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "groupby"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "groupformat"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "having"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "haxis"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "hbar"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "heading"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "high"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "html"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "id"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "if"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "infile"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "informat"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "inner"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "input"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "insert"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "intersect"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "keep"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "keylabel"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "label"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "lable"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "legend"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "length"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "libname"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "lineqs"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "link"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "list"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "listing"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "log"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "lostcard"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "low"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "mark"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "matings"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "mean"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "merge"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "missing"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "missover"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "mod"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "model"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "modify"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "n"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "nocell"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "nocharacters"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "nodupkey"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "noexpandtabs"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "noframe"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "noheading"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "noinput"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "nolegend"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "nopad"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "noprint"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "nosharebuffers"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "not"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "note"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "notitle"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "notitles"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "notsorted"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "ods"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "old"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "option"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "or"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "order"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "orderby"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "other"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "otherwise"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "outer"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "output"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "over"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "overlay"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "overprint"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "pad"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "pageby"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "pagesize"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "parmcards"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "parmcards4"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "parms"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "pattern"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "pct"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "pctn"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "pctsum"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "picture"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "pie"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "pie3d"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "plotter"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "predict"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "prefix"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "printer"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "proc"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "ps"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "put"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "quit"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "random"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "range"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "remove"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "rename"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "response"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "replace"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "reset"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "retain"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "return"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "rsubmit"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "run"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "s2"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "select"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "set"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "sharebuffers"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "signoff"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "signon"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "sim"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "skip"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "source2"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "startsas"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "std"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "stop"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "stopover"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "strata"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "sum"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "sumby"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "supvar"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "symbol"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "table"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "tables"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "tape"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "terminal"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "test"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "then"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "time"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "title"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "to"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "transform"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "treatments"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "truncover"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "unbuf"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "unbuffered"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "union"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "until"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "update"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "validate"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "value"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "var"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "variables"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "vaxis"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "vbar"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "weight"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "when"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "where"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "while"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "with"						{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "window"					{ addToken(Token.RESERVED_WORD); }
<YYINITIAL> "x"						{ addToken(Token.RESERVED_WORD); }

/* Base SAS procs. */
<YYINITIAL> "append"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "calendar"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "catalog"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "chart"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "cimport"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "compare"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "contents"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "copy"				{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "cpm"				{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "cport"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "datasets"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "display"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "explode"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "export"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "fontreg"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "format"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "forms"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "fslist"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "import"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "means"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "migrate"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "options"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "optload"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "optsave"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "plot"				{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "pmenu"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "print"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "printto"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "proto"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "prtdef"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "prtexp"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "pwencode"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "rank"				{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "registry"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "report"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "sort"				{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "sql"				{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "standard"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "summary"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "tabulate"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "template"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "timeplot"			{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "transpose"			{ addToken(Token.DATA_TYPE); }

/* SAS/STAT procs. */
<YYINITIAL> "corr"				{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "freq"				{ addToken(Token.DATA_TYPE); }
<YYINITIAL> "univariate"		{ addToken(Token.DATA_TYPE); }

/* Macros. */
<YYINITIAL> "%abort"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%bquote"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%by"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%cms"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%copy"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%display"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%do"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%else"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%end"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%eval"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%global"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%go"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%goto"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%if"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%inc"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%include"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%index"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%input"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%keydef"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%length"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%let"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%local"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%macro"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%mend"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%nrbquote"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%nrquote"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%nrstr"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%put"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%qscan"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%qsubstr"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%qsysfunc"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%quote"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%qupcase"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%scan"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%str"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%substr"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%superq"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%syscall"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%sysevalf"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%sysexec"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%sysfunc"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%sysget"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%sysprod"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%sysrput"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%then"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%to"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%tso"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%unquote"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%until"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%upcase"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%while"			{ addToken(Token.FUNCTION); }
<YYINITIAL> "%window"			{ addToken(Token.FUNCTION); }

<YYINITIAL> {

	{LineTerminator}				{ addNullToken(); return firstToken; }

	/* Comments. */
	/* Do comments before operators as "*" can signify a line comment as */
	/* well as an operator. */
	^[ \t]*{LineCommentBegin}		{
									// We must do this because of how we
									// abuse JFlex; since we return an entire
									// list of tokens at once instead of a
									// single token at a time, the "^" regex
									// character doesn't really work, so we must
									// check that we're at the beginning of a
									// line ourselves.
									start = zzStartRead;
									// Might not be any whitespace.
									if (yylength()>1) {
										addToken(zzStartRead,zzMarkedPos-2, Token.WHITESPACE);
										zzStartRead = zzMarkedPos-1;
									}
									// Remember:  zzStartRead may now be updated,
									// so we must check against 'start'.
									if (start==s.offset) {
										addToken(zzStartRead,zzEndRead, Token.COMMENT_EOL);
										addNullToken();
										return firstToken;
									}
									else {
										addToken(zzStartRead,zzStartRead, Token.OPERATOR);
									}
								}
	{MLCBegin}					{ start = zzMarkedPos-2; yybegin(MLC); }

	/* Do operators before identifiers since some of them are words. */
	{Operator}					{ addToken(Token.OPERATOR); }
	{Separator}					{ addToken(Token.SEPARATOR); }

	{Identifier}					{ addToken(Token.IDENTIFIER); }
	{MacroVariable}				{ addToken(Token.VARIABLE); }
	{Semicolon}					{ addToken(Token.IDENTIFIER); }

	{Whitespace}					{ addToken(Token.WHITESPACE); }

	{StringBoundary}				{ start = zzMarkedPos-1; yybegin(STRING); }
	{CharBoundary}					{ start = zzMarkedPos-1; yybegin(CHAR); }

	<<EOF>>						{ addNullToken(); return firstToken; }

	/* Catch any other (unhandled) characters and flag them as OK;    */
	/* This will include "." from statements like "from lib.dataset". */
	.							{ addToken(Token.IDENTIFIER); }

}

<STRING> {

	[^\n\"]+						{}
	{LineTerminator}				{ addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; }
/*	{StringBoundary}{StringBoundary}	{} */
	{StringBoundary}				{ yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); }
	<<EOF>>						{ addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; }

}

<CHAR> {

	[^\n\']+						{}
	{LineTerminator}				{ yybegin(YYINITIAL); addToken(start,zzStartRead-1, Token.LITERAL_CHAR); return firstToken; }
/*	{CharBoundary}{CharBoundary}		{} */
	{CharBoundary}					{ yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_CHAR); }
	<<EOF>>						{ addToken(start,zzStartRead-1, Token.LITERAL_CHAR); return firstToken; }

}

<MLC> {

	[^\n\*]+						{}
	{LineTerminator}				{ addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; }
	{MLCEnd}						{ yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); }
	\*							{}
	<<EOF>>						{ addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -