Diff for /parser3/operators.ru.txt between versions 1.27 and 1.31

version 1.27, 2002/03/27 13:33:31 version 1.31, 2002/04/09 06:47:05
Line 68  Xне сделано, видимо, не будет сделано Line 68  Xне сделано, видимо, не будет сделано
                 $exception.file $exception.lineno [если не запрещены при компиляции]                  $exception.file $exception.lineno [если не запрещены при компиляции]
                 $exception.source = вася                  $exception.source = вася
                 $exception.comment = болван                  $exception.comment = болван
                 ^if($exception.type eq connect){^cache[read]}  
             }              }
             ^case[_default]{              ^case[_default]{
                 код, обрабатывающий другую ошибку                  код, обрабатывающий другую ошибку
Line 86  Xне сделано, видимо, не будет сделано Line 85  Xне сделано, видимо, не будет сделано
         default as-is          default as-is
     !^taint[[lang]][код]      !^taint[[lang]][код]
         default "just tainted, language unknown"          default "just tainted, language unknown"
     !^process[строка, которая будет process-ed, как код]      !^process{строка, которая будет process-ed, как код}
     !^connect[protocol://строка соединения]]{код с ^sql[...]-ями}      !^connect[protocol://строка соединения]]{код с ^sql[...]-ями}
         !mysql://user:pass@{host[:port]|[/unix/socket]}/database?          !mysql://user:pass@{host[:port]|[/unix/socket]}/database?
             charset=cp1251_koi8&              charset=cp1251_koi8&
Line 142  odbc    c:\drives\y\parser3project\odbc\ Line 141  odbc    c:\drives\y\parser3project\odbc\
         /**имя_поля**/'literal'          /**имя_поля**/'literal'
     !^rem{}      !^rem{}
     !^cache[файл](секунд){код}      !^cache[файл](секунд){код}
           !относительное задание времени
         !скэшировать строку, которая получается при выполнении кода на 'секунд' секунд          !скэшировать строку, которая получается при выполнении кода на 'секунд' секунд
         !если 0секунд, значит не кэшировать, а старый такой стереть          !если 0секунд, значит не кэшировать, а старый такой стереть
     ^cache[delete]       !^cache[файл][expires date]{код}
         сигнализирует вышестоящему ^cache "не кэшировать, старое забыть"          !абсолютное задание времени
     ^cache[read]       X^cache[файл] удалить файл [не ругает, если его нет] // такое было, больше не будет, делать ^cache(0)
         сигнализирует вышестоящему ^cache "взять скэшированное насильно, игнорируя expires", <br>      !^cache(секунд)
         выдаёт bool "получилось/нет"      !^cache[expires date]
           !сигнализирует вышестоящему ^cache "уменьши до стольких-то 'секунд'/'expires'"
           !в пределе: ^cache(0) отменить кэширование
       X^cache[read] 
           сигнализирует вышестоящему ^cache "взять скэшированное насильно, игнорируя expires", <br>
           выдаёт bool "получилось/нет"
   
   
     Xесть глобальный флажок в свойствах/командной строке "не оптимизировать"      Xесть глобальный флажок в свойствах/командной строке "не оптимизировать"
     !и есть исключение: ^untaint[html]{код} не оптимизируется безотностительно флажка      !и есть исключение: ^untaint[html]{код} не оптимизируется 
           Xбезотностительно флажка
   
     !у всех макросов есть локальная переменная $result, если в неё что положить,      !у всех макросов есть локальная переменная $result, если в неё что положить,
     !то _это_ будет результатом макроса, а не его тело      !то _это_ будет результатом макроса, а не его тело
Line 303  odbc    c:\drives\y\parser3project\odbc\ Line 309  odbc    c:\drives\y\parser3project\odbc\
         значением $hash.ключ будет hash в котором поля значений будут ключами          значением $hash.ключ будет hash в котором поля значений будут ключами
         поля значений могут быть не указаны, тогда ими будут все столбцы, включая ключевой          поля значений могут быть не указаны, тогда ими будут все столбцы, включая ключевой
     !^таблица.columns[]+ таблица из одного столбца $column      !^таблица.columns[]+ таблица из одного столбца $column
       $отфильтрованное[^таблица.filter(выражение)]
       $adults[^man.filter($man.age>=18)]
   
   
   
 !hash  !hash
     !в выражении       !в выражении 
Line 526  Xhashfile Line 536  Xhashfile
         блокируется          блокируется
         выполняется код          выполняется код
         разблокируется          разблокируется
     chmod НЕТ И НЕ БУДЕТ, ЧТОБЫ НЕ МОГЛИ СДЕЛАТЬ executable и запустить, даже если ftp запрещает chmod.      Xchmod[...] НЕТ И НЕ БУДЕТ, ЧТОБЫ НЕ МОГЛИ СДЕЛАТЬ executable и запустить, даже если ftp запрещает chmod.
   
 !math  !math
     !$math:PI      !$math:PI
Line 545  Xhashfile Line 555  Xhashfile
     !всё происходит в localtime,       !всё происходит в localtime, 
     !временная зона задаётся вне parser средствами OS      !временная зона задаётся вне parser средствами OS
     !^date::now[]      !^date::now[]
       !^date::now(смещение в днях) выдаёт сейчас+смещение
     !^date::create(дней с epoch) // старое имя set      !^date::create(дней с epoch) // старое имя set
     !^date::create(year;month;day[;hour[;minute[;second]]]) // старое имя set      !^date::create(year;month[;day[;hour[;minute[;second]]]]) // старое имя set
       ^date::sql-create[дата в формате %Y-%m-%d %H:%M:%S]
           для удобного создания по значению из базы
     !$date.year month day  hour minute second  weekday read-only          !$date.year month day  hour minute second  weekday read-only    
     !^date.roll[year|month|day](+-смещение) сдвигает дату      !^date.roll[year|month|day](+-смещение) сдвигает дату
     !^date.sql-string[] %Y-%m-%d %H:%M:%S      !^date.sql-string[] %Y-%m-%d %H:%M:%S
Line 797  xdoc(xnode) Line 810  xdoc(xnode)
         там лежат в обратном порядке имена[name] и места вызовов[file line]           там лежат в обратном порядке имена[name] и места вызовов[file line] 
         операторов/методов, приведших к ошибке.          операторов/методов, приведших к ошибке.
   
 системные типы ошибок:  !системные типы ошибок:
     parser.compile       ^test[}                компиляция (непарная скобка, ...)      !parser.compile       ^test[}                компиляция (непарная скобка, ...)
     parser.runtime       ^if(0).                параметры (больше/меньше, чем нужно, не тех типов, ...)      !parser.runtime       ^if(0).                параметры (больше/меньше, чем нужно, не тех типов, ...)
     number.zerodivision  ^eval(1/0) ^eval(1%0)      !number.zerodivision  ^eval(1/0) ^eval(1%0)
     number.format        ^eval(abc*5)      !number.format        ^eval(abc*5)
     file.lock      !file.missing         ^file:delete[delme]                         not found
     file.read                                   not found      !file.access          ^table::load[.]                             no rights
     file.write                                  no rights      !image.format         ^image::measure[index.html]                 not gif/jpg
     file.format                                 not gif/jpg      !sql.connect          ^connect[mysql://baduser:pass@host/db]{}    not found/timeout
     sql.connect                                 not found/timeout      !sql.execute          ^void:sql{select bad}                       syntax error
     sql.execute                                 syntax error      !xml                  ^xdoc::create{<forgot?>}                    any error in xml/xslt libs
     xml                                         any error in xml/xslt libs      !smtp.connect                                                     not found/timeout
     smtp.connect                                not found/timeout      !smtp.execute                                                     communication error
     smtp.execute                                communication error  
   
 !нужно выключить русский apache: CharsetDisable on  !нужно выключить русский apache: CharsetDisable on
   

Removed from v.1.27  
changed lines
  Added in v.1.31


E-mail: