Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.098 c
15-1168790517
Ricks
2007-01-14 19:01
2007.02.04
www.zadarma.com бесплатный интернет по Украине


3-1163659092
Ega23
2006-11-16 09:38
2007.02.04
Что отработает раньше: TDataSet.OnCalcField


15-1168895678
VolJinn
2007-01-16 00:14
2007.02.04
Коммуникатор


15-1168608312
kaZaNoVa
2007-01-12 16:25
2007.02.04
Идеальная защита лицензионного ПО


2-1169102539
irmantukas
2007-01-18 09:42
2007.02.04
QRStringsBand





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский