синтаксический анализатор..., нужен алгоритм решения |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
синтаксический анализатор..., нужен алгоритм решения |
MI666 |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: 0 |
Построить синтарсический анализатор для понятия список-списков:
список-списков::=список {; список}* список::=элемент {, элемент}* элемент::=буква thanks... -------------------- welcome: http://www.m666.nm.ru/
motto: all comes with experience... |
trminator |
Сообщение
#2
|
Четыре квадратика Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: 4 |
Есть соответствующие инструменты, TP Lex/Yacc (Lex & Yacc for Turbo Pascal), например. Можно ими пользоваться? Ты им задаешь определение грамматики почти в том же виде, какой привел ты, а ОНО генерит исходник на Паскале, реализующий такой анализатор.
-------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
good3p |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: 0 |
народ разъясните мне невнимательному, что такое этот синтаксический анализатор и с чем его едят? у меня похожее задание. что от меня требуется? что надо анализировать? вобщем смотрю на задание а там фига =)
написать, то сам напишу (наверно), вы только на правильный путь поставте, с чего хоть начинать?))) полные непонятки =) заранее спасибо! |
Atos |
Сообщение
#4
|
Прогрессор Группа: Пользователи Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: 9 |
А в чем технически состоит твоё задание? Написать программу на Паскале, которая умеет анализировать входные данные, записанные в приведённой тобой грамматике, переводить их в некоторое внутреннее внутреннее представление или выдавать ошибку? Или как-то по другому реализовать?
И вообще, неужели преподы не объяснили вообще ничего перед выдачей задания? |
good3p |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: 0 |
в том то и дело что я не имею представления что делать. узнал , что она должна проверить простое это выражение или нет и если да то посчитать. вроде так. и должна быть рекурсия.
само задание : простое_выражение ::= {простой_идентификатор (простое_выражение знак_операции простое_выражение)} простой_идентификатор ::= буква знак_операции ::= {-+*} |
Fly |
Сообщение
#6
|
Гость |
Привет,
у нас в универе такие задачи решались двумя способами: 1. Ты вводишь с клавиатуры какую-то последовательность символов; твоя программулинка работает и выводит ответ: удовлетворяют введенные данные твоему условию или нет. 2. Организовываешь работу через файлы. Результат такой же. Организуешь на каждое выражение процедурки логического типа и в основной программе вызываешь их в том порядке, который соответсвует твоей структуре. Надеюсь хоть что-то пригодится |
Текстовая версия | 5.05.2024 15:52 |