Добавил:
Tushkan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Задания по FPTL / Examples / Tokenizer
.txt Data List['t]
{
List = c_nil ++ 't * List['t].c_cons;
}
Scheme Tokenize
{
// Разбиение строки на лексемы с последующим формированием списка лексем.
DoTokenize = (([1] * "([\\w]+)[\\s]+([\\w|\\s]*)").match * [1]).(id -> ([1]*[2].DoTokenize).c_cons, ([3]*c_nil).c_cons);
@ = id.DoTokenize.print;
}
Application
% Tokenize("f a b ccc ddd ee f gg")
{
List = c_nil ++ 't * List['t].c_cons;
}
Scheme Tokenize
{
// Разбиение строки на лексемы с последующим формированием списка лексем.
DoTokenize = (([1] * "([\\w]+)[\\s]+([\\w|\\s]*)").match * [1]).(id -> ([1]*[2].DoTokenize).c_cons, ([3]*c_nil).c_cons);
@ = id.DoTokenize.print;
}
Application
% Tokenize("f a b ccc ddd ee f gg")