1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| 1147 |
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
нужно произвести синтаксический анализ - "вариант". Я сначала думал что нужно создать программу, анализирующую само выражение "вариант", но вскоре понял что это не так. Кроме того непонятно как должен выглядеть алфавит языка записи выражения, соответственно я немогу построить таблицу переходов..
Буду благодарен за любую помошь в этом вопросе Сообщение отредактировано: 1147 - Эскизы прикрепленных изображений |
![]() ![]() |
| Archon |
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Цитата Синтаксические анализаторы регулярных языков на вход получают строку лексем. В процессе синтаксического анализа происходит распознавание конструкций языка в строке токенов. Тоесть в данном случае, на вход будут поступать лексемы, записанные в таблице. Программа должна проверять на ошибки. Последовательность СИМВОЛОВ, а не СЛОВ-нет ли пропусков, местами не перепутаны ли они,правильно ли написаны символы (та ли буква) и т.д. Ошибки в словах искать не нужно-это очень сложно. Так что по-моему лексический анализ здесь ненужен. Тогда пиши функцию, которая возвращает следующую лексему. Как GetNextToken в сообщении №7.Цитата Вопрос у меня следующий: на схеме моего задания константа и идентификатор обозначены словами, а в примере синтаксического анализатора который я прикрепил они обозначены V и N. Это одно и тоже, просто разница в обозначении, или всетаки тут имеются ввиду разные вещи? Это одно и то же.Цитата Я тут приблизительно составил таблицу с учетом типа и идентификатора. Но мне непонятен принцип построения грамматики, откуда берутся символы: S, A, B, C, и почему тому или иному символу соответствует - ( или IA(B например, почему А,В,С используются по 2 раза, а S-один. Поэтому завершить таблицу несмог... Смотри грамматику. S - это просто начальный нетерминальный символ. A, B, C - тоже нетерминальные символы, названия от фонаря. Для чего введены? Смотри грамматику =) Кстати, в твоем примере не мп-автомат, а недетерминированный конечный. Если хочешь, можем сделать аналогично твоему примеру, будет даже проще.Цитата Еще я хотел бы уточнить насчет того что имеется ввиду под понятием токен... Нет, токен - это синоним лексемы. Во всяком случае я это так понимаю =)Например, дано выражение: If Sum>5 then pr:=true; Так вот, If, Sum, >, 5, then, pr, :=, true- это все лексемы (кстати, у меня в методичке лексема Sum обозначена как идентификатор). Тогда токен, как я понимаю-это, если взять лексему Sum например, это каждый символ составляющий лексему, т.е. s, u, m. Так? Данная лексема содержит в себе 3 токена, если я правильно понял? PS Подробности потом, сейчас я спать ложусь -------------------- Close the World...txeN eht nepO
|
| 1147 |
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
А где можно посмотреть эту грамматику? Не знаешь какой-нибудь литературы по этому поводу? может посоветуешь что?
Сообщение отредактировано: 1147 - |
1147 вопрос по синтаксическому анализу 26.11.2008 21:48
Archon Судя по всему тебе нужна программа, принимающая ст… 26.11.2008 23:09
1147 Мне кажется что это контекстно-свободные грамматик… 26.11.2008 23:24
Archon Похоже, ты прикрепил не ту картинку =) Проверь. 27.11.2008 0:09
1147 картинку заменил. писал об одном задании а думал о… 27.11.2008 0:28
Archon Если лексемы уже выделены, то значит в строке прис… 27.11.2008 0:36
Archon Даже не совсем так. По идее тебе нужна функция, ко… 27.11.2008 1:47
Гость Да, помощь с автоматом мне бы не помешала!
И … 28.11.2008 4:11
Archon
А как выглядит задание слово в слово? Может быть … 28.11.2008 20:43
Archon Кстати, прежде чем писать автомат, надо определить… 28.11.2008 21:06
1147 задание выглядит так:
Разработать программу, кото… 28.11.2008 23:54
Archon Извини, что так долго, только сейчас в интернет вы… 2.12.2008 1:35
1147 Синтаксические анализаторы регулярных языков на вх… 2.12.2008 4:10
1147 Я тут приблизительно составил таблицу с учетом тип… 2.12.2008 10:00
1147 и еще никак немогу понять, по каким правилам мы ст… 2.12.2008 11:02
1147 ------------ 2.12.2008 14:59
1147 вопрос с литературой можно оставить..
У меня вот ч… 4.12.2008 16:56
Archon Так через какой автомат делать будешь? МП или как … 3.12.2008 22:23
1147 Если проще сделать как в моем примере, то давай сд… 3.12.2008 23:17
Archon Дак я ее написал в своем посте:
4.12.2008 16:13
Archon Ну, для начала скажи, что с вас будут требовать. У… 5.12.2008 0:24
1147 да вот и я не понимаю зачем вообще нужна эта грамм… 5.12.2008 0:33
1147 А вообще требования к заданию у нас такие же как б… 5.12.2008 0:42
1147 хотя на это уже нет времени... помоги пожалуйста н… 6.12.2008 18:41
Archon Если с вас грамматику не требуют, то просто забудь… 5.12.2008 0:41
Archon const
a: array[1..7, 1..6] of integer… 7.12.2008 3:55
Гость Как должна выглядеть входная строка чтобы программ… 7.12.2008 22:57
Archon Ну конечно. Она реализует строго тот автомат, что … 8.12.2008 1:43
Гость Ты мог бы это сделать?!? сам я точно не успею-… 8.12.2008 2:33
Archon Ну уж нет. И так все уже за тебя сделал. К тому же… 8.12.2008 3:09
Гость Archon, программу я сдал наконец-то. Хочу выразить… 15.12.2008 21:39![]() ![]() |
|
Текстовая версия | 24.12.2025 4:57 |