Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Процес создания компілятора вхідної мови

Реферат Процес создания компілятора вхідної мови





p align="justify"> {(LexGridView [«lex», i - 1]. Value.ToString () == «ціле») / / сюди піде ДОПОВНЕННЯ, ЯКЩО я створі Інші типи змінніх

{+ +;. Rows.Add (DeclaredIdentCount.ToString (), LexGridView [«lex», i]. Value.ToString (), «ціле», LexGridView [«row» , i]. Value.ToString () + «;» + LexGridView [«sym», i]. Value.ToString ());

}

} {}

}

}

/ / тепер знаходимо змінні, что НЕ були оголошені. ЯКЩО Такі є, то це семантичності помілкаIdFinded=false; (i=0; i

{(LexGridView [«mean», i]. Value.ToString () == «змінна») {(j=0; j

{(LexGridView [«lex», i]. Value.ToString () == IdentTable [1, j]. Value.ToString ())

{= true;// Такий ідентифікатор БУВ Оголошення

}

}

/ / ЯКЩО ж ідентифікатор є, но его забули оголосіті, відаєм Помилка:

if (IdFinded == false)

{+ +; (errorCount, Convert.ToInt32 (LexGridView [«row», i]. Value.ToString ()), Convert.ToInt32 (LexGridView [«sym», i]. Value.ToString ()), «8», LexGridView [«lex», i]. Value.ToString ());

}=false;// Повертаємо у Вихідне значення для Нової ітерації

}

}=true;

}

/ / Додавання помилок: void ErrAdd (int erident, int RowNumber, int SymbolInRowNumber, string erDescr, string ErrorLex)

{(erDescr) {«1»:. Rows.Add (erident.ToString (), «Відсутні границі програми (ПОЧАТОК або КІНЕЦЬ)», RowNumber.ToString (), SymbolInRowNumber. ToString ());; «2»:. Rows.Add (erident.ToString (), «Неоднакова кількість відкріваючіх и закріваючіх дужок», «-», «-»);; «3» :. Rows.Add (erident.ToString (), «Неоднакова кількість відкріваючіх и закріваючіх фігурніх дужок», «-», «-»);; «4»:. Rows.Add (erident.ToString (), «Відсутнє Тіло програми», «-», «-»);; «5»:. Rows.Add (erident.ToString (), «невизначе синтаксична помилка», «-»,« - »);;« 6 »:. Rows.Add (erident.ToString (),« Віпущеній символ Закінчення рядка »,« - »,« - »);;« ; 7 »:. Rows.Add (erident.ToString (),« Відсутній Якийсь з операндів »,« - »,« - »);;« 8 »:. Rows.Add (erident.ToString (), «Неоголошена змінна» + ErrorLex, RowNumber.ToString (), SymbolInRowNumber.ToString ());; «9»:. Rows.Add (erident.ToString (), «непарний кількість лапок. Помилка критична » + ErrorLex, RowNumber.ToString (), SymbolInRowNumber.ToString ());;:. Rows.Add (erident.ToString (), «Невідома лексема» + erDescr, RowNumber.ToString (), SymbolInRowNumber.ToString ()) ;;

}


}

/ / Функція видалений лішніх пробілів та розмежування операторівstring SpaceCorrector (string textline)

{i;

/ / розділення Деяк Операторів (для зручнішого зчітування)

/ / Індуській код, альо простішій для розуміння. Если додаваті пробілі Тільки для Операторів, Які его

/ / Не мают, то прийдеться розбіваті шкірного разу string на масив char. Складніше и довше для

/ / Виконання процесором, альо зручніше для Використання в C #

for ...


Назад | сторінка 12 з 20 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Складне синтаксичне ціле
  • Реферат на тему: Розробка текстильного комплекту для спальні "Ми з тобою одне ціле" ...
  • Реферат на тему: Якщо ваш працівник затриманий чи засуджений
  • Реферат на тему: Якщо ви викликаєте швидку допомогу
  • Реферат на тему: Якщо ремонт виявився модернізацією