%{\r
/*\r
* parser.l -- lex parser of algebraic chess moves for XBoard\r
- * $Id: parser.l,v 2.1 2003/10/27 19:21:00 mann Exp $\r
*\r
* Copyright 1991 by Digital Equipment Corporation, Maynard,\r
- * Massachusetts. Enhancements Copyright\r
- * 1992-2001,2002,2003,2004,2005,2006,2007,2008,2009 Free Software\r
- * Foundation, Inc.\r
+ * Massachusetts.\r
+ *\r
+ * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005,\r
+ * 2006, 2007, 2008, 2009 Free Software Foundation, Inc.\r
*\r
* The following terms apply to Digital Equipment Corporation's copyright\r
* interest in XBoard:\r
ff = initialRights[5];\r
ft = initialRights[4];\r
}\r
- fprintf(debugFP, "Parser FRC long %d %d\n", ff, ft);\r
+ if (appData.debugMode) \r
+ {\r
+ fprintf(debugFP, "Parser FRC long %d %d\n", ff, ft);\r
+ };\r
if(ff < 0 || ft < 0) return 0;\r
}\r
sprintf(currentMoveString, "%c%c%c%c",ff+AAA,rf+ONE,ft+AAA,rt+ONE);\r
return (int) Comment; \r
}\r
\r
-\([^()]*(\([^()]*\)[^()]*)+[^()]*\) { /* nested () */\r
+\([^()]*(\([^()]*(\([^()]*(\([^()]*\)[^()]*)*\)[^()]*)*\)[^()]*)+[^()]*\) { /* very nested () */\r
return (int) Comment; \r
}\r
\r
static void output(ch)\r
int ch;\r
{\r
- fprintf(stderr, "PARSER BUG: unmatched character '%c' (0%o)\n",\r
+ if(appData.debugMode) fprintf(debugFP, "PARSER BUG: unmatched character '%c' (0%o)\n",\r
ch, ch);\r
}\r
\r
StringToLex--;\r
} else {\r
if (unputCount >= UNPUT_BUF_SIZE)\r
- fprintf(stderr, "PARSER BUG: unput buffer overflow '%c' (0%o)\n",\r
+ if(appData.debugMode) fprintf(debugFP, "PARSER BUG: unput buffer overflow '%c' (0%o)\n",\r
ch, ch);\r
unputBuffer[unputCount++] = ch;\r
}\r