parser
Parser 3 — простой и удобный объектно-ориентированный язык, позволяющий быстро создавать хорошие сайты.
parser bird
Скачать Parser:    Windows    Linux    Mac OS X   FreeBSD 8 9 10
Что такое Parser?
Parser — это технология для самостоятельного создания сайтов с помощью простого языка. Parser начал создаваться в Студии Лебедева в 1997 году. Сегодня подавляющее большинство сайтов, создаваемых Студией Лебедева, делаются с его помощью.
А зачем он вообще?
Язык специально спроектирован и оптимизирован для того, чтобы было удобно создавать хорошие сайты. Безопасная работа с формами, cookies, табличными файлами, базами данных и XML — часть языка, а модульность языка позволяет легко наращивать функциональность.
Если есть PHP, то для чего Parser?
PHP — это язык программирования, требующий соответствующей подготовки. Parser же простыми средствами решает сложные задачи, что позволяет простым смертным создавать и поддерживать сложные динамические сайты без больших затрат времени.
28 апреля 2016

Открылась обновленная версия сайта

Ко дню четырнадцатилетия «Парсера» открылась обновленная версия сайта. Заработал раздел «Библиотека», в котором по тегам сгруппированы готовые решения различных задач. У зарегистрированных пользователей появилась возможность самостоятельно добавлять свои сайты в раздел «В действии».
18 ноября 2015
Выпущена версия 3.4.4

Расширен диапазон дат, поддерживаемых классом date. Поддерживаются даты от 0000-00-00 00:00:00 до 9999-12-31 23:59:59.

Реализовано редактирование таблиц. Теперь можно изменить значение ячейки и вставить строку ($t.name[value] и ^t.insert{row}).

При добавлении строки в таблицу можно задать ее в виде хеша ^таблица.append[ $.a[строка] $.b[строка] ].

В таблице и хеше реализован приоритет поиска метода при вызове метода (^таблица.count[]), при обращению к полю ($таблица.count) методы не возвращаются в принципе. Ранее независимо от способа обращения в таблице был приоритет метода, а в хеше приоритет поля, что приводило к проблемам например если в хеше был ключ foreach.

В класс hash добавлены методы ^хеш.keys[], ^хеш.count[], ^хеш.at[...] в дополнение к существующим методам, начинающимся с _.

Классом date поддерживается подмножество формата ISO 8601, можно работать с датами в любой временной зоне (^date::create[2015-09-08T18:24:52+03:00]).

Добавлена возможность задания временной зоны по умолчанию, например если время сервера отличается от времени сайта, ^date:roll[TZ;MSK-3].

Расширен c 32 до 64 бит поддерживаемый диапазон чисел в функции ^math:convert[] и при записи числа в шестнадцатеричном виде (0XNN).

Реализована поддержка IDNA (кириллических доменов), как при загрузке файлов по HTTP, так и в виде отдельных методов кодирования и декодирования (^строка.idna[] и ^string:idna[закодированная строка]).

Добавлены методы для работы с DNS: ^inet:name2ip[name; $.ipv[4|6|any] $.table(true) ] для прямого преобразования имени в адрес и ^inet:ip2name[ip; $.ipv[4|6|any] ] для обратного преобразования.

Оптимизированы обращения $var.CLASS, $var.CLASS_NAME, они теперь обрабатываются на этапе компиляции.

Добавлен метод сортировки хеша по строке ^хеш.sort[key;value]{string-key-maker}[[asc|desc]] или числу ^хеш.sort[key;value](numeric-key-maker)[[asc|desc]].

^hash.delete[] (без параметров) очищает существующий хеш.

Добавлены $request:headers, $request:method, $request:поле (ранее эту информацию нужно было получать через $env).

Можно удалить заголовок в $response:fields, задав ему пустое значение.

Добавлена поддержка HTTP метода PUT.

Добавлен метод ^curl:info[...], выдающий информацию о последнем запросе.

При вызове ^file::load[...] можно явно задать $.response-charset (если сервис выдает некорректную кодировку).

Теперь ^строка.left(-1) выдает всю строку.

Поддерживается вызов ^строка.trim[набор], эквивалентный вызову ^строка.trim[both;набор].

^string:js-unescape[...] теперь возвращает «грязную» строку.

Добавлен метод ^string:unescape[[js|url];закодированное1; $.charset[кодировка] ]].

При вызове ^json:string[...] в параметре $._default можно передать имя метода, и при сериализации объектов будет вызываться метод объекта с таким именем.

При вызове ^json:string[...] можно задать способ выдачи неопределенных значений: в виде пустой строки ($.void[string]) или как null ($.void[null], по умолчанию).

