Главная страница
    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.041 c
3-1163276025
_Ламер_
2006-11-11 23:13
2007.02.04
FROM .... JOIN .... = не догоняю


2-1169130268
vitv
2007-01-18 17:24
2007.02.04
Построение запроса


15-1168519135
DEED
2007-01-11 15:38
2007.02.04
Как назвать флешку? (сьёмный диск)


2-1168667484
TatarinD6
2007-01-13 08:51
2007.02.04
Наверное многим будет полезен


2-1169104807
Glivera
2007-01-18 10:20
2007.02.04
Вопрос по SynEdit





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский