kletochky.ru -

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

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