Diff for /parser3/operators.ru.txt between versions 1.77 and 1.86

version 1.77, 2002/08/20 09:37:31 version 1.86, 2002/10/14 08:29:36
Line 5  Xне сделано, видимо, не будет сделано Line 5  Xне сделано, видимо, не будет сделано
   
 операторы  операторы
     !^eval(выражение)[формат] выражение, кроме обычных функций::      !^eval(выражение)[формат] выражение, кроме обычных функций::
           !допустимы #комментарии
                   работают до конца строки или закрывающейся круглой скобки
                   внутри комментария допустимы вложенные круглые скобки
         !из неочевидных операторов:          !из неочевидных операторов:
             # побитный xor              !| побитный xor
             ## логический xor              !|| логический xor
             ~ побитное отрицание              ~ побитное отрицание
             \ целочисленное деление 10\3=3              \ целочисленное деление 10\3=3
         !def для проверки defined,          !def для проверки defined,
             пустая строка не defined              пустая строка не defined
             пустая таблица не defined              пустая таблица не defined
             пустой hash не defined              пустой hash не defined
           ^if(method $hash.delete){yes}
         !eq ne lt gt le ge для сравнения строк,           !eq ne lt gt le ge для сравнения строк, 
         !in "/dir/" для проверки          !in "/dir/" для проверки
             ["внутри не допустимы, если надо сравнить со сложным,               ["внутри не допустимы, если надо сравнить со сложным, 
Line 27  Xне сделано, видимо, не будет сделано Line 31  Xне сделано, видимо, не будет сделано
         !числовой литерал бывает 0xABC          !числовой литерал бывает 0xABC
         !приоритеты:          !приоритеты:
            /* logical */             /* logical */
            %left "##"             %left "!||"
            %left "||"             %left "||"
            %left "&&"             %left "&&"
            %left '<' '>' "<=" ">="   "lt" "gt" "le" "ge"             %left '<' '>' "<=" ">="   "lt" "gt" "le" "ge"
            %left "==" "!="  "eq" "ne"             %left "==" "!="  "eq" "ne"
            %left "is" "def" "in" "-f" "-d"             %left "is" "def" "in" "-f" "-d"
            %left '!'             %left '!'
              условие ? когдаДа: когдаНет
   
            /* bitwise */             /* bitwise */
            %left '#'             %left '!|'
            %left '|'             %left '|'
            %left '&'              %left '&' 
            %left '~'             %left '~'
Line 45  Xне сделано, видимо, не будет сделано Line 50  Xне сделано, видимо, не будет сделано
            %left '-' '+'             %left '-' '+'
            %left '*' '/' '%' '\\'             %left '*' '/' '%' '\\'
            %left NEG     /* negation: unary - */             %left NEG     /* negation: unary - */
   
              
     !^if(условие){когда да}{когда нет}      !^if(условие){когда да}{когда нет}
     !^switch[значение]{^case[вариант1[;вариант2...]]{действие}^case[DEFAULT]{действие по умолчанию}}      !^switch[значение]{^case[вариант1[;вариант2...]]{действие}^case[DEFAULT]{действие по умолчанию}}
     !^while(условие){тело}      !^while(условие){тело}
Line 216  odbc    c:\drives\y\parser3project\odbc\ Line 223  odbc    c:\drives\y\parser3project\odbc\
   
   
 !void  !void
         !^имя.length[]      !^имя.length[]
                 0          0
         !^имя.pos[...]      !^имя.pos[...]
                 -1          -1
     !^имя.int[]  (default)       !^имя.int[]  (default) 
         0 или default          0 или default
     !^имя.double[] (default)      !^имя.double[] (default)
Line 264  odbc    c:\drives\y\parser3project\odbc\ Line 271  odbc    c:\drives\y\parser3project\odbc\
     !^строка.match[шаблон][опции поиска]{замена}      !^строка.match[шаблон][опции поиска]{замена}
         опции поиска+=          опции поиска+=
         g заменить все вхождения, а не одно          g заменить все вхождения, а не одно
       !^строка.split[разделитель][[lrhv]]
           l слева направо [default]
           r справа налево
           h nameless таблица
           v таблица из столбца piece [default]
     !^строка.{l|r}split[разделитель] таблица из столбца $piece      !^строка.{l|r}split[разделитель] таблица из столбца $piece
           оставлен для совместимости
     !^строка.upper|lower[]       !^строка.upper|lower[] 
     X^строка.truncate(предел терпенья) стиль :(      X^строка.truncate(предел терпенья) стиль :(
     !^строка.length[]      !^строка.length[]
Line 307  odbc    c:\drives\y\parser3project\odbc\ Line 320  odbc    c:\drives\y\parser3project\odbc\
     X^таблица.remove(position[;count]) - стирает запись       X^таблица.remove(position[;count]) - стирает запись 
         из текущей позиции [стирает запись из конкретной позиции]           из текущей позиции [стирает запись из конкретной позиции] 
             [стирает count записей]              [стирает count записей]
     !^таблица.join[таблица][$.limit(1) $.offset(5) $.offset[cur]]        - добавляет записи из таблицы.       !^таблица.join[таблица][$.limit(1) $.offset(5) $.offset[cur]]     - добавляет записи из таблицы. 
         таблицы должны иметь одинаковую структуру.          таблицы должны иметь одинаковую структуру.
     !^таблица.flip[] выдаёт транспонированную, надо куда-то сложить, потом пользовать      !^таблица.flip[] выдаёт транспонированную, надо куда-то сложить, потом пользовать
     !^таблица.locate[поле;значение] передвигает текущую строку, если найдёт. выдаёт bool      !^таблица.locate[поле;значение] передвигает текущую строку, если найдёт. выдаёт bool
     !^таблица.locate(логическое выражение) передвигает текущую строку, если найдёт. выдаёт bool      !^таблица.locate(логическое выражение) передвигает текущую строку, если найдёт. выдаёт bool
     !^таблица.hash[поле, что будет ключом][[поле значений|table поля значений]]+      !^таблица.hash[поле, что будет ключом][[поле значений|table поля значений]][[$.distinct(1)]]
         значением $hash.ключ будет hash в котором поля значений будут ключами          значением $hash.ключ будет hash в котором поля значений будут ключами
         поля значений могут быть не указаны, тогда ими будут все столбцы, включая ключевой          поля значений могут быть не указаны, тогда ими будут все столбцы, включая ключевой
     !^таблица.columns[]+ таблица из одного столбца $column      !^таблица.columns[]+ таблица из одного столбца $column
     !$отобранное[^таблица.select(выражение)] = таблица из тех же столбцов и строк, у которых условие совпало      !$отобранное[^таблица.select(выражение)] = таблица из тех же столбцов и строк, у которых условие совпало
             $adults[^man.select($man.age>=18)]          $adults[^man.select($man.age>=18)]
         ^таблица.color[цвет1;цвет2]      ^таблица.color[цвет1;цвет2]
   
   
 !hash  !hash
Line 338  odbc    c:\drives\y\parser3project\odbc\ Line 351  odbc    c:\drives\y\parser3project\odbc\
     !^a.intersection[b] = пересечение      !^a.intersection[b] = пересечение
         значения a          значения a
     !^a.intersects[b] = bool      !^a.intersects[b] = bool
     !^hash::sql{запрос}[[$.limit(2) $.offset(4) todo:$.default{$.field[]...}]]      !^hash::sql{запрос}[[$.distinct(1) $.limit(2) $.offset(4) todo:$.default{$.field[]...}]]
         получается hash(ключи=значения первая колонка ответа)          получается hash(ключи=значения первая колонка ответа)
         of hash(ключи=названия остальных колонкок ответа)          of hash(ключи=названия остальных колонкок ответа)
     !^hash._keys[]+ таблица из одного столбца $key      !^hash._keys[]+ таблица из одного столбца $key
Line 821  xdoc(xnode) Line 834  xdoc(xnode)
         does not support data          does not support data
         NO_MODIFICATION_ALLOWED_ERR          NO_MODIFICATION_ALLOWED_ERR
         If an attempt is made to modify an          If an attempt is made to modify an
         object where modifications are not              object where modifications are not
         allowed          allowed
         NOT_FOUND_ERR          NOT_FOUND_ERR
         If an attempt was made to reference a          If an attempt was made to reference a
Line 871  xdoc(xnode) Line 884  xdoc(xnode)
         !ixrss integral shared text memory size          !ixrss integral shared text memory size
         !idrss integral unshared data size          !idrss integral unshared data size
         !isrss integral unshared stack size          !isrss integral unshared stack size
           !tv_sec
           !tv_usec
              $s[$status:rusage]
              ^s.tv_sec.format[%.0f].^s.tv_usec.format[%06.0f]
   
   
 !DATA::=string | file  !DATA::=string | file
   

Removed from v.1.77  
changed lines
  Added in v.1.86


E-mail: