Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 800564

.pdf
Скачиваний:
3
Добавлен:
01.05.2022
Размер:
5.57 Mб
Скачать

dataGridView1.Rows.Add(lk.Leks, lk.Type, lk.Zn); break;

}

}

for (int k = 0; k < fun.Length; k++)

{

if (leks[j] == fun[k])

{

fl = false; spec = true;

leksem lk = new leksem(); lk.Leks = leks[j];

lk.Type = "объект обработчика нажатия кнопки"; for (int k2 = 0; k2 < al2count; k2++)

{

if (lk.Leks == al2[k2].Leks && lk.Type == al2[k2].Type)

{

lk.Zn = al2[k2].Zn; fl = true;

break;

}

}

if (fl == false)

{

lk.Zn = "О" + (number_kn + 1).ToString(); number_kn++; al2[al2count] = lk; al2count++;

}

dataGridView1.Rows.Add(lk.Leks, lk.Type, lk.Zn); break;

231

}

}

for (int k = 0; k < vs_funk.Length; k++)

{

if (leks[j] == vs_funk[k])

{

fl = false; spec = true;

leksem lk = new leksem(); lk.Leks = leks[j]; lk.Type = "метод";

for (int k2 = 0; k2 < al2count; k2++)

{

if (lk.Leks == al2[k2].Leks && lk.Type == al2[k2].Type)

{

lk.Zn = al2[k2].Zn; fl = true;

break;

}

}

if (fl == false)

{

lk.Zn = "M" + (number_vsfunk + 1).ToString(); number_vsfunk++;

al2[al2count] = lk; al2count++;

}

dataGridView1.Rows.Add(lk.Leks, lk.Type, lk.Zn); break;

232

}

}

for (int k = 0; k < log_op.Length; k++)

{

if (leks[j] == log_op[k])

{

fl = false; spec = true;

leksem lk = new leksem(); lk.Leks = leks[j];

lk.Type = "знак логической

перации";

for (int k2 = 0; k2 < al2count; k2++)

{

if (lk.Leks == al2[k2].Leks && lk.Type == al2[k2].Type)

{

lk.Zn = al2[k2].Zn; fl = true;

break;

}

}

if (fl == false)

{

lk.Zn = "A" + (number_ao + 1).ToString(); number_ao++; al2[al2count] = lk; al2count++;

}

dataGridView1.Rows.Add(lk.Leks, lk.Type, lk.Zn); break;

}

233

}

for (int k = 0; k < sr_op.Length; k++)

{

if (leks[j] == sr_op[k])

{

fl = false; spec = true;

leksem lk = new leksem(); lk.Leks = leks[j];

lk.Type = "знак операции сравнения"; for (int k2 = 0; k2 < al2count; k2++)

{

if (lk.Leks == al2[k2].Leks && lk.Type ==

al2[k2].Type)

{

lk.Zn = al2[k2].Zn; fl = true;

break;

}

}

if (fl == false)

{

lk.Zn = "A" + (number_ao + 1).ToString(); number_ao++; al2[al2count] = lk; al2count++;

}

dataGridView1.Rows.Add(lk.Leks, lk.Type, lk.Zn); break;

}

}

for (int k = 0; k < sk.Length; k++)

234

{

if (leks[j] == sk[k])

{

fl = false; spec = true;

leksem lk = new leksem(); lk.Leks = leks[j]; lk.Type = "скобка";

for (int k2 = 0; k2 < al2count; k2++)

{

if (lk.Leks == al2[k2].Leks && lk.Type == al2[k2].Type)

{

lk.Zn = al2[k2].Zn; fl = true;

break;

}

}

if (fl == false)

{

lk.Zn = "Sk" + (number_sk + 1).ToString(); number_sk++; al2[al2count] = lk; al2count++;

}

dataGridView1.Rows.Add(lk.Leks, lk.Type, lk.Zn); break;

}

}

for (int k = 0; k < b_class.Length; k++)

