Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.04;
Скачать: CL | DM;

Вниз

Парсинг   Найти похожие ветки 

 
WondeRu ©   (2007-01-12 11:08) [0]

Дан текст:
оператор4 12 34 "111"
оператор2 "2rtgg"
оператор1
оператор3 44 33 33 44 55 33


Таких операторов, предположим, 10000 со своими числами и типами  параметров. Разделитель - конец строки.

Необходимо:
Читать каждую строчку и проверять, какой оператор первый стоит.

Вопрос:
Как сделать проверку на оператор наиболее оптимальной? Как наиболее универсально организовать вызов разных методов в зависимости от оператора?

PS. Для проверки на оператор можно пользоваться хэш-таблицей, но есть ли еще какой-нибудь иной путь?


 
Сергей М. ©   (2007-01-12 11:14) [1]


> WondeRu ©   (12.01.07 11:08)


Воспользуйся Lex&Yacc - там все готово для этой цели и не нужно изобратать никакие велосипеды


 
TCrash   (2007-01-12 12:41) [2]

Сергей М. ©   (12.01.07 11:14) [1]
>Воспользуйся Lex&Yacc

Эт чего такое, если мне позволено будет спросить? В смысле это компонент, класс, или что?
И бесплатное ли это?


 
Орион ©   (2007-01-12 12:45) [3]

> [2] TCrash   (12.01.07 12:41)

http://www.google.com/search?hl=ru&client=opera&rls=ru&hs=ALd&q=Lex+Yacc&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=


 
Карелин Артем ©   (2007-01-12 12:52) [4]

Нечто похожее делал в дельфи.
1) заводил свой тип данных - указатель на процедуру.
2) заводил тип данных типа запись из текстового названия и указателя на эту процедуру.
3) делал массив из данных записей, заполнял его.
4) вызов обработчика делал след образом: брал массив, искал в нем запись по названию обработчика и выполнял обработчик из этой записи.


 
имя   (2007-01-12 16:51) [5]

Удалено модератором


 
stone ©   (2007-01-12 16:53) [6]

Удалено модератором


 
clickmaker ©   (2007-01-12 16:53) [7]

Удалено модератором


 
evvcom ©   (2007-01-12 17:06) [8]

Удалено модератором


 
ren   (2007-01-12 18:26) [9]

Бля, чо за хуйня



Страницы: 1 вся ветка

Текущий архив: 2007.02.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
3-1163386167
Андрей Л.
2006-11-13 05:49
2007.02.04
Иероглифы в базе.


15-1168627859
IMHO
2007-01-12 21:50
2007.02.04
OU, CN в заголовке письма


2-1169076569
Альберт
2007-01-18 02:29
2007.02.04
перерисовка с прозрачностью


2-1169117274
knever
2007-01-18 13:47
2007.02.04
Оптимизация скорости работы программ для технических расчетов


15-1168698485
Гарри Поттер
2007-01-13 17:28
2007.02.04
Старый Новый год.