ВСТУП
У колишні часи під мовами малося на увазі виключно засіб спілкування між людьми, тобто малися на увазі тільки природні мови - російська, німецька, англійська та ін. На початку ХХ століття це подання зазнало серйозних змін і в даний час під мовою розуміється всякий засіб спілкування, що складається з знакової системи, безлічі смислів цієї системи і має встановлену відповідність між послідовностями знаків і смислами. Особливо широкий (і все більше збільшується) клас складають мови програмування, вивченню яких і присвячений наш курс.
Стрімкий розвиток обчислювальної техніки зробило можливою комп'ютерну обробку текстів, що відносяться до самих різних мов - природним мовам, мовам формул, мов програмування.
Існує безліч програмних засобів такої обробки. Це і різні редактори з самими різними можливостями, і архіватори, і транслятори для мов програмування або програми-перекладачі для природних мов.
При обробці текстів виникає ряд завдань. Це завдання, пов'язані з проблемою завдання мови, або генерації його ланцюжків, завдання визначення приналежності деякого безлічі слів заданому мови, задачі ідентифікації ланцюжків. Для їх вирішення розроблено безліч методів, причому деякі з них працюють тільки з певним класом мов (наприклад, з мовами програмування), інші ж є універсальними.
1. ТЕОРЕТИЧНЕ ВСТУП
.1 Алфавіт мови С #
Алфавіт (або безліч літер) мови програмування С # складають символи таблиці кодів ASCII. Алфавіт С # включає:
рядкові і прописні букви латинського алфавіту (ми їх будемо називати буквами);
цифри від 0 до 9 (назвемо їх буквами-цифрами);
символ «_» (підкреслення - також вважається буквою);
набір спеціальних символів:" {}, 1 [] + -%/; ':? lt; gt; =! amp; # ~ * -
інші символи.
Алфавіт С # служить для побудови слів, які в C ++ називаються лексемами. Розрізняють п'ять типів лексем:
ідентифікатори;
ключові слова;
знаки (символи) операцій;
літерали;
роздільники.
Ідентифікатор може включати латинські букви і букви національних алфавітів, цифри та символ підкреслення. Великі та малі літери розрізняються, наприклад, myname, myName і MyName - три різні імені. Першим символом ідентифікатора може бути буква або знак підкреслення, але не цифра. Можуть бути зарезервовані ідентифікатори, які мають спеціальне значення для компілятора, наприклад, include, main, int і т.д.
Частина ідентифікаторів С # входить у фіксований словник ключових слів. Ці ідентифікатори утворюють підмножину ключових слів (вони так і називаються ключовими словами).
Інші ідентифікатори після спеціального оголошення стають іменами. Імена служать для позначення змінних, типів даних, функцій. Щоб створити змінну, ви повинні задати тип змінної і потім дати цьому типу ім'я. Ви можете проініціалізувати змінну під час її оголошення або присвоїти їй нове значення під час виконання програми. У мові С # потрібно, щоб змінні були явно проініціалізовані до їх використання. Однак ініціалізувати кожну змінну необов'язково, але необхідно присвоїти їй значення до того, як вона буде використана.
Існують змінні, значення яких не можна змінити (константи). Константи бувають трьох видів: літерали, символічні константи та перерахування.
У операторі присвоєння: x=32. Число 32 є літеральної константою і його значення завжди дорівнює 32 і його не можна змінити.
Символічні константи іменують постійні значення. Визначення символічної константи відбувається наступним чином: lt; тип gt; lt; ідентифікатор gt; = Lt; значення gt ;;
Перерахування (enumerations) є альтернативою констант. Перерахування - це особливий розмірний тип, що складається з набору іменованих констант (званих списком перерахування).
До знаків операцій відноситься один або більше символів, що визначають дію над операндами. Усередині знака операції прогалини не допускаються. Наприклад, у виразі а + b знак + є знаком операції, а а і b - операндами. Символи, складові знак операцій, можуть бути як спеціальними, наприклад, amp; amp ;, | і lt ;, так і літерними, такими як as або new.
Операції поділяються на унарні, бінарні і тернарний за кількістю що беруть участь в них операндів. Один і той же знак може інтерпретуватися по-різному в залежності від контексту. Всі знаки операцій, за винятком [], () .і? :, Я...