атків на даній платформі допустимо мало функціональний інтерфейс.
2.3 Підтримка користувальницьких сценаріїв
Для компенсації малого функціоналу інтерфейсу, у файловому менеджері необхідно реалізувати підтримку користувальницьких сценаріїв. Для прискорення і спрощення робіт розробку можна зробити на основі проекту TinyJS. Проект TinyJS - це інтерпретатор обмеженою реалізації мови Java Script з відкритим вихідним кодом. Інтерпретатор повинен підтримувати файли сценарію в кодуванні UTF - 16 LE.
Вимоги до мови написання сценаріїв сформульовані далі.
Перш ніж почати описувати конструкції мови необхідно ввести деякі поняття і дати і їх опис. Лексема - це неподільна лексична одиниця, коректна з точки зору граматики конкретної мови. Лексеми розділені пробілами або іншими символами форматування. Символи форматування тексту не впливають на порядок або результату роботи сценарію. Ключове слово - це лексема, що є його частиною синтаксису. Ці слова є частиною синтаксису мови. Зарезервоване слово - це лексема, яка коректна з точки зору граматики і є частиною синтаксису мови. Ці слова не можна використовувати в сценарії. Їх підтримка може бути реалізована в майбутньому.
Ідентифікатори - це лексема, що є найменуванням, деякого об'єкта в початковому тексті сценарію. Не можна задавати імена ідентифікаторів однакові з ключовими і зарезервованими словами. Задаються імена ідентифікаторів повинні складатися з символів латинського алфавіту, символу підкреслення і цифр, причому ім'я не повинно починатися з цифр. Всі ідентифікатори сценаріїв чутливі до регістру, тобто ідентифікатори «id» і «Id» семантично різні.
Приклад правильних імен ідентифікаторів - A, A0, _A0
Далі в таблиці 2.1 наведено список ключових і зарезервованих слів.
Таблиця 2.1 - Список ключових і зарезервованих слів
ЛексемаТіпifКлючевое словоelseКлючевое словоdoКлючевое словоwhileКлючевое словоforКлючевое словоbreakКлючевое словоcontinueКлючевое словоfunctionКлючевое словоreturnКлючевое словоvarКлючевое словоtrueКлючевое слово, ідентіфікаторfalseКлючевое слово, ідентіфікаторnullКлючевое слово, ідентіфікаторundefinedКлючевое слово, ідентіфікаторnewЗарезервірованное слово
Літерал - це лексема, що описує окремий елемент безлічі даних і міститься безпосередньо в програмному коді.
Змінна - це елемент даних, значення якого може змінюватися на будь-яке з відповідного безлічі під час виконання сценарію. Виставою змінної в програмному коді є ідентифікатор.
Оператор - це літерал, що визначає операцію обробки даних, наприклад, додавання чи віднімання.
Тип даних - це безліч даних однакових за формою подання, але різних за значенням.
Базові типи даних діляться на:
спеціальні (null, undefined);
скалярні (логічний, числовий, строковий);
складові (масиви, об'єкти).
Для спеціальних типів даних назви типів і єдине литеральное значення однакові. Змінні з типом null можна охарактеризувати як що не містять дані. Змінні мають тип undefined тільки після створення, до ініціалізації.
Логічний тип даних може мати тільки два літеральних значення «true» і «false», «істина» і «брехня» відповідно. Конвертація з різних типів в логічний тип даних відбувається наступним чином: «null», «undefined», числовий - «0», строковий, якщо довжина рядка дорівнює 0, стають «false», всі інші значення переходять в «true».
Числовий тип даних складається з безлічі цілих чисел від мінус 2147483648 до 2147483647. ЛІТЕРАЛЬ даного типу є строкове представлення числа в десятковій системі числення з даного діапазону. Наприклад, «- 123434». Конвертація в числовий тип відбувається за такими правилами:
«null» відповідає «0»;
рядок конвертується, якщо є представленням цілого числа в десятковій системі числення, в саме число, інакше інтерпретатор не коректне завершить роботу.
«boolean» конвертується в «0», якщо «false», в «1», якщо «true».
всі інші значення призводять до не коректною роботі інтерпретатора.
Строковий тип призначений для зберігання даних у вигляді послідовності символів. Рядкові літерали задаються шляхом укладення послідовності символів в одинарні або подвійні лапки, причому вкладені лапки іншого типу будуть частиною строкових даних. Але не можна починати і закінчувати рядок лапками різного типу. Для запису литерала в декількох рядках програмного коду необхідно в кінці рядка додавати зворотний слеш.
У ...