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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pgnparser.java

?? chess 一個beguanyu國際象棋的一個Java源碼
?? JAVA
字號:
// $ANTLR 2.7.1: "pgn.g" -> "PGNParser.java"$package de.java_chess.javaChess.pgn;import antlr.*;import antlr.collections.*;  import de.java_chess.javaChess.notation.*;import antlr.TokenBuffer;import antlr.TokenStreamException;import antlr.TokenStreamIOException;import antlr.ANTLRException;import antlr.LLkParser;import antlr.Token;import antlr.TokenStream;import antlr.RecognitionException;import antlr.NoViableAltException;import antlr.MismatchedTokenException;import antlr.SemanticException;import antlr.ParserSharedInputState;import antlr.collections.impl.BitSet;import antlr.collections.AST;import antlr.ASTPair;import antlr.collections.impl.ASTArray;/** * A parser for PGN (Portable Game Notation) files. */public class PGNParser extends antlr.LLkParser       implements PGNTokenTypes {	/**	 * The current move index.         */	private int _moveIndex;	/**	 * The buffer for the game notation.	 */	private GameNotation _notation;	/**	 * Set a new buffer for the game notation.  	 *	 * @param notation The new notation buffer.	 */	public final void setNotation( GameNotation notation) {	    _notation = notation;	}	/**	 * Get the current notation.	 *	 * @return The current notation.	 */	public final GameNotation getNotation() {	    return _notation;	}	/**	 * A loader to follow the loaded game.	 */	private GameLoader _gameLoader;	/**	 * Get the current game loader.	 *	 * @return The current game loader.	 */	private final GameLoader getGameLoader() {            return _gameLoader;        }	/**	 * Set a new game loader.	 * 	 * @param loader The new game loader.	 */	private final void setGameLoader( GameLoader loader) {	    _gameLoader = loader;	}protected PGNParser(TokenBuffer tokenBuf, int k) {  super(tokenBuf,k);  tokenNames = _tokenNames;}public PGNParser(TokenBuffer tokenBuf) {  this(tokenBuf,2);}protected PGNParser(TokenStream lexer, int k) {  super(lexer,k);  tokenNames = _tokenNames;}public PGNParser(TokenStream lexer) {  this(lexer,2);}public PGNParser(ParserSharedInputState state) {  super(state,2);  tokenNames = _tokenNames;}	public final void pgnGame(		 GameNotation notationBuffer	) throws RecognitionException, TokenStreamException {						setNotation( notationBuffer); 		setGameLoader( new GameLoader());						whiteSpaces();		tagPairSection();		moveTextSection();	}		public final void whiteSpaces() throws RecognitionException, TokenStreamException {						{		_loop29:		do {			if ((LA(1)==WS)) {				match(WS);			}			else {				break _loop29;			}					} while (true);		}	}		public final void tagPairSection() throws RecognitionException, TokenStreamException {						{		_loop4:		do {			if ((LA(1)==LBRACK)) {				tagPair();				whiteSpaces();			}			else {				break _loop4;			}					} while (true);		}	}		public final void moveTextSection() throws RecognitionException, TokenStreamException {						_moveIndex = 0;		{		_loop17:		do {			if ((LA(1)==MOVE_INDEX)) {				move();			}			else {				break _loop17;			}					} while (true);		}		match(GAME_TERMINATOR);	}		public final void tagPair() throws RecognitionException, TokenStreamException {						match(LBRACK);		whiteSpaces();		{		switch ( LA(1)) {		case TAG_EVENT:		{			eventTag();			break;		}		case TAG_SITE:		{			siteTag();			break;		}		case TAG_DATE:		{			dateTag();			break;		}		case TAG_ROUND:		{			roundTag();			break;		}		case TAG_WHITE:		{			whiteTag();			break;		}		case TAG_BLACK:		{			blackTag();			break;		}		case TAG_RESULT:		{			resultTag();			break;		}		case TAG_OPENING:		{			openingTag();			break;		}		default:		{			throw new NoViableAltException(LT(1), getFilename());		}		}		}		whiteSpaces();		match(RBRACK);	}		public final void eventTag() throws RecognitionException, TokenStreamException {						match(TAG_EVENT);		whiteSpaces();		match(STRING_LITERAL);	}		public final void siteTag() throws RecognitionException, TokenStreamException {						match(TAG_SITE);		whiteSpaces();		match(STRING_LITERAL);	}		public final void dateTag() throws RecognitionException, TokenStreamException {						match(TAG_DATE);		whiteSpaces();		match(STRING_LITERAL);	}		public final void roundTag() throws RecognitionException, TokenStreamException {						match(TAG_ROUND);		whiteSpaces();		match(STRING_LITERAL);	}		public final void whiteTag() throws RecognitionException, TokenStreamException {				Token  name = null;				match(TAG_WHITE);		whiteSpaces();		name = LT(1);		match(STRING_LITERAL);		getNotation().setPlayerInfo( name.getText(), true);	}		public final void blackTag() throws RecognitionException, TokenStreamException {				Token  name = null;				match(TAG_BLACK);		whiteSpaces();		name = LT(1);		match(STRING_LITERAL);		getNotation().setPlayerInfo( name.getText(), false);	}		public final void resultTag() throws RecognitionException, TokenStreamException {						match(TAG_RESULT);		whiteSpaces();		match(STRING_LITERAL);	}		public final void openingTag() throws RecognitionException, TokenStreamException {				Token  name = null;				match(TAG_OPENING);		whiteSpaces();		name = LT(1);		match(STRING_LITERAL);		getNotation().setOpeningInfo( name.getText());	}		public final void move() throws RecognitionException, TokenStreamException {				Token  mI = null;		PlyNotation notation = null;				mI = LT(1);		match(MOVE_INDEX);		if (!( ++_moveIndex == Integer.parseInt( mI.getText()) ))		  throw new SemanticException(" ++_moveIndex == Integer.parseInt( mI.getText()) ");		whiteSpaces();		notation=ply();		getNotation().addPly( notation);		whiteSpaces();		notation=ply();		getNotation().addPly( notation);		whiteSpaces();	}		public final PlyNotation  ply() throws RecognitionException, TokenStreamException {		PlyNotation notation = null;				Token  lc = null;		Token  snOrg = null;		Token  snDest = null;		Token  lc2 = null;		PGNPlyFragment plyFragment = new PGNPlyFragment();				{		switch ( LA(1)) {		case FIGURINE_LETTER_CODE:		case SQUARE_NAME:		case PIECE_MOVE:		case PIECE_CAPTURE:		{			{			{			switch ( LA(1)) {			case FIGURINE_LETTER_CODE:			{				lc = LT(1);				match(FIGURINE_LETTER_CODE);				plyFragment.setPieceTypeFromLetter( lc.getText().charAt(0));				break;			}			case SQUARE_NAME:			case PIECE_MOVE:			case PIECE_CAPTURE:			{				break;			}			default:			{				throw new NoViableAltException(LT(1), getFilename());			}			}			}			{			{			switch ( LA(1)) {			case SQUARE_NAME:			{				snOrg = LT(1);				match(SQUARE_NAME);				plyFragment.setOrigin( snOrg.getText());				break;			}			case PIECE_MOVE:			case PIECE_CAPTURE:			{				break;			}			default:			{				throw new NoViableAltException(LT(1), getFilename());			}			}			}			{			switch ( LA(1)) {			case PIECE_MOVE:			{				match(PIECE_MOVE);				plyFragment.setCapture( false);				break;			}			case PIECE_CAPTURE:			{				match(PIECE_CAPTURE);				plyFragment.setCapture( true);				break;			}			default:			{				throw new NoViableAltException(LT(1), getFilename());			}			}			}			snDest = LT(1);			match(SQUARE_NAME);			plyFragment.setDestination( snDest.getText());			}			{			switch ( LA(1)) {			case PAWN_PROMOTION:			{				match(PAWN_PROMOTION);				lc2 = LT(1);				match(FIGURINE_LETTER_CODE);				if (!( ! "P".equals( lc2.getText()) && ! "K".equals( lc2.getText())))				  throw new SemanticException(" ! \"P\".equals( lc2.getText()) && ! \"K\".equals( lc2.getText())");				plyFragment.setPawnPromotion( lc2.getText().charAt(0));				break;			}			case GAME_TERMINATOR:			case MOVE_INDEX:			case FIGURINE_LETTER_CODE:			case SQUARE_NAME:			case PIECE_MOVE:			case PIECE_CAPTURE:			case LEFT_CASTLING:			case RIGHT_CASTLING:			case WS:			{				break;			}			default:			{				throw new NoViableAltException(LT(1), getFilename());			}			}			}			}			break;		}		case LEFT_CASTLING:		{			match(LEFT_CASTLING);			plyFragment.setCastling( true);			break;		}		case RIGHT_CASTLING:		{			match(RIGHT_CASTLING);			plyFragment.setCastling( false);			break;		}		default:		{			throw new NoViableAltException(LT(1), getFilename());		}		}		}		// When we have all the info from the PGN file, we can try to		// create a ply notation from it.			     notation = getGameLoader().completePly( plyFragment);				if (!(notation != null))		  throw new SemanticException("notation != null");		return notation;	}			public static final String[] _tokenNames = {		"<0>",		"EOF",		"<2>",		"NULL_TREE_LOOKAHEAD",		"LBRACK",		"RBRACK",		"TAG_EVENT",		"STRING_LITERAL",		"TAG_SITE",		"TAG_DATE",		"TAG_ROUND",		"TAG_WHITE",		"TAG_BLACK",		"TAG_RESULT",		"TAG_OPENING",		"GAME_TERMINATOR",		"MOVE_INDEX",		"FIGURINE_LETTER_CODE",		"SQUARE_NAME",		"PIECE_MOVE",		"PIECE_CAPTURE",		"PAWN_PROMOTION",		"LEFT_CASTLING",		"RIGHT_CASTLING",		"WS",		"DOT",		"SL_COMMENT"	};			}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品在线免费视频| 欧美二区乱c少妇| 欧美视频在线一区二区三区| 日韩一区二区三区免费观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 视频一区视频二区中文| caoporn国产精品| 日韩欧美国产一区在线观看| 亚洲宅男天堂在线观看无病毒| 韩国女主播一区| 欧美日韩视频在线第一区| 中文字幕+乱码+中文字幕一区| 久久国产免费看| 欧美三区在线观看| 亚洲私人影院在线观看| 国产高清不卡一区二区| 欧美xfplay| 蜜桃视频免费观看一区| 欧美日韩视频一区二区| 亚洲女人的天堂| 国产成人精品亚洲日本在线桃色| 日韩欧美国产wwwww| 日韩激情一二三区| 欧美日本视频在线| 香蕉加勒比综合久久| 91搞黄在线观看| 中文字幕在线不卡| 成av人片一区二区| 中文字幕免费观看一区| 成人综合在线网站| 久久久久国产成人精品亚洲午夜| 久色婷婷小香蕉久久| 欧美一区二区美女| 日本麻豆一区二区三区视频| 欧美另类videos死尸| 亚洲成av人片在线观看无码| 欧美羞羞免费网站| 午夜精品福利一区二区蜜股av| 欧美日韩一区二区在线观看| 日韩精品午夜视频| 欧美成人艳星乳罩| 国产中文字幕精品| 国产日韩欧美亚洲| 成人午夜视频在线| 亚洲狼人国产精品| 欧美久久婷婷综合色| 奇米精品一区二区三区在线观看| 精品理论电影在线| 国产传媒欧美日韩成人| 日韩一区在线看| 欧美在线啊v一区| 蜜臀av一区二区在线免费观看| 欧美不卡视频一区| 国产91精品免费| 亚洲乱码日产精品bd| 在线综合+亚洲+欧美中文字幕| 精品在线播放午夜| 中文字幕佐山爱一区二区免费| 欧美日韩一区二区不卡| 日本美女一区二区| 欧美国产精品一区二区三区| 色播五月激情综合网| 日本系列欧美系列| 国产精品美女www爽爽爽| 在线观看不卡一区| 国精产品一区一区三区mba桃花 | 日本不卡一区二区三区| 日韩欧美区一区二| 91蝌蚪porny九色| 日韩二区在线观看| 国产精品久久久久9999吃药| 欧美日韩在线观看一区二区 | 欧美图区在线视频| 韩国视频一区二区| 亚洲国产精品天堂| 久久精品视频一区二区三区| 色综合久久综合| 国产真实乱对白精彩久久| 亚洲免费av观看| 欧美变态口味重另类| 在线观看网站黄不卡| 国产乱码精品一区二区三区五月婷| 亚洲精品久久7777| 国产清纯白嫩初高生在线观看91| 欧美日韩一区二区不卡| 99久久伊人网影院| 久久福利视频一区二区| 亚洲国产日韩一区二区| 国产精品每日更新| 久久综合九色欧美综合狠狠| 欧美日韩中文精品| 不卡av在线网| 国产乱子轮精品视频| 丝袜美腿亚洲色图| 亚洲午夜精品在线| 亚洲欧美国产毛片在线| 国产天堂亚洲国产碰碰| 精品久久久久久久人人人人传媒| 精品视频资源站| 色综合久久久网| 波多野结衣在线aⅴ中文字幕不卡| 蜜臀久久久久久久| 日韩精品欧美成人高清一区二区| 悠悠色在线精品| 中文字幕一区二区三区av| 日本一区二区不卡视频| 久久蜜桃一区二区| 久久久另类综合| 国产亚洲一本大道中文在线| 精品处破学生在线二十三| 欧美刺激午夜性久久久久久久| 欧美精品高清视频| 欧美精品乱码久久久久久| 欧美日韩不卡一区二区| 欧美久久久久久久久久| 欧美日韩久久一区二区| 欧美日韩精品一二三区| 欧美久久免费观看| 欧美一区二区三区在| 日韩欧美国产精品一区| 精品国产91九色蝌蚪| 精品1区2区在线观看| 精品欧美乱码久久久久久1区2区| 日韩欧美一级精品久久| 久久综合久久综合久久综合| 久久久亚洲精品一区二区三区 | 国产视频一区在线播放| 久久久www免费人成精品| 亚洲国产精品高清| 成人欧美一区二区三区黑人麻豆 | 久久亚洲影视婷婷| 久久网这里都是精品| 久久久久久久久免费| 久久精品网站免费观看| 国产精品黄色在线观看| 亚洲自拍偷拍欧美| 蜜臀av性久久久久av蜜臀妖精| 另类调教123区| 国产盗摄精品一区二区三区在线| 成人的网站免费观看| 91久久一区二区| 欧美一区二区成人| 中文无字幕一区二区三区 | 精品久久久久久久久久久久包黑料 | 蜜乳av一区二区| 国产一区二区不卡老阿姨| 成人在线视频一区二区| 色哟哟一区二区| 欧美一二区视频| 欧美国产97人人爽人人喊| 一区二区国产视频| 久久不见久久见免费视频1| 成人一级黄色片| 欧美欧美欧美欧美| 日本一区二区三区电影| 亚洲国产精品人人做人人爽| 久久69国产一区二区蜜臀| 91年精品国产| 日韩欧美一级特黄在线播放| 亚洲色图欧美在线| 久草热8精品视频在线观看| 色综合天天综合狠狠| 日韩一级视频免费观看在线| 国产精品全国免费观看高清| 日本视频一区二区| 色综合久久天天综合网| 久久久噜噜噜久久人人看 | 色久优优欧美色久优优| 久久综合狠狠综合久久综合88 | 中文字幕一区二区5566日韩| 欧美aaaaa成人免费观看视频| 9l国产精品久久久久麻豆| 欧美mv和日韩mv国产网站| 亚洲国产欧美日韩另类综合| 国产91富婆露脸刺激对白| 欧美一区二区三区在| 亚洲一区影音先锋| 成人黄色国产精品网站大全在线免费观看| 欧美高清视频www夜色资源网| 亚洲天天做日日做天天谢日日欢 | 一区二区不卡在线播放 | 青青草原综合久久大伊人精品优势| 成人av资源站| 久久久久久97三级| 美日韩一级片在线观看| 欧美视频一区二| 亚洲最大成人网4388xx| 91香蕉视频在线| 国产精品卡一卡二| 国产精品1024| 久久久亚洲国产美女国产盗摄 | 国产一区二区三区四区五区美女 | 久久国产精品露脸对白| 欧美一区二区三区男人的天堂| 亚洲卡通欧美制服中文| 99精品国产91久久久久久| 欧美国产日韩一二三区| 国产精品亚洲综合一区在线观看| 久久在线免费观看| 国产一区二区三区电影在线观看 |