Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Регулярные выражения


Автор: mr.Anderson 14.8.2007, 17:56
Задача. Анализируется файл, в котором написан код Паскаля, и второй файл, в котором код C++. Нужно написать регулярки (2), первая из которых ловила бы все переменные в Паскале, а вторая - все переменные в С++.

Привожу примеры кода Паскаля и С++ на случай, если вам эти языки не знакомы.

Паскаль:
Код

procedure MyProc;
var
 x    : Integer;
 var : Boolean;
 arr : Array of String;
begin
 //code
end;

Из этого фрагмента регулярка должна вернуть x, var и arr.

С++:
Код

void __fastcall myfunc( void )
{
 int x = 1;
 short y = 2;

 ShowMessage( IntToStr( x + y ) );
}

Из этого фрагмента регулярка должна вернуть x и y.

Автор: vasac 14.8.2007, 18:12
Это вам токинезатор нужно полноценный делать, а не регулярку

Автор: mr.Anderson 14.8.2007, 18:39
Где почитать? smile

Автор: BuShaRt 14.8.2007, 18:58
http://phpclub.ru/detail/article/simple_regular
http://phpclub.ru/detail/article/regexp_1
http://phpclub.ru/detail/article/regexp_2

Автор: sTa1kEr 14.8.2007, 19:03
Цитата(mr.Anderson @  14.8.2007,  18:39 Найти цитируемый пост)
Где почитать?  

http://ru2.php.net/manual/en/ref.tokenizer.php
http://en.wikipedia.org/wiki/Tokenizing
http://sourceforge.net/search/?type_of_search=soft&words=Tokenizer
И наконец http://www.google.com/search?q=Tokenizer

Автор: mr.Anderson 14.8.2007, 19:09
Всем спасибо за информацию! smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)