justify"> {+ +;
/ / Запісуємо координат та лексеми:=richTextBox1.GetLineFromCharIndex (richTextBox1.Text.IndexOf (temp, stind));=richTextBox1.Lines [r]. IndexOf (temp, sts); (richTextBox1.Lines [r]. LastIndexOf (temp)!=richTextBox1.Lines [r]. IndexOf (temp) / * && sts!=richTextBox1.Lines [r]. LastIndexOf (temp) - просто я не знаю, нашо я це Зробив. хай буде * /)
{= richTextBox1.Lines [r]. IndexOf (temp, sts);
}
{= 0;
} + +;// Щоб НЕ починався рахунок з нуля
s + +;// Щоб НЕ починався рахунок з нуля
stind=richTextBox1.Text.IndexOf (temp, stind);
/ / Перевіряємо належність лексем
/ / Ключове слово?
TTreeNode word=BTKeyWords.findSymbol (temp); (word!=null)
{. Rows.Add (wcount.ToString (), temp, «Ключове слово», r.ToString (), s.ToString ());
}
{
/ / Оператор? Я теж оператор=BTOperators.findSymbol (temp); (word!=Null)
{. Rows.Add (wcount.ToString (), temp, Operators [(int) word.value]. type, r.ToString (), s.ToString ());
}
{[] templet=temp.ToCharArray (); numberOfDigits=0, numberOfLawSymbols=0; (i=0; i
{(char.IsDigit (templet [i])) numberOfDigits + +; (char.IsLetterOrDigit (templet [i]) | | templet [i] == «_») numberOfLawSymbols + +;
}
/ / Константа? (temp.Length == numberOfDigits &&! temp.Contains («9») &&! temp.Contains («8»)) p>
{. Rows.Add (wcount.ToString (), temp, «Константа (8-ва)», r.ToString (), s.ToString ());
} / / змінна? if ((char.IsLetter (templet [0])) && temp.Length == numberOfLawSymbols)
{. Rows.Add (wcount.ToString (), temp, «змінна», r.ToString (), s.ToString ());
} / / Нічого НЕ підійшло? помилка!
{. Rows.Add (wcount.ToString (), temp, «Невідома лексема», r.ToString (), s.ToString ());
nlexcount + +; errorCount + +; (errorCount, r, s, temp, «»);
}
}
}=richTextBox1.Text.IndexOf (temp, stind);
} if (tsc == true) {+=temp + « »; (Temp ==« " » && tempStringConstant.Length> 2 && quotesCount% 2 == 0)
{+ +;. Rows.Add (wcount.ToString (), tempStringConstant, «Константа (Строкова)», r.ToString (), s.ToString ());=false; =«»;
}
}
}. Stop ();. Show («Таблиця лексем побудовали за: n r» + time.Elapsed.ToString () + «с n rЗнайдено невідоміх лексем:» + nlexcount.ToString ());=true;// Відмітімо, что лекс.аналіз завершено
/ / синтаксичною АНАЛІЗАТОР.Start () ;/ / запуск таймераSyntErrCount=0; (LexAnalizPerformed == true)
{
/ / Формуємо вихідний текст для синтаксичного аналізу:
string SyntText=«S»; (i=0; i
{(LexGridView [«mean», i]. Value.ToSt...