Форум: "Потрепаться";
Текущий архив: 2003.10.30;
Скачать: [xml.tar.bz2];
ВнизЕсть идея - универсальный парсер Найти похожие ветки
← →
Igorek (2003-10-10 12:39) [0]Как вы считаете есть ли смысл писать подобное? Может уже есть написано.
Детали:
Для работы парсер берет необходимую формальную грамматику в соотв. формате из файла. Потом перелопачивает исходник и на выходе дает представление в виде дерева обьектов - лексем.
Фичи:
- поддержка разных форматов представления грамматик через плагины; естественно будет некий универсальный формат - надо просто будет писать конвертаторы;
- соотв. неограниченное колличество грамматик для разных языков;
- куча событий для действий юзера в определенные моменты процесса разбора (например трансляция);
Оформить можно как компонент. Опиши грамматику и пользуйся на здоровье! Задачи парсинга возникают часто - вот и был бы универсальный инструмент. Нюанс правда еще в производительности. Код в котором зашыты возможные лексемы и прямо обработанны возможные ситуации будет конечно быстрее. В данном парсере такой код как бы развертывается в памяти в виде графа в ходе анализа грамматики.
И еще вопрос - как с помощью его же пропарсить грамматику? Ведь что бы ее пропарсить надо иметь ее формат (тоже в виде грамматики). Потом формат формата и т.д. Есть подозрение что в конце концов возможно выйти на некую элементарную грамматику, которую можно легко и просто зашить в сам код. ;-)
Что думаете?
← →
Юрий Федоров (2003-10-10 12:44) [1]Уже есть готовое
← →
Igorek (2003-10-10 12:45) [2]2 Юрий Федоров © (10.10.03 12:44) [1]
Блин, где?
← →
N169 (2003-10-10 12:53) [3]Идея GOLD Parser-а в чистом виде.
http://www.devincook.com/goldparser/
← →
Radionov Alexey (2003-10-10 12:55) [4]На базе GNU что-то умное и красивое написано. Но, блин, забыл как звать :)
← →
pasha_golub (2003-10-10 12:57) [5]XML :-)
← →
Ihor Osov'yak (2003-10-10 12:58) [6]Писать смысла нет. Хотя бы потому, что есть xml. Стандарт де-факто.
← →
Igor_thief (2003-10-10 13:07) [7]Хм...
← →
Ketmar (2003-10-10 13:17) [8]есть, есть. и не один. я штук 5-6 встречал чисто члучайно, сёрфая. адресов не скажу, ибо не люблю универсальные инструменты. мне всегда было проще сделать своё, "заточеное" под конкретную задачу.
← →
Igorek (2003-10-10 13:22) [9]Так что, на данном этапе все задачи парсинга свелись уже только к написанию граматики и юзания соотв. софта?
А компонент такой есть?
← →
Ihor Osov'yak (2003-10-10 13:31) [10]2 [8] Ketmar (10.10.03 13:17)
Вообще-то сначала нужно было определить термин "смысл".. Есть подозрение, что в [6] и [8] они разные. И еще есть подозрение, что в [0] о значении этого понятия не задумывались :-)
← →
Delirium (2003-10-10 13:33) [11]Я в UBPFD некоторое время назад код кинул - парсер именно универсальный, но так-как рекурсивный, то не особо быстрый на больших объёмах.
← →
Igorek (2003-10-10 13:40) [12]Ну хорошо. Возьмем конкретную задачу. Пусть у нас есть стока определенного формата. Скажем Имя:Фамилия:Отчество.
Как мне пропарсить строку и получить значения полей, не написав ни строчки кода по анализу содержимого строки? Что использовать?
← →
Romkin (2003-10-10 13:41) [13]А XML чем плохо? ТАм много всего :)))
← →
Ketmar (2003-10-10 13:41) [14]>Ihor Osov"yak © (10.10.03 13:31) [10]
упс. "есть" в моём посте расшифровавается как "есть уже такие парзеры" %-))
← →
Nikky (2003-10-10 14:00) [15]не имеет смысла, хотя бы потому что эти, как вы выражаетесь "плугины", должны будут быть сложности такого же порядка, что и сам, собственно, механизм. Нечего виртуализировать в данной задаче.
← →
REA (2003-10-10 14:05) [16]А че парсить то? XML уже вроде изобрели как раз для этого.
← →
nikkie (2003-10-10 14:19) [17]> [12] Igorek © (10.10.03 13:40)
regular expressions
← →
Igorek (2003-10-10 14:22) [18]
> nikkie © (10.10.03 14:19) [17]
А конкретнее?
← →
nikkie (2003-10-10 14:31) [19]куда ж конкретнее? даже компонента есть :))
только формальные грамматики тут не причем. ты вообще знаешь, что это такое, или просто слово красивое понравилось?
← →
Igorek (2003-10-10 14:40) [20]
> nikkie © (10.10.03 14:31) [19]
Вот компоненту и назви. А о грамматиках я знаю. И не понаслышке.
← →
nikkie (2003-10-10 14:41) [21]TRegExpr от Андрея Сорокина
http://anso.virtualave.net/
← →
Igorek (2003-10-10 14:46) [22]
> nikkie © (10.10.03 14:41) [21]
Спасибо. Разберемся.
← →
Анонимщик (2003-10-10 16:54) [23]Хирня это все. Парсер всех парсеров - класс TParser в дельфи (модуль classes.pas)
← →
han_malign (2003-10-10 17:06) [24]>Igorek ©
> необходимую формальную грамматику в соотв. формате из файла
- вот сначала познакомтесь, хотя бы, с термином "таблица предшествования", потом почитайте "Теорию трансляторов" - а уже потом выдвигайте "гениальные новаторские" идеи.
З.Ы. У нас на специальности, кто-то из студентов, каждый год делал такой "универсальный парсер", потому что в ручную курсовой по Теории Трансляторов ломало лепить.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.10.30;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.011 c