Форум: "Потрепаться";
Текущий архив: 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.018 c