コード例 #1
0
        private void ReportError1()
        {
            StringBuilder errorMsg = new StringBuilder();

            errorMsg.AppendFormat("Syntax error, unexpected {0}", TerminalToString(NextToken));

            if (FsaState.ParserTable.Count < 7)
            {
                bool first = true;
                foreach (int terminal in FsaState.ParserTable.Keys)
                {
                    if (first)
                    {
                        errorMsg.Append(", expecting ");
                    }
                    else
                    {
                        errorMsg.Append(", or ");
                    }

                    errorMsg.Append(TerminalToString(terminal));
                    first = false;
                }
            }
            scanner.yyerror(errorMsg.ToString());
        }
コード例 #2
0
        private void ReportError()
        {
            StringBuilder errorMsg = new StringBuilder();

            errorMsg.AppendFormat("Syntax Error", Environment.NewLine);

            /*
             * errorMsg.AppendFormat( "Syntax error, unexpected {0}", TerminalToString( NextToken ) );
             *
             * if (FsaState.ParserTable.Count < 7) {
             *  bool first = true;
             *  foreach (int terminal in FsaState.ParserTable.Keys) {
             *      if (first)
             *          errorMsg.Append( ", expecting " );
             *      else
             *          errorMsg.Append( ", or " );
             *
             *      errorMsg.Append( TerminalToString( terminal ) );
             *      first = false;
             *  }
             * }
             */
            scanner.yyerror(errorMsg.ToString());
        }