Компилятор Perl 6

Первый компилятор Perl 6 входил в состав дистрибутива Parrot и был написан на Perl 5. Нынешние версии Parrot до сих пор содержат каталог languages/perl6, однако воспользоваться этим компилятором уже не удастся (хотя нормально компилируется сам) — компилятор не развивается и не поддерживается с июня прошлого года. Читать далее «Компилятор Perl 6»

Еще раз о печати массива

Чтобы вывести на печать содержимое массива, можно интерполировать его значение: say «@array[]»;, либо сказать непосредственно say @array; (но в этом случае элементы не будут разделены пробелами).

Если же поставить оператор ~ перед именем массива (а это означает переключение в строковый контекст), то вывод будет аналогичен тому, что получается при интерполяции: Читать далее «Еще раз о печати массива»

Гипероператоры — 1

В Perl 6 появились так называемые гипероператоры, которые выполняют действия над составными операндами, например, массивами.

Внешне гипероператоры выглядят слегка перегруженными (есть мнение, что они напоминают ASCII-графику). Читать далее «Гипероператоры — 1»

Компиляторы и интерпретаторы

Сегодня попробовать Perl 6 намного проще, чем это было год-два назад. Вот какие инструменты разработки мы имеем на сегодня.

Parrot — независимый от языка интерпретатор байт-кода. Интерпретатор Perl 6, базирующийся на Parrot’е, транслирует код Perl 6 в код на ассемблере Parrot (современные трансляторы используют более высокоуровневый промежуточный IMCC-код). Читать далее «Компиляторы и интерпретаторы»

Регулярные выражения — 2. Группирующие скобки

Правила регулярных выражений, применяемые в предыдущих версиях Perl допускали наличие круглых скобок, но трактовали их либо как сохраняющие, либо как исключительно группирующие в зависимости от наличия непосредственно после открывающей скобки модификатора ? Читать далее «Регулярные выражения — 2. Группирующие скобки»

Регулярные выражения — 3. Квантификаторы

Как и прежде, после любого символа в регулярном выражении допустимо указывать квантификатор — то есть некую конструкцию, которая уточняет, сколько раз символ может встречаться в тестируемой строке. Читать далее «Регулярные выражения — 3. Квантификаторы»

Первая попытка установить Parrot и Perl 6

История началась с дистрибутива parrot-0.0.10. Первая попытка откомпилировать его привела к системе, которой худо-бедно можно пользоваться, но путь не был прямым.

Вначале я компилировал под Windows (с установленным ActivePerl). Собрать parrot компилятором Borland не удалось. Более или менее полный комплект построил компилятор Microsoft Visual C++ 7. Виртуальная машина Parrot заработала. Читать далее «Первая попытка установить Parrot и Perl 6»

Что такое Parrot

Perl 6 идеологически отличается от предыдущих версий. Вместо того, чтобы сразу пуститься в разбор и исполнение кода, вначале инициативу берет компилятор, который преобразует perl-программу в байт-код, а уже затем виртуальная машина parrot выполняет байт-код. Читать далее «Что такое Parrot»

Аргументы командной строки и элементы массивов

В первой строке в функции main() примера parrot/languages/perl6/examples/qsort.p6 делается попытка чтения аргументов командной строки, указанных при запуске скрипта: Читать далее «Аргументы командной строки и элементы массивов»