|
|
| version 1.257, 2024/12/19 23:17:54 | version 1.258, 2024/12/19 23:37:03 |
|---|---|
| Line 107 | Line 107 |
| ^process[[$caller.CLASS|$object|$КЛАСС:CLASS]]{строка, которая будет process-ed, как код}[ | ^process[[$caller.CLASS|$object|$КЛАСС:CLASS]]{строка, которая будет process-ed, как код}[ |
| $.main[во что переименовать @main] | $.main[во что переименовать @main] |
| $.file[имя файла из которого, якобы, данный текст] | $.file[имя файла из которого, якобы, данный текст] |
| $.lineno(номер строки в файле, откуда данный текст. можно отрицательный) | $.lineno(номер строки в файле, откуда данный текст. можно отрицательный) |
| ] | ] |
| ^process..[путь][во что переименовать @main] | ^process..[путь][во что переименовать @main] |
| по умолчанию, методы компилируются в $self [в случае оператора, $self=$MAIN:CLASS] | по умолчанию, методы компилируются в $self [в случае оператора, $self=$MAIN:CLASS] |
| Line 613 regex | Line 613 regex |
| логическое значение всегда равно true | логическое значение всегда равно true |
| числовое значение равно количеству байт скомпилированного шаблона. | числовое значение равно количеству байт скомпилированного шаблона. |
| ^regex::create[шаблон-строка|regex][[опции поиска]] | ^regex::create[шаблон-строка|regex][[опции поиска]] |
| ^шаблон.size[] количество байт скомпилированного шаблона | ^шаблон.size[] |
| количество байт скомпилированного шаблона | |
| если значение очень большое - стоит почитать документацию по pcre и, возможно, переписать шаблон. | если значение очень большое - стоит почитать документацию по pcre и, возможно, переписать шаблон. |
| ^шаблон.study_size[] размер study-структуры. если==0 - шаблон не может быть "изучен" | ^шаблон.study_size[] |
| $шаблон.pattern текст шаблона | размер study-структуры. если==0 - шаблон не может быть "изучен" |
| $шаблон.options строка с исходным текстом опций | $шаблон.pattern |
| текст шаблона | |
| $шаблон.options | |
| строка с исходным текстом опций | |
| reflection | reflection |
| ^reflection:create[класс;конструктор[;пара;[мет[;ры]]]] вызывает указанный конструктор класса (не более 100 параметров) | ^reflection:create[класс;конструктор[;пара;[мет[;ры]]]] |
| ^reflection:create[ $.class[name] $.constructor[name] $.arguments[ $.1[па] $.2[рам] $.3[етры] ] ] вызывает указанный конструктор класса | вызывает указанный конструктор класса (не более 100 параметров) |
| ^reflection:classes[] хеш со всеми классами. ключ -- имя класса, значение бывает methoded (класс с методами) или void | ^reflection:create[ $.class[name] $.constructor[name] $.arguments[ $.1[па] $.2[рам] $.3[етры] ] ] |
| ^reflection:class[объект] класс переданного объекта | вызывает указанный конструктор класса |
| ^reflection:class_name[объект] имя класса переданного объекта | ^reflection:classes[] |
| ^reflection:base[объект] родительский класс переданного объекта | хеш со всеми классами. ключ -- имя класса, значение бывает methoded (класс с методами) или void |
| ^reflection:base_name[объект] имя родительского класса переданного объекта | ^reflection:class[объект] |
| ^reflection:class_by_name[имя класса] получение класса по имени | класс переданного объекта |
| ^reflection:class_alias[имя класса;новое имя класса] задает псевдоним для указанного класса | ^reflection:class_name[объект] |
| ^reflection:def[class;имя класса] проверка класса на существование | имя класса переданного объекта |
| ^reflection:methods[класс] хеш со списком методов указанного класса, значения -- строки 'native' или 'parser' | ^reflection:base[объект] |
| ^reflection:method[класс или объект;имя метода] возвращает junction-method класса или объекта | родительский класс переданного объекта |
| ^reflection:filename[объект или класс или метод] возвращает имя файла, где определен объект, класс или метод | ^reflection:base_name[объект] |
| ^reflection:fields[класс или объект] хеш со списком статических полей указанного класса или динамических полей указанного объекта | имя родительского класса переданного объекта |
| ^reflection:fields_reference[объект] редактируемый хеш динамических полей указанного объекта | ^reflection:class_by_name[имя класса] |
| ^reflection:field[класс или объект;имя поля] возвращает значение указанного поля класса или объекта. getter-ы игнорируются. | получение класса по имени |
| ^reflection:copy[источник;назначение] копирует поля из одного объекта или класса в другой | ^reflection:class_alias[имя класса;новое имя класса] |
| ^reflection:uid[класс или объект] возвращает идентификатор объекта или класса | задает псевдоним для указанного класса |
| ^reflection:method_info[класс;метод] хеш с параметрами указанного метода класса | ^reflection:def[class;имя класса] |
| $.inherited[класс] имя класса, где метод был определён (возвращается только если метод был определён в предке) | проверка класса на существование |
| $.overridden[класс] имя класса, где метод был определён (возвращается только если метод был определён в предке) | ^reflection:methods[класс] |
| хеш со списком методов указанного класса, значения -- строки 'native' или 'parser' | |
| ^reflection:method[класс или объект;имя метода] | |
| возвращает junction-method класса или объекта | |
| ^reflection:filename[объект или класс или метод] | |
| возвращает имя файла, где определен объект, класс или метод | |
| ^reflection:fields[класс или объект] | |
| хеш со списком статических полей указанного класса или динамических полей указанного объекта | |
| ^reflection:fields_reference[объект] | |
| редактируемый хеш динамических полей указанного объекта | |
| ^reflection:field[класс или объект;имя поля] | |
| возвращает значение указанного поля класса или объекта. getter-ы игнорируются. | |
| ^reflection:copy[источник;назначение] | |
| копирует поля из одного объекта или класса в другой | |
| ^reflection:uid[класс или объект] | |
| возвращает идентификатор объекта или класса | |
| ^reflection:method_info[класс;метод] | |
| хеш с параметрами указанного метода класса | |
| $.inherited[класс] имя класса, где метод был определён (возвращается только если метод был определён в предке) | |
| $.overridden[класс] имя класса, где метод был определён (возвращается только если метод был определён в предке) | |
| для native классов возвращается хеш: | для native классов возвращается хеш: |
| .min_params(минимально необходимое число параметров) | .min_params(минимально необходимое число параметров) |
| .max_params(максимально возможное число параметров) | .max_params(максимально возможное число параметров) |
| .call_type[dynamic|static|any] | .call_type[dynamic|static|any] |
| для parser классов возвращается хеш: | для parser классов возвращается хеш: |
| ключ -- номер параметра (0, 1, ...), значение - имя параметра | ключ -- номер параметра (0, 1, ...), значение - имя параметра |
| ^reflection:dynamical[[object or class, caller if absent]] | ^reflection:dynamical[[object or class, caller if absent]] |
| возвращает true, если метод был вызван из динамического контекста при передаче | возвращает true, если метод был вызван из динамического контекста при передаче |
| параметра возвращает true, если передан динамический объект, false если класс | параметра возвращает true, если передан динамический объект, false если класс |
| ^reflection:delete[класс или объект;имя переменной] удаляет переменную с указанным именем в указанном классе или объекте | ^reflection:delete[класс или объект;имя переменной] |
| ^reflection:is[имя элемента;имя класса][[контекст]] аналог оператора is, позволяющий определить, является ли элемент кодом. | удаляет переменную с указанным именем в указанном классе или объекте |
| ^reflection:tainting[[язык|tainted|optimized];строка] строка, в которой каждому символу исходной строки соотвествует символ с кодом преобразования | ^reflection:is[имя элемента;имя класса][[контекст]] |
| ^reflection:stack[ $.args(false/true) $.locals(false/true) $.limit(n) $.offset(o)] текущее состояние стека вызовов методов на парсере | аналог оператора is, позволяющий определить, является ли элемент кодом. |
| ^reflection:tainting[[язык|tainted|optimized];строка] | |
| строка, в которой каждому символу исходной строки соотвествует символ с кодом преобразования | |
| ^reflection:stack[ $.args(false/true) $.locals(false/true) $.limit(n) $.offset(o)] | |
| текущее состояние стека вызовов методов на парсере | |
| ^reflection:mixin[источник; $.to[получатель] $.name[имя] $.methods(true/false) $.fields(true/false) $.overwrite(false/true) ] | ^reflection:mixin[источник; $.to[получатель] $.name[имя] $.methods(true/false) $.fields(true/false) $.overwrite(false/true) ] |
| копирует в класс методы и поля другого класса | копирует в класс методы и поля другого класса |
| Line 885 file | Line 912 file |
| ^file:justname[/a/some.tar.gz|file]=some.tar | ^file:justname[/a/some.tar.gz|file]=some.tar |
| ^file:justext[/a/some.tar.gz|file]=gz | ^file:justext[/a/some.tar.gz|file]=gz |
| /some/page.html: ^file:fullpath[a.gif] => /some/a.gif | /some/page.html: ^file:fullpath[a.gif] => /some/a.gif |
| ^файл.sql-string[] внутри ^connect даст правильно escaped строку, которую можно в запрос отдать | ^файл.sql-string[] |
| внутри ^connect даст правильно escaped строку, которую можно в запрос отдать | |
| ^file::sql{query}[[ $.name[имя_файла_для_download] $.content-type[пользовательский content-type] ]] | ^file::sql{query}[[ $.name[имя_файла_для_download] $.content-type[пользовательский content-type] ]] |
| результат запроса должен быть "одна строка". | результат запроса должен быть "одна строка". |
| колонки: | колонки: |
| первая колонка - данные | первая колонка - данные |
| если есть вторая - это имя файла | если есть вторая - это имя файла |
| если есть третья - это content-type | если есть третья - это content-type |
| ^файл.base64[ $.pad(bool) $.wrap(bool) $.url-safe(bool) ] encode | ^файл.base64[ $.pad(bool) $.wrap(bool) $.url-safe(bool) ] |
| encode | |
| ^file:base64[имя файла[; $.pad(bool) $.wrap(bool) $.url-safe(bool) ]] | ^file:base64[имя файла[; $.pad(bool) $.wrap(bool) $.url-safe(bool) ]] |
| encode | encode |
| ^file::base64[encoded string[; $.pad(bool) $.strict(bool) url-safe(bool) ]] | ^file::base64[encoded string[; $.pad(bool) $.strict(bool) url-safe(bool) ]] |
| decode | |
| ^file::base64[mode;имя файла;encoded string[; $.content-type[...] $.pad(bool) $.strict(bool) url-safe(bool) ]] | ^file::base64[mode;имя файла;encoded string[; $.content-type[...] $.pad(bool) $.strict(bool) url-safe(bool) ]] |
| decode | decode |
| ^file:crc32[имя файла] | ^file:crc32[имя файла] |
| вычисляет crc32 файла с указанным именем | вычисляет crc32 файла с указанным именем |
| ^файл.crc32[] | ^файл.crc32[] |
| вычисляет crc32 объекта | вычисляет crc32 объекта |
| ^файл.md5[] | ^файл.md5[], ^file:md5[имя файла] |
| ^file:md5[имя файла] | |
| выдает digest файла, длиной 16 байт в виде строки, | выдает digest файла, длиной 16 байт в виде строки, |
| где байты digest выданы в hex виде, впритык, в нижнем регистре | где байты digest выданы в hex виде, впритык, в нижнем регистре |
| Line 1290 MAIN | Line 1319 MAIN |
| $exception.source строка, из-за которой случилась проблема | $exception.source строка, из-за которой случилась проблема |
| $exception.comment комментарий english | $exception.comment комментарий english |
| stack табличка из колонок file line name, | stack табличка из колонок file line name, |
| там лежат в обратном порядке имена[name] и места вызовов[file line] | там лежат в обратном порядке имена[name] и места вызовов[file line] |
| операторов/методов, приведших к ошибке. | операторов/методов, приведших к ошибке. |
| при загрузке файла (file::load, table::load, xdoc::load) можно указать такое имя файла: | при загрузке файла (file::load, table::load, xdoc::load) можно указать такое имя файла: |
| Line 1356 MAIN | Line 1385 MAIN |
| об этом будет записано в parser3.log | об этом будет записано в parser3.log |
| если описание метода содержит локальную переменную result в явном виде (есть и неявная переменная) | если описание метода содержит локальную переменную result в явном виде (есть и неявная переменная) |
| то код вывода пробельных литералов не попадает в конечный байт-код. | то код вывода пробельных литералов не попадает в конечный байт-код |