{

if (leks[j] == b_class[k])

{

fl = false;

235

spec = true;

leksem lk = new leksem(); lk.Leks = leks[j];

lk.Type = "базовый класс"; for (int k2 = 0; k2 < al2count; k2++)

{

if (lk.Leks == al2[k2].Leks && lk.Type == al2[k2].Type)

{

lk.Zn = al2[k2].Zn; fl = true;

break;

}

}

if (fl == false)

{

lk.Zn = "A" + (number_ao + 1).ToString(); number_ao++; al2[al2count] = lk; al2count++;

}

dataGridView1.Rows.Add(lk.Leks, lk.Type, lk.Zn);

break;

}

}

for (int k = 0; k < ct.Length; k++)

{

if (leks[j] == ct[k])

{

fl = false; spec = true;

236

leksem lk = new leksem(); lk.Leks = leks[j];

lk.Type = "Целочисленная константа"; for (int k2 = 0; k2 < al2count; k2++)

{

if (lk.Leks == al2[k2].Leks && lk.Type == al2[k2].Type)

{

lk.Zn = al2[k2].Zn; fl = true;

break;

}

}

if (fl == false)

{

lk.Zn = leks[j]; al2[al2count] = lk; al2count++;

}

dataGridView1.Rows.Add(lk.Leks, lk.Type, lk.Zn); break;

}

}

if (leks[j] == "{" || leks[j] == "}" || leks[j] == "," || leks[j] == ".")

{

fl = false;

spec = true;

leksem lk = new leksem(); lk.Leks = leks[j];

lk.Type = "разделитель операторов"; for (int k2 = 0; k2 < al2count; k2++)

{

if (lk.Leks == al2[k2].Leks && lk.Type == al2[k2].Type)

237

{

lk.Zn = al2[k2].Zn; fl = true;

break;

}

}

if (fl == false)

{

lk.Zn = "S" + (number_pr + 1).ToString(); number_pr++; al2[al2count] = lk; al2count++;

}

dataGridView1.Rows.Add(lk.Leks, lk.Type, lk.Zn);

}

if (leks[j] == "=")

{

fl = false; spec = true;

leksem lk = new leksem(); lk.Leks = leks[j];

lk.Type = "знак присваивания"; for (int k2 = 0; k2 < al2count; k2++)

{

if (lk.Leks == al2[k2].Leks && lk.Type == al2[k2].Type)

{

lk.Zn = al2[k2].Zn; fl = true;

break;

}

}

if (fl == false)

{

238

lk.Zn = "S" + (number_pr + 1).ToString(); number_pr++; al2[al2count] = lk; al2count++;

}

dataGridView1.Rows.Add(lk.Leks, lk.Type, lk.Zn);

}

if (leks[j] == ":")

{

fl = false; spec = true;

leksem lk = new leksem(); lk.Leks = leks[j];

lk.Type = "знак принадлежности"; for (int k2 = 0; k2 < al2count; k2++)

{

if (lk.Leks == al2[k2].Leks && lk.Type == al2[k2].Type)

{

lk.Zn = al2[k2].Zn; fl = true;

break;

}

}

if (fl == false)

{

lk.Zn = "S" + (number_pr + 1).ToString(); number_pr++; al2[al2count] = lk; al2count++;

}

dataGridView1.Rows.Add(lk.Leks, lk.Type, lk.Zn);

}

239

if (leks[j].Contains("System") == true)

{

fl = false; spec = true;

leksem lk = new leksem(); lk.Leks = leks[j]; lk.Type = "библиотека"; lk.Zn = "";

al2[al2count] = lk; al2count++;

dataGridView1.Rows.Add(lk.Leks, lk.Type, lk.Zn); };

if (spec == false && leks[j]!="")

{

leksem lk = new leksem(); lk.Leks = leks[j]; lk.Type = "";

lk.Zn = "";

al2[al2count] = lk; al2count++;

dataGridView1.Rows.Add(lk.Leks,

lk.Type, lk.Zn);

}

}

fl = false;

leksem lk_ = new leksem(); lk_.Leks = ";";

lk_.Type = "разделитель операторов";

for (int k2 = 0; k2 < al2count; k2++)

{

if(lk_.Leks==al2[k2].Leks && lk_.Type==al2[k2].Type ) 240