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

📄 java.scan

📁 linux 下的源代码分析阅读器 red hat公司新版
💻 SCAN
字号:
EXPORT {# include "Position.h"# include "StringM.h"# include "Idents.h"INSERT tScanAttribute}GLOBAL {# include <ctype.h># include "Errors.h"# include "Parser.h"# if HAVE_STDLIB_H | defined _MSC_VER#    include <stdlib.h># endif# include "paf.h"# define HIGHLIGHT if (hl && isalpha (* TokenPtr)) { \	(void) fprintf (hlfp, "%d key %d.%d %d.%d\n", PAF_HIGH, \	Attribute.Position.Line, Attribute.Position.Column - 1, \	Attribute.Position.Line, Attribute.Position.Column + TokenLength - 1); }static	tPosition	StartPosition;INSERT ErrorAttribute}DEFAULT {   if (' ' < * TokenPtr && * TokenPtr <= '~') {      MessageI ("illegal character", xxError, Attribute.Position,	 xxCharacter, TokenPtr);   } else {      char s [5];      (void) sprintf (s, "\\%03d", (unsigned char) * TokenPtr);      MessageI ("illegal character", xxError, Attribute.Position,	 xxString, s);   }}DEFINE   IDENTIFIER	= {A-Za-z_$} {A-Za-z_$0-9} * .   DIGIT	= {0-9} .   HEXDIGIT	= {A-Fa-f0-9} .   OCTDIGIT	= {0-7} .   DECNUMBER	= {1-9} DIGIT * .   HEXNUMBER	= 0 {Xx} HEXDIGIT + .   OCTNUMBER	= 0 OCTDIGIT * .   DECLONG	= DECNUMBER {Ll} .   HEXLONG	= HEXNUMBER {Ll} .   OCTLONG	= OCTNUMBER {Ll} .   EXPONENT	= {Ee} {+\-} ? DIGIT + .   FLOATBASE	= ((DIGIT + \. DIGIT * | DIGIT * \. DIGIT +) EXPONENT ?) | (DIGIT + EXPONENT) .   DOUBLE	= (FLOATBASE {Dd} ?) | (DIGIT + {Dd}) .   FLOAT	= (FLOATBASE | DIGIT +) {Ff} .   UNICODE_CHAR	= \\u HEXDIGIT [4] .   ONECHAR	= - {\\"'} | \\ ANY | \\ OCTDIGIT [1-2] | \\ {0123} ? OCTDIGIT [2] | UNICODE_CHAR .   CHARLITCHAR	= ONECHAR | \" .   CHARACTER	= ' CHARLITCHAR ' .   STRINGCHAR	= ONECHAR | ' .   STRING	= \" STRINGCHAR * \" .START COMMENTRULES#STD# "/*"	: { yyStart (COMMENT); StartPosition = Attribute.Position; }#COMMENT# - {*\n\r} + | "*"	:-{}#COMMENT# "*/"	: { yyPrevious; if (hl) {	(void) fprintf (hlfp, "%d rem %d.%d %d.%d\n", PAF_HIGH,	StartPosition.Line, StartPosition.Column - 1,	Attribute.Position.Line, Attribute.Position.Column + 1); } }#STD# "//" - {\n\r} *	: { if (hl) {	(void) fprintf (hlfp, "%d rem %d.%d %d.%d\n", PAF_HIGH,	Attribute.Position.Line, Attribute.Position.Column - 1,	Attribute.Position.Line, Attribute.Position.Column + TokenLength - 1); } }#STD# \t | \f | \26	:- {}      \r | \r ? \n	:- { yyEol (0); }INSERT RULES #STD# { HIGHLIGHT; }#STD# DECLONG	: { Attribute.LongLiteral.value = atol (TokenPtr);		    return LongLiteral; }#STD# HEXLONG	: { (void) sscanf (TokenPtr, "%li", & Attribute.LongLiteral.value);		    return LongLiteral; }#STD# OCTLONG	: { (void) sscanf (TokenPtr, "%li", & Attribute.LongLiteral.value);		    return LongLiteral; }#STD# DECNUMBER : { Attribute.IntegerLiteral.value = atol (TokenPtr);		    return IntegerLiteral; }#STD# HEXNUMBER : { (void) sscanf (TokenPtr, "%li", & Attribute.IntegerLiteral.value);		    return IntegerLiteral; }#STD# OCTNUMBER : { (void) sscanf (TokenPtr, "%li", & Attribute.IntegerLiteral.value);		    return IntegerLiteral; }#STD# CHARACTER : { Attribute.CharacterLiteral.value = PutString (TokenPtr, TokenLength);		    return CharacterLiteral; }#STD# FLOAT	: { Attribute.FloatingPointLiteral.value = PutString (TokenPtr, TokenLength);		    return FloatingPointLiteral; }#STD# DOUBLE	: { Attribute.DoubleLiteral.value = PutString (TokenPtr, TokenLength);		    return DoubleLiteral; }#STD# STRING	: { Attribute.StringLiteral.value = PutString (TokenPtr, TokenLength);		    return StringLiteral; }#STD# IDENTIFIER: { Attribute.Identifier.ident = MakeIdent (TokenPtr, TokenLength);		    return Identifier; }

⌨️ 快捷键说明

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