Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 11.10.2017
Сообщений: 156

Синтаксический анализатор: Таблично-управляемый LL(1) разбор

04.05.2022, 16:42. Показов 1308. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
%{
#include <stdio.h>
    enum SqlConstructions
    {
        SELECT = 200,
        FROM,
        WHERE,
        AND,
        OR,
        IDENTIFIER,
        CONST,
        NL,
        BRACKET_L,
        BRACKET_R,
        GROUP,
        BY,
        CREATE,
        TABLE,
        ALL,
        POINT,
        COMMA,
        EQUAL,
        LESS,
        MORE,
        END,
    };
%}
 
%%
select                  return SELECT;
from                    return FROM;
where                   return WHERE;
and                     return AND;
or                      return OR;
group                   return GROUP;
by                      return BY;
create                  return CREATE;
table                   return TABLE;[*]                        return ALL;
[.]                     return POINT;
[,]                     return COMMA;
[=]                     return EQUAL;
[<]                     return LESS;
[>]                     return MORE;
[(]                     return BRACKET_L;
[)]                     return BRACKET_R;
[;]                     return END;
[a-zA-Z][a-zA-Z0-9]*    return IDENTIFIER;
[0-9]+                  return CONST;
\n                      return NL;
[ \t]+                  /* ignore whitespace */
%%
 
int yywrap() {}
 
int main()
{
    int i;
    do {
        i = yylex();
        
        switch(i)
        {
            case SELECT:
            case FROM:
            case WHERE:
            case AND:
            case CONST:
            case OR:
            case NL:
            case BRACKET_L:
            case BRACKET_R:
            case GROUP:
            case BY:
            case CREATE:
            case TABLE:
            case ALL:
            case POINT:
            case COMMA:
            case EQUAL:
            case LESS:
            case MORE:
            case END:
            case IDENTIFIER:  printf("%s\n", yytext); break;        
        }
    } while (i != 0);
    
    return 0;
}
С помощью лексического анализатора flex выделил некоторые конструкции языка SQL.
Подскажите, пожалуйста, как составить синтаксический анализатор: таблично-управляемый LL(1), например для
select name1, name2, ... from table;
или
select * from table;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.05.2022, 16:42
Ответы с готовыми решениями:

Ошибка. Таблично управляемый синтаксический разбор сверху вниз
понимаю что он несет, но не могу устранить(( Помогите мне пожалуйста

Синтаксический анализатор
Допоможыть на паскалы написати програму синтаксичного аналызатора будь-якого, щоб програма працювала, будь-ласка дуже треба!!!!!!

Синтаксический анализатор
Здравствуйте! Разъясните темному человеку, что из себя представляет синтаксический анализатор и с чем его едят?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.05.2022, 16:42
Помогаю со студенческими работами здесь

Синтаксический Анализатор
В общем задание следующее: нужно написать программку, которая проверяла бы правильность введенной строчки. Конкретно нужно проверить...

Синтаксический анализатор
Доброго времени суток! Ребят, посмотрите, пожалуйста, подходит по условию? А то я что-то сомневаюсь... Условие: Построить...

Синтаксический анализатор
ЗАДАНИЕ: НАПИСАНИЕ СИНТАКСИЧЕСКОГО АНАЛИЗАТОРА Написать синтаксический анализатор исходного кода программы. Тестовый текст для...

Синтаксический анализатор
Нужно написать синтаксический анализатор для одного маленького фрагмента программы, т.е. проверка правильности грамматического построения...

Синтаксический анализатор LR(k)
Доброго времени суток, суть проблемы не как не пойму как программно реализовать синтаксический анализ, может кто нибудь в общих чертах...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru