コード例 #1
0
    } // ListingShape

    public static void GenerateListing(TextReader src, TextWriter lst,
                                       ListingShape listShape)
    {
        //-----------------------------------|----------------------------------------
        ErrorWarn eow = null;
        int       lnr, skip;
        String    srcLine;

        ((StreamReader)src).BaseStream.Seek(0, SeekOrigin.Begin);

        eow = eowl;
        if (eow != null)
        {
            while (eow != null && eow.info.line < 1)
            {
                PutMsg(lst, eow);
                eow = eow.next;
            } // while
            lst.WriteLine();
        }     // if
        lnr = 1;
        for (; ;)
        {
            if (listShape == ListingShape.shortListing)
            {
                if (eow == null)
                {
                    lst.WriteLine("...");
                    break;
                } // if
                skip = eow.info.line - lnr;
                if (skip > 0)
                {
                    lst.WriteLine("...");
                    lnr = eow.info.line;
                    while (skip-- > 0)
                    {
                        srcLine = src.ReadLine();
                        if (srcLine == null)
                        {
                            break;
                        }
                    } // while
                }     // if
            }         // if
            srcLine = src.ReadLine();
            if (srcLine == null)
            {
                break;
            }
            lst.WriteLine("{0,5}| {1}", lnr, srcLine);
            while (eow != null && eow.info.line == lnr)
            {
                PutMsg(lst, eow);
                eow = eow.next;
            } // while
            lnr++;
        }     // for
        lst.WriteLine();
        while (eow != null)
        {
            PutMsg(lst, eow);
            eow = eow.next;
        } // while
        lst.WriteLine();
        lst.WriteLine("error(s) and warning(s):");
        lst.WriteLine("-----------------------");
        lst.WriteLine();
        lst.WriteLine("{0,5} lexical error(s) ", NumOfLexErrors());
        lst.WriteLine("{0,5} syntax error(s)  ", NumOfSynErrors());
        lst.WriteLine("{0,5} semantic error(s)", NumOfSemErrors());
        lst.WriteLine("{0,5} warning(s)       ", NumOfWarnings());
    } // GenerateListing
コード例 #2
0
ファイル: Errors.cs プロジェクト: adinauer/fh_hagenberg
  } // ListingShape

  public static void GenerateListing(TextReader src, TextWriter lst,
                                     ListingShape listShape) {
    //-----------------------------------|----------------------------------------
    ErrorWarn eow = null;
    int lnr, skip;
    String srcLine;

    ((StreamReader)src).BaseStream.Seek(0, SeekOrigin.Begin);

    eow = eowl;
    if (eow != null) {
      while (eow != null && eow.info.line < 1) {
        PutMsg(lst, eow);
        eow = eow.next;
      } // while
      lst.WriteLine();
    } // if
    lnr = 1;
    for (; ; ) {
      if (listShape == ListingShape.shortListing) {
        if (eow == null) {
          lst.WriteLine("...");
          break;
        } // if
        skip = eow.info.line - lnr;
        if (skip > 0) {
          lst.WriteLine("...");
          lnr = eow.info.line;
          while (skip-- > 0) {
            srcLine = src.ReadLine();
            if (srcLine == null)
              break;
          } // while
        } // if
      } // if
      srcLine = src.ReadLine();
      if (srcLine == null)
        break;
      lst.WriteLine("{0,5}| {1}", lnr, srcLine);
      while (eow != null && eow.info.line == lnr) {
        PutMsg(lst, eow);
        eow = eow.next;
      } // while
      lnr++;
    } // for
    lst.WriteLine();
    while (eow != null) {
      PutMsg(lst, eow);
      eow = eow.next;
    } // while
    lst.WriteLine();
    lst.WriteLine("error(s) and warning(s):");
    lst.WriteLine("-----------------------");
    lst.WriteLine();
    lst.WriteLine("{0,5} lexical error(s) ", NumOfLexErrors());
    lst.WriteLine("{0,5} syntax error(s)  ", NumOfSynErrors());
    lst.WriteLine("{0,5} semantic error(s)", NumOfSemErrors());
    lst.WriteLine("{0,5} warning(s)       ", NumOfWarnings());
  } // GenerateListing