Главная страница
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.046 c
8-1148658042
Алексей89
2006-05-26 19:40
2007.02.04
Выполнить выделение кажд. единицы одинакового кванта времени


15-1168847586
novill
2007-01-15 10:53
2007.02.04
D6 Вертикальное выделение, как отключить?


15-1169034793
Ega23
2007-01-17 14:53
2007.02.04
Ну вот прошёл тестирование


4-1159123015
Fio
2006-09-24 22:36
2007.02.04
Поиск и регистрация процессов в WinXP


15-1169017524
vajo
2007-01-17 10:05
2007.02.04
подскажите настройку интернет экплоэра