1 /* 2 * parser.h -- Interface to XBoard move parser 3 * 4 * Copyright 1991 by Digital Equipment Corporation, Maynard, 5 * Massachusetts. 6 * 7 * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006, 8 * 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Free 9 * Software Foundation, Inc. 10 * 11 * Enhancements Copyright 2005 Alessandro Scotti 12 * 13 * The following terms apply to Digital Equipment Corporation's copyright 14 * interest in XBoard: 15 * ------------------------------------------------------------------------ 16 * All Rights Reserved 17 * 18 * Permission to use, copy, modify, and distribute this software and its 19 * documentation for any purpose and without fee is hereby granted, 20 * provided that the above copyright notice appear in all copies and that 21 * both that copyright notice and this permission notice appear in 22 * supporting documentation, and that the name of Digital not be 23 * used in advertising or publicity pertaining to distribution of the 24 * software without specific, written prior permission. 25 * 26 * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 27 * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 28 * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 29 * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 30 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 31 * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 32 * SOFTWARE. 33 * ------------------------------------------------------------------------ 34 * 35 * The following terms apply to the enhanced version of XBoard 36 * distributed by the Free Software Foundation: 37 * ------------------------------------------------------------------------ 38 * 39 * GNU XBoard is free software: you can redistribute it and/or modify 40 * it under the terms of the GNU General Public License as published by 41 * the Free Software Foundation, either version 3 of the License, or (at 42 * your option) any later version. 43 * 44 * GNU XBoard is distributed in the hope that it will be useful, but 45 * WITHOUT ANY WARRANTY; without even the implied warranty of 46 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 47 * General Public License for more details. 48 * 49 * You should have received a copy of the GNU General Public License 50 * along with this program. If not, see http://www.gnu.org/licenses/. * 51 * 52 *------------------------------------------------------------------------ 53 ** See the file ChangeLog for a revision history. */ 54 55 extern void yynewfile P((FILE *f)); 56 extern void yynewstr P((char *s)); 57 extern int Myylex P((void)); // [HGM] yylex now globally invisible, all calls must use wrapper 58 extern ChessMove yylexstr P((int boardIndex, char *s, char *buf, int buflen)); 59 extern char currentMoveString[]; 60 extern int yyboardindex; 61 extern int yyskipmoves; /* If TRUE, all moves are reported as AmbiguousMove 62 instead of being disambiguated. */ 63 extern char *yy_text; /* Needed because yytext can be either a char[] 64 or a (non-constant) char* */ 65 extern int yyoffset P((void)); 66 extern unsigned char initialRights[BOARD_FILES]; 67 extern signed char castlingRank[BOARD_FILES]; 68 69