Всё-таки неправильно разбирать начинать с правой стороны, т.к. парсится программа слева направо. Хотя итоговый разбор — верный.
Кстати, смотреть подобное можно с помощью Deparse:
$ perl -MO=Deparse -E 'Illegal division by zero at /tmp/quine.pl line 1.'
use feature 'current_sub', 'evalbytes', 'fc', 'say', 'state', 'switch', 'unicode_strings', 'unicode_eval';
'division'->Illegal('zero'->by('at' / 'tmp' / 'quine' . 'line'->pl(1)));
-e syntax OK
Конечно, вы по большей части правы, но есть и новые проекты.
Есть такой Perl, который весьма похож на Golang (демоны на AnyEvent + Coro), только с удобной динамической типизацией и прочими удобствами скриптовых языков.
работает не «список в скалярном контексте», а оператор "," в скалярном контексте:
Binary "," is the comma operator. In scalar context it evaluates its left argument, throws that value away, then evaluates its right argument and returns that value. This is just like C's comma operator.
Поэтому всё логично, мы получаем последний элемент
Да, возможно для данной статьи этот тег избыточен.
Просто всё, окружающее эту систему, написано на Perl, и я упустил из виду, что мы ничего из этого не освещали.
Очень-очень напоминает мой (Mons Anderson) доклад, особенно в части примеров кода.
Либо мы очень сходно мыслим, либо кто-то случайно забыл указать используемые источники ;)
Всё-таки неправильно разбирать начинать с правой стороны, т.к. парсится программа слева направо. Хотя итоговый разбор — верный.
Кстати, смотреть подобное можно с помощью Deparse:
Есть такой Perl, который весьма похож на Golang (демоны на AnyEvent + Coro), только с удобной динамической типизацией и прочими удобствами скриптовых языков.
По другую сторону баррикад тоже не спали )
Спасибо вам!
работает не «список в скалярном контексте», а оператор "," в скалярном контексте:
Поэтому всё логично, мы получаем последний элемент
Так-то я и Perl вывел в top 50 ;)
Просто всё, окружающее эту систему, написано на Perl, и я упустил из виду, что мы ничего из этого не освещали.
S3 — это объектное хранилище. С очень хорошо задизайненым API под горизонтальное масштабирование.
Насчёт OpenSource — подумаем. Может быть через пол-годика и выложим.
Там Lua (Tarantool) и Perl (AnyEvent/EV) ;)
думаю до 2кр (25$) в текущем функционале.
Есть в открытом доступе парсеры?
Под ~x86 всегда собираю
А вообще хорошо-бы прочитать (или хотя-бы просмотреть):
perlintro, perlfunc, perlop, perlvar, perlsyn, perlreftut, perlre/perlrequick
www.nestor.minsk.by/sr/2008/09/sr80902.html
taka.xfo.cc/utf8.xul
А вот статью так и не выложил
т.е. есть она только в том спецвыпуске «Сетевых решений», который был сделан к By Perl
www.nestor.minsk.by/sr/2008/09/sr80902.html
Либо мы очень сходно мыслим, либо кто-то случайно забыл указать используемые источники ;)