ЗНАЙ ИНТУИТ, Лекция, Представяне на граматики
Следните символи се използват като индикатори за събития:
- ? - Нула или еднократно (по избор);
- * - Нула или повече пъти (незадължително повторение);
- + - Един или повече пъти (изисква се повторно въвеждане).
означава, че елементът JDATA трябва да съдържа поне един елемент OBJECT;
този пример показва, че елементът OBJECT трябва да включва поне един от следните елементи: PRIMITIVE, OBJECT или ARRAY;
елемент PRIMITIVE може да съдържа само първични (символни) данни и не може да съдържа вложени поделементи. PCDATA означава "анализирани данни за символи";
дешифрирайте това определение сами;
последният пример показва как могат да се използват групи от поделементи. В нашия случай елементът FOO може да съдържа вложени елементи PRIMITIVE и ARRAY и във всяка последователност.
Както можете да видите, RBNF нотация и DTD нотация имат много общи черти. Но ако RBNF генерира граматика и език въз основа на нея, тогава DTD служи само за дефиниране на формата на XML файл.
- Фамилия
- Име
- Адрес
- Телефон
- Улична къща
- Град
- Регион
- Страна
- Индекс
Същият запис в DTD ще бъде:
Както граматичните, така и XML документите са еднозначни.
Основното използване на XML е създаването на нови езици за маркиране, семантични мрежи, рамки, интерфейси с бази данни и др.
12.2. Нормална форма на Backus (BNF)
Отличителни черти на БНФ:
- Запазените BNF символи включват: '', '|', ':', '=', '\';
- Нетерминалите (аналогично на "нетерминалните символи") се записват в символите за маркиране '';
- Терминалните символи се изписват "както е";
- Алтернативите са разделени с '|';
- Лявата и дясната част на правилата са разделени от комбинацията ": =";
Например граматиката от пример 01 "Официални описания на граматиката" ще изглежда така:
Предложената от Backus форма за писане на граматика стана много по-компактна от използваните преди това форми за писане на граматики. Предназначен е предимно за писане на KS-граматики и A-граматики (вж. Раздел 4.3 "Описание на официални граматики").