Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

парсинг

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> парсинг
Имя
Сообщение << Старые топики   Новые топики >>
парсинг - 2005-12-07 20:24:26   
буржуазия

Сообщений: 60
Оценки: 0
Присоединился: 2005-05-29 16:57:53
Леди и джельтльмены, кто сталкивался с этим скиньте примерчики плз, или сайты с примерамиалгоритмом, хачу познать парсер :)
Post #: 1
парсинг - 2005-12-07 20:25:16   
буржуазия

Сообщений: 60
Оценки: 0
Присоединился: 2005-05-29 16:57:53
парсить мне надо для расчета выражений типа такиого: 4*5*3-2*(3+4/5)/10*100*х , то бишь пользователь может ввести любое выражение :)
Post #: 2
парсинг - 2005-12-08 19:34:50   
буржуазия

Сообщений: 60
Оценки: 0
Присоединился: 2005-05-29 16:57:53
Нда….Я думал тут конкретные пацаны собрались….
Ну что ж,придётся умереть и не узнав о этой штуке…=)
Post #: 3
парсинг - 2005-12-08 21:03:30   
Lex_Voodoo

Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
Вообще, никогда с этим не сталкивался, но помойму тут и думать нечего
1. Есть набор разрешенных символов. Проверяем все выражение на валидность
2. В порядке приоритета операций ищем выражения удовлетворяющие соответствующему regexp'у, например в твоем случае скобки имеют наивысший приоритет, значит это будет что-то типа ([(]{1}[0-9,*+\()-/]+[)]){1}, соответственно в \\1, если он не NULL, имеем это выражение.
3. Далее парсим "внутрь" пока не доходим до ([0-9]+)([,*+\-/]{1})([0-9]+)Определяем для каждого \\2 заранее заданное действие и выполняем его с \\1 и \\3
4. Запихиваем все это в грамотный цикл

Вот, собственно, все. Не знаю, может спецы по информатике предложат более красивый способ, я бы написал так.
Post #: 4
парсинг - 2005-12-12 14:07:47   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
надо взять препроцессор-генератор парсеров. такие есть для C/C++/Java, мож для ещё чего… И дальше написание такого парсера сведётся практически к формальной записи грамматики. А ежели интересует теория гугл://теория+трансляторов
Post #: 5
Страниц:  [1]
Все форумы >> [Веб-программинг] >> парсинг







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.