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

Выпущена версия 3.5.0

В дополнение к встроенным классам table и hash добавлен класс array, предназначенный для работы с обычными или разреженными массивами и совместимый с хешами, использующими числовые ключи. Добавлен новый синтаксис $a[v1;v2;v3...] для инициализации массивов.

Добавлена поддержка синтаксиса $a.(expression)[value], $a.(expression) и ^v.(expression)[args] для упрощения использования выражений при работе с массивами и хешами.

Добавлена поддержка именованных параметров в методах с использованием синтаксиса @method[arg;.named_arg;.named_arg2].

Значительно отредактирована документация (несколько тысяч правок), актуализированы примеры.

Добавлен метод ^hash.rename[from;to] для переименования ключей хеша.

Новый метод ^inet:hostname[] возвращает текущее имя хоста.

В драйвер SQLite добавлена функция regexp, реализованная с использованием упрощенной библиотеки регулярных выражений.

В SQL драйверах и curl добавлена возможность указания через запятую нескольких клиентских библиотек.

Метод ^break[] теперь поддерживается в ^hash.select[] и ^table.select[] для прерывания операций выбора.

Добавлена возможность наследования метода @auto при его объявлении с двумя параметрами.

С помощью опции $.order[self|arg] можно задать порядок элементов в ^a.intersection[$b].

Новый метод ^math:uuid7[] поддерживает стандарт UUID версии 7.

В класс date добавлены методы ^date.double[], ^date.int[].

Реализована поддержка PCRE2, новой версии библиотеки для работы с регулярными выражениями.

Добавлен метод ^math:atan2[a;b] для вычисления четырёхквадрантного арктангенса.

При задании тела ответа в заголовок Content-Disposition добавлено поле filename* для поддержки имен файлов в кодировке UTF-8.

Новое поле $request:path возвращает декодированный путь из URI запроса.

В экранирование HTML добавлено экранирование одинарных кавычек.

Реализован доступ к переменным окружения процесса парсера в режиме веб-сервера.

Новый метод ^reflection:class_alias[] позволяет создавать псевдонимы классов.

В ^string.split[] добавлена опция ’a’ для преобразования строки в массив.

Новый метод ^table.cells[] возвращает массив ячеек текущей строки таблицы.

Новый метод ^table.array[] преобразует таблицу в массив.

Метод запуска скриптов принимает массив аргументов ^file::exec[cmd;;$array].

Поле $json:array[array|hash] задаёт способ обработки JSON-массивов при разборе JSON, по умолчанию они превращаются в массив.

Новая опция $.array[compact|array|object] метода ^json:string[] задаёт вид, в котором массивы преобразуются в JSON.

Добавлен метод ^hash.set[first или last][value] или ^hash.set(индекс)[value] для задания значений элементам хеша по индексу.

Добавлено поле $form:elements, предоставляющее доступ ко всем элементам формы, включая файлы, как к массивам.

Добавлен параметр командной строки -l для указания файла с логами, поле $status:mode с режимом работы парсера.

В методе ^math:digest[] добавлена поддержка HMAC в виде файла и возврата результата в виде файла.

Добавлена возможность передавать файловые объекты в методы работы с путями, такие как ^file:dirname[].

Реализована поддержка блокировок для чтения файлов под Windows.

Ускорена работа с переменной $result.

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

Исправлена некорректная обработка конструкций вида $[a]{ $b }.

Устранены проблемы с формированием списка колонок в режиме передаче нескольких SQL запросов.

Исправлен прием писем с Windows-переносами строк.

Исправлена несовместимость работы с числами в библиотеке libxml на Windows x86.

Исправлено получение статуса возврата ^file::exec[] при его вызове в режиме HTTP-сервера.

Устранена возможность передачи хеша в качестве файлового параметра.

Устранена возможность использовании чисел как хеша.

Исключено влияние 80-битных операций при работе типом double, что приводило к некорректному округлению при вычитании.

Добавлена обработка переполнения при преобразовании double в int.

Cтроки «+» и «-» более не считаются допустимыми числами.

Устранена ошибка «parser already configured» при запуске парсера из каталога с конфигурационным файлом auto.p.

Устранена возможная бесконечная рекурсия в @GET[mode].

Исправлена работа метода ^json:string[..; $.date[unix-timestamp]] с большими датами.

Текущая строка таблицы восстанавливается после исключений в ^t.menu{}.

Исправлена ошибка httpd.write: error sending response: Success (0) в режиме веб-сервера.

Исправлена ошибка инициализации в методах с произвольным числом параметров, если они не были заданы.

Maximum Auto — Купить подержанный автомобиль по выгодной цене. Продажа бу авто с пробегом в кредит или за наличные. Большой выбор машин различных марок в Санкт-Петербурге. Фото, цены, технические характеристики / Dmitry Pigrov

ПроКлинику — Сервис собрал информацию о всех лечебных учреждениях России, помогает пациентам находить необходимые лечебные учреждения, а клиникам работать эффективнее. / Студия «Манитура»

ООО “Кветен” — Основная специализация интернет-магазина — постельные принадлежности премиум-класса. / Альма

ООО «Топ Медиа» — Посадочная страница для компании, специализирующейся на приобретении и управлении проблемной задолженностью физических и юридических лиц (г. Брянск) / Студия «WebSun»

Спецмедика - медицинские товары — Каталог медицинских товаров для профессионалов и простых пользователей / Студия «ClickON»

Сайт Валентина Ивановича Вихорева — Энциклопедия о жизни и творчестве петербуржского автора-исполнителя. / Михаил Колодин

VTC.World — Сообщество, объединяющее игроков в Euro Truck Simulator 2 и American Truck Simulator / Александр Бобров

Кадастровые услуги в Анапе — Сайт с полезной информацией, стоимостью услуг и контактами. / Андрей Шпигунов

Indestroom EU — Escape Room Productions — Производство и продажа готовых эскейп-комнат (квестов) в Европе. / Escape Room Productions

Сайт завода «Калугатрансмаш» / Студия Артемия Лебедева