Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как найти в end, соответствующий begin-у [D7]


Леван ©   (2006-03-16 11:08:00) 

Привет мастерам
Как в тексте программы найти end  по begin-у и наоборот ?


TStas   (2006-03-21 10:48:00) [1]

Папрсить, батенька. Сначала разобрать код на отдельныеислова. Потом составить те, у которых тожен быть end . И список лескем читать, свтретьлся end увеличил счетчик, встретился его закрывающей, try например, уменьших счетчик. Стал счетчик =0 - нашел что искал. Я когда-то так изскал тэги HTML у них же неограниченная вложенность. Только вот с if облом выйти, наверно, может. Хотя нет. ЕСли есть end, знать есть и бегин. РАзобрать на просто слова не просто, а очень просто
 function IsIdentifier(out IdentStr: String): Boolean;
 var
   ln: Integer;
   p1, p2, ln1: Integer;
 begin
   SkipSpace;
   ln:=Length(s); //Äëèííà ñòðîêè

   Result:=IsLetter(s[p]); //Ïåðâûé ñèìâîë äîëæåí áûòü áóêâîé
   if not result then exit;
   p1:=p; //Íà÷àëî èäåíòèôèêàòîð&# 224;
   p2:=P1;
   inc(p); //Ñäâèãàþ óêàçàòåëü
   while IsLetter(s[p]) or IsDigit(s[p]) do
     begin
     if p


GrayFace   (2006-03-21 10:28:00) [2]

> ППКС
Что за зверь?


tesseract   (2006-03-17 15:35:00) [3]


> Я пока использовал только форматтер DelForEx - прилично
> форматирует.

да в новый gexperts он оказывается тоже вошёл.


clickmaker   (2006-03-17 12:52:00) [4]


> GrayFace ©   (17.03.06 10:50) [15]
> Я пока использовал только форматтер DelForEx - прилично
> форматирует

ППКС


GrayFace   (2006-03-17 10:50:00) [5]

Я пока использовал только форматтер DelForEx - прилично форматирует.


tesseract   (2006-03-17 09:32:00) [6]


> Sergey Masloff   (16.03.06 21:54) [10]

Тогда встречный вопрос .
А какими экспертами кто пользуется ?
Есть среди них с нормальным форматтером?


TUser   (2006-03-17 08:45:00) [7]

far (файлманагер такой) + colorer (плагин к нему)

Програмно - читать текст, обращая внимание на [1], а также на комментарии, апостроф. Рекурсию использовать не надо - надо сделать автомат с конечным числом состояний и читать.


аноним   (2006-03-17 04:53:00) [8]

>end; // if <> then

бррр... не люблю такой изврат. хотя в особо крупных и запутанных блоках помогает. а лучше юзать BDS2006 :) ну или Castalia...


Германн   (2006-03-17 01:42:00) [9]


> Sergey Masloff   (16.03.06 21:54) [10]
>
> tesseract ©   (16.03.06 17:00) [7]
>
> >угу я так делаю
> >if <> then
> >begin
>
> >end; // if <> then
> То есть после энда коммент энд чего это? НЕНАВИЖУ!!!! (Ничего
> личного)
> ;-)))

! - четыре  раза повторен, а ")" только три. Чтобы это значило?


Sergey Masloff   (2006-03-16 21:54:00) [10]

tesseract ©   (16.03.06 17:00) [7]

>угу я так делаю
>if <> then
>begin

>end; // if <> then
То есть после энда коммент энд чего это? НЕНАВИЖУ!!!! (Ничего личного)
;-)))


Gydvin   (2006-03-16 19:54:00) [11]

www.gaplayer.narod.ru

Во ее (программу) колбасит  :)))


Belorus   (2006-03-16 18:34:00) [12]

www.gaplayer.narod.ru

Там лежит програмулька(24КБ) по сортировке таких вещей.

Он в частности пробелы ставит как надо. Можете попробовать. Только не пинайте написал за 2 часа.


tesseract   (2006-03-16 17:00:00) [13]


> Учись правельно оформлять код.


угу я так делаю
if <> then
begin

end; // if <> then


Pavia   (2006-03-16 16:09:00) [14]

Учись правельно оформлять код.


Black Krok   (2006-03-16 12:38:00) [15]

Есть всякие примочки типа GExperts. Ставятся на среду, позволяют кучу всяких сервисов, 3/4 нафиг не нужны :)
Но этот сервис реализован.


Anatoly Podgoretsky   (2006-03-16 12:08:00) [16]

Рекурсивно


Леван   (2006-03-16 12:01:00) [17]

в смисле, глазами или какой-нибудь клавишей ?


Леван   (2006-03-16 12:00:00) [18]

и как искать ? :)


wal   (2006-03-16 11:26:00) [19]

end в программе может закрывать не только begin, но и package, record,  try, case, asm, object, class, initialization, interface, вроде все.
Вот и ищи все эти операторные скобки.


Наверх

Титульная страница Поиск, карта сайта Написать письмо