Esempio n. 1
0
 public void ListErrors()
 {
     if (ErrorPositions.ContainsKey(posNow.LineNumber))
     {
         var list = ErrorPositions[posNow.LineNumber];
         if (list != null)
         {
             for (int i = 0; i < list.Count; i++)
             {
                 PrintError(i);
                 currNumError++;
             }
         }
     }
 }
Esempio n. 2
0
        public void error(int code, TextPosition textPosition)
        {
            if (numErrorInLine == Constants.CountErrorInLine)
            {
                ErrorOverflow = true;
            }
            else
            {
                if (textPosition.LineNumber == lastLineError)
                {
                    numErrorInLine++;
                }
                else
                {
                    lastLineError  = posNow.LineNumber;
                    numErrorInLine = 1;
                }

                NumError++;
                if (!ErrorPositions.ContainsKey(textPosition.LineNumber))
                {
                    ErrorPositions.Add(textPosition.LineNumber, new List <ErrorPosition>()
                    {
                        new ErrorPosition()
                        {
                            ErrCode   = code,
                            Line      = textPosition.LineNumber,
                            PosInLine = textPosition.PosInLine
                        }
                    });
                }
                else
                {
                    ErrorPositions[textPosition.LineNumber].Add(new ErrorPosition()
                    {
                        ErrCode   = code,
                        Line      = textPosition.LineNumber,
                        PosInLine = textPosition.PosInLine
                    });
                }
            }
        }