![]() |
|
![]() ![]() ![]() |
|
ne0n |
|
|||
PlayBoy ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 5.8.2005 Где: Н.Новгород Репутация: нет Всего: 11 |
Вообщем скоро предстоит писать проект, поэтому решил по раньше задуматься над решением
![]() есть следующая постановка задачи:
собственно больше всего интересует вопрос свзяанный с летературой=) можно конечно писать опираясь на интуицию, но не хочетсья наступать на какието известные грабли, тем самым теряя время) ну вообще интересуют совнты людей которые этим занимались. |
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Прежде чем изобретать велосипед
![]() Одни из вещей, которыми я бы предложил пользоватся(естественно в общих словах)- Графы - Польская запись Компиляторы и интерпретаторы Автоматы В частности. Поиск подстрок Кмобинаторика, графы, автоматы(англ) Мега-сайт!!! Просмотри весь- поймешь -------------------- Всем добра ![]() |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 3 Всего: 173 |
Принципы построения парсеров стократно описаны в соответствующей литературе. Интереснее, какую библиотеку классов от нас требуют. Предметная область не очень дружит с ООП. Единственное, что можно сходу положить на иерархию классов — это AST. Сильно извратившись, можно написать библиотеку комбинаторов. Больше ничего выделяемого в библиотеку, если не писать собственный генератор парсеров, я не вижу.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
ne0n |
|
|||
PlayBoy ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 5.8.2005 Где: Н.Новгород Репутация: нет Всего: 11 |
SoWa, спасибо за информацию)
на самом деле основной целью данного проекта являетсья не проявления меганавыков программирования, а хотят посмотреть как мы в каманде будем работать. т.е. по сути несколько человек должно взять себе отдельную задачу. Лично я представляю этот процесс с того, что мы разбираем задачи(форматирование исходников, интерпретатор формул итп), проектируем это все на листочке, потом собираемся и находим схожие моменты в кадом проекте, и вот из них составляем некий базовый класс. на основе которого и будет формирвоаться долнейшее выполнение проекта. |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 7 Всего: 183 |
Почему же? Если реализовать метод рекурсивного спуска, то все в классах замечательно строится. Опять же, если интерпретируемый язык удовлетворяет некоторым условиям, то вполне реально написать общий настраиваемый парсер. Я когда-то сделала такой парсер, который настраивался путем определения допустимого алфавита и выражений. Сейчас мне эта реализация не очень нравится (дело несколько лет назад было, так что это понятно), но оно до сих пор работает. Кодом поделиться не могу, но общую концепцию - опишу, если надо... (Оно все на С++) -------------------- ... |
|||
|
||||
ne0n |
|
|||
PlayBoy ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 5.8.2005 Где: Н.Новгород Репутация: нет Всего: 11 |
буду премного благодарен) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |