Главная страница
    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.042 c
2-1169037970
Pasha L
2007-01-17 15:46
2007.02.04
png в bmp


15-1168724753
kolyann..
2007-01-14 00:45
2007.02.04
irc


2-1169203963
FIL-23
2007-01-19 13:52
2007.02.04
создание файлов


2-1168860891
Есипенко
2007-01-15 14:34
2007.02.04
Неправильное округление в функции


15-1168605067
knever
2007-01-12 15:31
2007.02.04
Как оценить стоимость написания программы?





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