Diff for /parser3/operators.ru.txt between versions 1.19 and 1.20

version 1.19, 2002/03/15 10:08:13 version 1.20, 2002/03/18 15:29:45
Line 49  Xне сделано, видимо, не будет сделано Line 49  Xне сделано, видимо, не будет сделано
     !^switch[значение]{^case[вариант1[;вариант2...]]{действие}^case[DEFAULT]{действие по умолчанию}}      !^switch[значение]{^case[вариант1[;вариант2...]]{действие}^case[DEFAULT]{действие по умолчанию}}
     !^while(условие){тело}      !^while(условие){тело}
     !^for[i](0;4){тело}[[разделитель]|{разделитель который выполняется перед непустым очередным не первым телом}]      !^for[i](0;4){тело}[[разделитель]|{разделитель который выполняется перед непустым очередным не первым телом}]
     X^exit[] + - прекращяет обработку запроса.       !^use[модуль]
       !^try{
           ...
           !^throw[sql.connect;вася;болван] // был ^error[текст]
           ...
       }{
           ^if($exception.type eq sql){
                   $exception.handled(1)  ^rem{флаг, что exception обработан}
                   ....
           }
           
           ^switch($exception.type){
                   ^case[sql;mail]{
                           $exception.handled(1)
                   код, обрабатывающий sql ошибку
                           $exception.type = sql.connect
                               $exception.file $exception.lineno [если не запрещены при компиляции]
                           $exception.source = вася
                           $exception.comment = болван
                           ^if($exception.type eq connect){^cache[read]}
                   }
                   ^case[_default]{
                           код, обрабатывающий другую ошибку
                           ^throw[$exception] << re-throw
                   }
               }
       }
       ^exit[] + - прекращяет обработку запроса. 
         удобно сделать после выставления 401 ошибки          удобно сделать после выставления 401 ошибки
     X^return[результат] + - отваливает из выполнения метода,       ^return[результат] + - отваливает из выполнения метода, 
         выдавая нестандартный результат          выдавая нестандартный результат
     X^break[] + - обрывает цикл      ^break[] + - обрывает цикл
     X^continue[] + - обрывает итерацию цикла      ^continue[] + - обрывает итерацию цикла
     !^use[модуль]  
     X^try{код}{...catch...} пока не придумал, как лучше  
     !^untaint[[as-is|file-spec|http-header|mail-header|uri|table|sql|js|xml|html|optimized-html]]{код}      !^untaint[[as-is|file-spec|http-header|mail-header|uri|table|sql|js|xml|html|optimized-html]]{код}
         default as-is          default as-is
     !^taint[[lang]][код]      !^taint[[lang]][код]
Line 114  odbc    c:\drives\y\parser3project\odbc\ Line 139  odbc    c:\drives\y\parser3project\odbc\
         ставить такой префикс перед открывающим апострофом, впритык, везде без проблелов          ставить такой префикс перед открывающим апострофом, впритык, везде без проблелов
         /**имя_поля**/'literal'          /**имя_поля**/'literal'
     !^rem{}      !^rem{}
     !^error[текст]  
     !^cache[файл](секунд){код}      !^cache[файл](секунд){код}
         !скэшировать строку, которая получается при выполнении кода на 'секунд' секунд          !скэшировать строку, которая получается при выполнении кода на 'секунд' секунд
         !если 0секунд, значит не кэшировать, а старый такой стереть          !если 0секунд, значит не кэшировать, а старый такой стереть
           ^cache[delete] << не кэшировать, старое забыть
           ^cache[read] << взять скэшированное насильно, игнорируя expires
   
   
     Xесть глобальный флажок в свойствах/командной строке "не оптимизировать"      Xесть глобальный флажок в свойствах/командной строке "не оптимизировать"
     !и есть исключение: ^untaint[html]{код} не оптимизируется безотностительно флажка      !и есть исключение: ^untaint[html]{код} не оптимизируется безотностительно флажка
Line 328  odbc    c:\drives\y\parser3project\odbc\ Line 355  odbc    c:\drives\y\parser3project\odbc\
         ! $value[abc] field: {abc}<<часть          ! $value[abc] field: {abc}<<часть
         ! $attribute[zzz] field: abc; {attribute=zzz}<<часть          ! $attribute[zzz] field: abc; {attribute=zzz}<<часть
     !$response:body[DATA]  замещает стандартный ответ      !$response:body[DATA]  замещает стандартный ответ
       !$response:status
     !^response:clear[] забыть все заданные response поля      !^response:clear[] забыть все заданные response поля
     !$response:charset      !$response:charset
         кодировка клиента т.е. та,           кодировка клиента т.е. та, 
Line 747  xdoc(xnode) Line 775  xdoc(xnode)
     !результат которого передаётся в его @post-process[data] if($data is string) ...      !результат которого передаётся в его @post-process[data] if($data is string) ...
     !результат которого отдаётся пользователю      !результат которого отдаётся пользователю
   
     !если встречается ошибка, её можно красиво сообщить пользователю,       !если встречается ошибка и try не задан, её можно красиво сообщить пользователю, 
     !определив      !определив
     !@exception[origin;source;comment;type;code;stack]      !@unhandled_exception[exception;stack]
     !origin файл(строка) где случилась проблема      !$exception.type  строка "тип проблемы"
     !source строка, из-за которой случилась проблема      !$exception.file $exception.lineno файл и строка где случилась проблема [если не запрещены при компиляции]
     !comment комментарий english      !$exception.source строка, из-за которой случилась проблема
     !type строка "тип проблемы" (пока пусто)      !$exception.comment комментарий english
     !code строка "код проблемы" (пока пусто)      !stack табличка из колонок file line name,
     !stack табличка из колонок origin name,          там лежат в обратном порядке имена[name] и места вызовов[file line] 
         там лежат в обратном порядке имена[name] и места вызовов[origin]   
         операторов/методов, приведших к ошибке.          операторов/методов, приведших к ошибке.
   
     !нужно выключить русский apache: CharsetDisable on      !нужно выключить русский apache: CharsetDisable on

Removed from v.1.19  
changed lines
  Added in v.1.20


E-mail: