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

Вниз

Ищу алгоритм разбора   Найти похожие ветки 

 
X9 ©   (2005-10-31 21:42) [0]

Здравсвуйте, Мастера!

Не поделится ли кто-нибудь информацией по составлению алгоритмов разбора строки, в частности интересует быстрый разбор исходников на Pascal.

Заранее всем благодарен,

   С уважением, X9.


 
-=XxX=-   (2005-11-01 01:43) [1]

разбор строки - ты имел ввиду разбивка на  отдельные слова, но что значит быстрый разбор исходников


procedure str_to_words(Var S:string);
 begin
  while pos("  ",s)>0 do
    delete(s,pos("  ",s),1);
  delete(s,1,1);
  delete(s,length(s),1);i:=1;
while pos(" ",s)>0 do
 begin
   words[i]:=copy(s,1,pos(" ",s)-1);
   delete(s,1,pos(" ",s));
   inc(i);
 end;
words[i]:=s;
 end;


 
vertal ©   (2005-11-01 01:50) [2]

Материалов по написанию сканеров куча, есть и куча исходников в сети, было бы желание. Для _быстрого_ разбора я бы вообще не стал пользоваться типом данных string, делел бы через PChar


 
-=XxX=-   (2005-11-01 01:53) [3]

А можно узнать пашьму?, просто честно сказать никогда этим типом не пользовался ))))


 
vertal ©   (2005-11-01 02:13) [4]

> =XxX=-   (01.11.05 01:53) [3]
Из-за расходов на выделение памяти, инициализацию строк, проверки счетчика ссылок. Если исходный текст небольшой, то можно загнать его целиком в память и перемещаться по нему, используя переменную типа Pchar как указатель на последнюю обнаруженную лексему, при этом надо будет хранить ее длину и тип (цифра, ключевое слово, комментарий и т.д.). Это будет быстрее, чем при копировании каждой вновь обнаруженной лексемы в отдельную строку.
Я в кладовку от Керка (kladovka.net.ru) закачивал программу prog2html, там как раз это реализовано (относительно быстрый сканер, хотя конечно можно и дальше оптимизировать).


 
X9 ©   (2005-11-01 18:45) [5]

Требуется разбор теста для последующего его оформления в HTML. То есть нужно отделять от "сухого" текста зарезервированные слова, строковые значения и т. д. Но интересует не готовые решения на конкретном языке, а чисто алгоритмическая сторона.

Просто поражаюсь, с какой скоростью это делает редактор кода Delphi, + ещё строит навигационную карту кода. IMHO быстрее будет сделать очень трудно.

2 vertal
За prog2html спасибо, будем смотреть!


 
xray   (2005-11-01 18:49) [6]

http://rsdn.ru/summary/671.xml


 
X9 ©   (2005-11-01 19:11) [7]

К сожалению, Prog2HTML крайне криво разбирает Pascal.

2 xray
Спасибо, посмотрю.



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

Форум: "Потрепаться";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.014 c
4-1127462761
Still Swamp
2005-09-23 12:06
2005.11.27
Уходит фокус после keybd_event VK_RIGHT


1-1130928645
Maverick
2005-11-02 13:50
2005.11.27
Фрейм - не отображаются контролы


5-1112319727
komusito
2005-04-01 05:42
2005.11.27
Как создать графический компонент нестандартного вида


6-1124370571
Andy K
2005-08-18 17:09
2005.11.27
INDY, перекодировка KOI8-R в cp1251


2-1131469867
pathfinder
2005-11-08 20:11
2005.11.27
Как вставить содержимое перeменной string в код программы?





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