Улучшена обработка ошибок ^json:parse[...], теперь в исключении показывается проблемный фрагмент, для частых ошибок сделаны отдельные сообщения.

При вызове ^json:parse[...] можно отключить преобразование целых чисел в числа, оставив их строками $.int(false).

Добавлен метод ^reflection:def[class;name] для проверки класса на существование.

Добавлен метод ^reflection:class_by_name[class_name] для получения класса по имени.

Добавлен метод ^reflection:is[element_name;class_name], расширяющий функциональность оператора is и позволяющий определить, является ли $element_name кодом.

^таблица.count[columns] работает и для неименованных таблиц.

^хеш.at[...] может возвращать не только значение, но и ключ, и пару ключ-значение.

Переменные класса double не могут принимать значения NaN и Inf, вычисление ^math:sqrt(-1) приведет к исключению.

Исключения компиляции кода унифицированы по структуре с исключениями выполнении кода.

Обновлены библиотеки сборки мусора libgc с версии 7.2d до 7.2f и регулярных выражений pcre с версии 8.33 до 8.37.

В Windows версии увеличен лимит памяти в libgc и при ошибках больше не выскакивает окно с сообщением.

Исправлен ряд ошибок:

Исправлена ошибка, приводившая к некорректной обработке чисел, начинавшихся с 0.

При сериализации в json символы \u2028 and \u2029 (разделитель строки/абзаца) теперь корректно экранируются.

Исправлена ошибка, иногда приводившая к исключению при перекодировании пустого параметра.

Исправлена ошибка, приводившая к исключению при передаче пустого хеша в случае ^table::create[$таблица;^hash::create[]].

Исправлена ошибка, приводившая к неполной смене языковых переменных при установке mysql соединения с параметром ?charset.

Исправлена ошибка, иногда приводившая к некорректной сериализации объектов типов, указанных в параметрах ^json:string.

Исправлена ошибка, иногда приводившая к исключению «can’t set base while appending methods to class» при компиляции.

Исправлена работа с грязными данными в присваивании значения xml-узла ($node.nodeValue[^taint[&]test]).

Исправлена ошибка, из-за которой @GET[def] всегда возвращал истину.

Исправлена перекодировка почтовых заголовков в $mail:received.

Исправлена ошибка, приводившая к core если @GET_DEFAULT[] возвращал код.

Исправлена ошибка, в определенных случаях приводившая к исключению при выдаче исключения. :)

Добавлена проверка на пустоту ключей хеш-файла.

Исправлена ошибка, приводившая к исключению при вызове ^json:string($double).

Данные в $mail:received теперь считаются «грязными».

Исправлена ошибка, из-за которой не выдавались исключения при обращении к несуществующим полям класса mail.

Исправлена ошибка вычисления временной зоны в $mail:received.date.

Исправлена ошибка, приводившая к смене имени файла в заголовке Content-Disposition: в новой версии GCC.

Исправлена ошибка, из-за которой не обрабатывались исключения в ^cache[some](0).

Исправлена ошибка, из-за которой не находились директории в файловой системе xfs.

Исправлена ошибка, приводившая к core при сериализации объектов, не имеющих хеш-представления.

Исправлена ошибка, из-за которой ^string:base64[] возвращал «c3RyaW5n».

Исправлена ошибка, из-за которой удалялся BOM-код UTF-8 из файлов, загружаемых в другой кодировке.

Республиканский издательский дом. / Манитура

ООО "Дом и Сад Тольятти" — На сайте размещен каталог газонокосилок и прочего полезного в хозяйстве оборудования. / Альма

Сайт коллегии адвокатов «Делькредере» / Студия Артемия Лебедева

Бригада — Строят дома и бани в республике Татарстан. / Габдуллин Рамиль

Провинция 35 — Российская экспортно-импортная торговая компания, которая предоставляет широкий спектр торгово-экономических и транспортных услуг по работе с Китаем и Японией. / Эдуард Кожевников

Строительная техника и запчасти / Владимир Черняков

Проект "ТестАнкета" — Тестирование и анкетирование для учебных заведений, предприятий, государственных и социологических организаций. / Михаил Колодин

Brandwill — Креативное агентство / Владимир Обухов

Интернет портал "Бизнес ключ" — Авторы регистрируются и публикуют свои новости. Есть возможность участия в рейтинге сайтов. Счетчик учитывает количество показов и собирается статистика по дням и месяцам. / Мастерская Интернет Технологий

Автоматика для твердотопливных котлов — Украинская быстроразвивающаяся компания по производству и установке твердотопливных котлов и отопительного оборудования. / Егор Кузьмичёв