Diff for /parser3/www/htdocs/Attic/index.html between versions 1.28 and 1.35

version 1.28, 2002/03/27 15:30:39 version 1.35, 2002/04/15 06:46:02
Line 7  $response:charset[windows-1251] Line 7  $response:charset[windows-1251]
 $response:content-type[$.value[text/html]$.charset[$response:charset]]  $response:content-type[$.value[text/html]$.charset[$response:charset]]
   
 @main[]  @main[]
 ^exceptionTypes[]  ^casehashtext[]
   #^subjvaltest[]
   #^tableselect0[]
   #^memnotest1[]
   #^transparams[]
   #^voidparams[]
   #^rolls2[]
   #^cacheexpireschanging[]
   #^cacheexpiresfixed[]
   #^dateoffsets[]
   #^exceptionTypes[]
 #^roll2[]  #^roll2[]
 #^rolls[]  #^rolls[]
 #^exceptions1[]  #^exceptions1[]
Line 112  $response:content-type[$.value[text/html Line 122  $response:content-type[$.value[text/html
 <hr>  <hr>
 OK  OK
   
   @casehashtext[]
   $tt[1]
   $tmp[
           ^switch[$tt]{
                   ^case[1]{
                           $.aaa[123]
                   }
                   ^case[DEFAULT]{
                           $.bbb[456]
                   }
           }
   ]
   
   $tmp.aaa
   
   @subjvaltest[]
   $a12[val]
   $b[12]
   $a$b
   
   @tableselect0[]
   $person[^table::create{name     height
   paf     1.77
   шохин   2.07
   moko    1.77
   }]
   $nottoohigh[^person.select($person.height<2)]
   ^nottoohigh.menu{$nottoohigh.name<br>}
   
   @transparams[]
   $idoc[^xdoc::create{<?xml version="1.0" ?><doc/>}]
   $odoc[^idoc.transform[global.xsl;
           $.param1['1']
           $.param2['2']
   ]]
   <pre>^taint[^odoc.string[$.method[html]]]
   
   @memnotest1[]
   ^for[i](0;4000){
   
    $xxxx[$i]
    $xxxx
   
   }
   
   @memnotest1notes[]
   одна итерация цикла:
   [Mon Apr  8 20:12:02 2002] execution-------------------------|
   '469641+=28 wcodeframe -> 0 !optimize[3]''469669+=49 string от {} -> 0 optimize[3]'
   [Mon Apr  8 20:12:02 2002] 12:STRING__WRITE
   [Mon Apr  8 20:12:02 2002]  "|| "
   [Mon Apr  8 20:12:02 2002] 12:WITH_ROOT
   [Mon Apr  8 20:12:02 2002] 13:VALUE
   [Mon Apr  8 20:12:02 2002]  "xxxx" string
   [Mon Apr  8 20:12:02 2002] 14:CREATE_EWPOOL'469377+=24 wcodeframe -> 0 !optimize[1]''469401+=49 string -> 41 !optimize[7]'
   [Mon Apr  8 20:12:02 2002] 16:WITH_READ
   [Mon Apr  8 20:12:02 2002] 17:VALUE
   [Mon Apr  8 20:12:02 2002]  "i" string
   [Mon Apr  8 20:12:02 2002] 18:GET_ELEMENT
   [Mon Apr  8 20:12:02 2002] 17:WRITE_VALUE'469452+=40 MAX_NUMBER -> !~2 actual digits''469492+=49 -> 41 !'
   [Mon Apr  8 20:12:02 2002] 16:REDUCE_EWPOOL'469541+=24 VString -> 0 optimize[5]'
   [Mon Apr  8 20:12:02 2002] 15:CONSTRUCT_VALUE
   [Mon Apr  8 20:12:02 2002] 12:STRING__WRITE
   [Mon Apr  8 20:12:02 2002]  "| "
   [Mon Apr  8 20:12:02 2002] 12:WITH_READ
   [Mon Apr  8 20:12:02 2002] 13:VALUE
   [Mon Apr  8 20:12:02 2002]  "xxxx" string
   [Mon Apr  8 20:12:02 2002] 14:GET_ELEMENT
   [Mon Apr  8 20:12:02 2002] 13:WRITE_VALUE'469573+=41 string expand nothing for now'
   [Mon Apr  8 20:12:02 2002] 12:STRING__WRITE
   [Mon Apr  8 20:12:02 2002]  "||"'469617+=24 VString -> 0 !optimize[6]'
   [Mon Apr  8 20:12:02 2002] <-ja returned
   [Mon Apr  8 20:12:02 2002] ja->
   
   201/328=0.612804878049 %%optimized
   
   1.
   CREATE_*POOL
       сделать
   *POOL_POOLED+CODE
       где
           wwrapper
           и(возможно) wcodeframe
           +string
           стековая переменная
   
   2.
   избавиться от обёртки при возврате результата process [см. тело _for]
   
   3.
   сделать callback для process, чтобы вынести invariants из _for & co.
   
   4.
    @todo склеить get_element и write_value (при вставлении? write_value)
   
   5.
   reduce_*pool -> вариант получить именно string, без VString обёртки [часто
   обёртка сразу выбрасывается = не нужна]
   
   6.
   process вариант получить именно string, без VString обёртки [часто обёртка
   сразу выбрасывается = не нужна]
   
   7.
   string head, убить 8 байт неправильной link
   
   @voidparams[]
   ^voidparamsm[$form:field]
   
   @voidparamsm[p]
   ^p.int(123)
   
   @rolls2[]
   $now[^date::now[]]
   $d[^date::create($now.year;$now.month)] ^d.sql-string[]<br>
   ^for[i](1;12){
           ^d.roll[month](-1) ^d.sql-string[]<br>
   }
   
   @cacheexpireschanging[]
   ^cache[$DB_HOME/keyключ][^date::now(+1)]{ ^rem{1 day}
       ^cache[^date::now(+4/24/60/60)]
   #    ^cache(2)
   #    ^cache(0)
           ^math:random(100)
   }
   
   
   
   @cacheexpiresfixed[]
   ^cache[$DB_HOME/keyключ][^date::now(+2/24/60/60)]{
           ^math:random(100)
   }
   
   @dateoffsets[]
   $d[^date::create(^date::now[]+1/24/60)]
   #$d[^date::now(+1/24/60)]
   ^d.sql-string[]
   #$d
   
 @exceptionTypes[]  @exceptionTypes[]
 #    parser.compile       ^test[}                компиляция (непарная скобка, ...)  #    parser.compile       ^test[}                компиляция (непарная скобка, ...)
 #    parser.runtime       ^if(0).                параметры (больше/меньше, чем нужно, не тех типов, ...)  #    parser.runtime       ^if(0).                параметры (больше/меньше, чем нужно, не тех типов, ...)

Removed from v.1.28  
changed lines
  Added in v.1.35


E-mail: