kletochka.ru -

купить или арендовать online
+7 (495) 545-21-33 support@site.su
  • Домены совпадающие с kletochka
  • Покупка
  • Аренда
  • kletochka.ru
  • 100 000
  • 1 000
  • Домены начинающиеся с kletochk
  • Покупка
  • Аренда
  • kletochky.ru
  • 100 000
  • 1 000
  • Домены с синонимами, содержащими kletoch
  • Покупка
  • Аренда
  • сотовое.рф
  • 70 000
  • 700
  • сотовой.рф
  • 70 000
  • 700
  • Домены с транслитом, содержащими kletoch
  • Покупка
  • Аренда
  • сотовый.su
  • 18 334
  • 183
  • Рекомендуемые домены
  • Покупка
  • Аренда
  • 77.рф
  • 500 000
  • 5 000
  • nissans.ru
  • 50 000
  • 500
  • абсолютная.рф
  • 70 000
  • 700
  • автосалонам.рф
  • 70 000
  • 700
  • автошкол.рф
  • 70 000
  • 700
  • автошкола.su
  • 20 000
  • 200
  • автошколы.рф
  • 200 000
  • 2 000
  • адам.рф
  • 150 000
  • 1 500
  • адвокатами.рф
  • 70 000
  • 700
  • адвокату.рф
  • 70 000
  • 700
  • аксессуара.рф
  • 70 000
  • 700
  • алло.su
  • 43 334
  • 433
  • алфавиты.рф
  • 50 000
  • 500
  • алюминиевые.рф
  • 50 000
  • 500
  • амуры.рф
  • 70 000
  • 700
  • анатомии.рф
  • 50 000
  • 500
  • анкет.рф
  • 70 000
  • 700
  • арматура.su
  • 43 334
  • 433
  • арматуры.рф
  • 250 000
  • 2 500
  • армянская.рф
  • 70 000
  • 700
  • армянские.рф
  • 70 000
  • 700
  • аромат.рф
  • 1 300 000
  • 13 000
  • аукциона.рф
  • 70 000
  • 700
  • аукционы.su
  • 43 334
  • 433
  • базовая.рф
  • 70 000
  • 700
  • базовые.рф
  • 70 000
  • 700
  • банан.рф
  • 300 000
  • 3 000
  • банкомат.рф
  • 550 000
  • 5 500
  • батарейка.рф
  • 450 000
  • 4 500
  • башня.su
  • 20 000
  • 200
  • бег.рф
  • 250 000
  • 2 500
  • беги.рф
  • 50 000
  • 500
  • бёдра.рф
  • 70 000
  • 700
  • безопасное.рф
  • 100 000
  • 1 000
  • безопасные.рф
  • 100 000
  • 1 000
  • бензиновые.рф
  • 50 000
  • 500
  • бетонное.рф
  • 70 000
  • 700
  • бетонные.рф
  • 150 000
  • 1 500
  • би.su
  • 26 668
  • 267
  • биржу.рф
  • 70 000
  • 700
  • бисера.рф
  • 70 000
  • 700
  • близнец.рф
  • 100 000
  • 1 000
  • близнецы.su
  • 20 000
  • 200
  • блин.su
  • 35 000
  • 350
  • блины.su
  • 35 000
  • 350

LL(1)

{{Нет ссылок|дата=12 мая 2011}} Нисходящий алгоритм синтаксического разбора. Прост в написании вручную без использования автоматических генераторов. Используется для разбора ряда языков программирования, таких, как [[Pascal]] (по некоторым сведениям, язык разработан с умыслом сделать его разбираемым по LL(1)). Очень быстр в исполнении, и имеет характерное сообщение об ошибке вида "ожидался такой-то символ". == Понятие "направляющие символы правила" == Для каждого нетерминала A в грамматике генерируется множество терминалов First(A), определенное следующим образом: * если в грамматике есть правило с A в левой части и правой частью, начинающейся с терминала, то данный терминал входит в First(A) * если в грамматике есть правило с A в левой части и правой частью, начинающейся с нетерминала (обозначим B), то First(B) строго входит в First(A) * никакие иные терминалы не входят в First(A) Для каждого правила генерируется множество направляющих символов, определенное следующим образом: * если правая часть правила начинается с терминала, то множество направляющих символов состоит из одного этого терминала * иначе правая часть начинается с нетерминала A, тогда множество направляющих символов есть First(A) (возможны обобщения этих определений для случая наличия правил вида A -> null) Понятно, что First(A) есть объединение множеств направляющих символов для всех правил с A в левой части. Грамматика разбираема по LL(1), если для любой пары правил с одинаковой левой частью множества направляющих символов не пересекаются. == Описание анализатора == Используется стек, где находятся номера терминалов и нетерминалов, входной (терминалы) и выходной (номера правил) потоки. Вначале в стек заносится E - начало грамматики. Далее для каждого нового символа из входного потока, пока он не закончился: * если на вершине стека терминал, и он совпадает с символом входного потока - то а) вытолкнуть терминал из стека и б) потребить символ входного потока. * если на вершине стека терминал, и он не совпадает с символом входного потока - то это синтаксическая ошибка "ожидался такой-то символ" (тот, что на стеке). * иначе на вершине стека нетерминал, обозначим его A. Ищутся все правила с ним в левой части, для каждого правила просматриваются множества направляющих символов на предмет нахождения символа входного потока, он не может найтись там более одного раза (иначе грамматика не разбираема по LL(1)). * если символ нашелся, то осуществляется применение этого правила - номер правила выводится в выходной поток, со стека выталкивается один символ (это A) и взамен вталкивается все правая часть правила, крайне левый символ правой части - последним. Символ входного потока не потребляется. * иначе символ не нашелся вовсе. Тогда, если есть правило вида "A -> null" - то A выталкивается с вершины стека. Символ входного потока не потребляется. * иначе это синтаксическая ошибка, сообщение может быть выведено в виде "ожидалось одно из" и далее списком множество First(A). [[Категория:Синтаксический анализ]]

19.09.2013 12:42:48