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

version 1.28, 2002/03/27 15:30:39 version 1.37, 2002/04/16 14:26:13
Line 6  $request:charset[windows-1251] Line 6  $request:charset[windows-1251]
 $response:charset[windows-1251]  $response:charset[windows-1251]
 $response:content-type[$.value[text/html]$.charset[$response:charset]]  $response:content-type[$.value[text/html]$.charset[$response:charset]]
   
   @postprocess[body]
   <b>$body</b>
   $result[123]
   
 @main[]  @main[]
 ^exceptionTypes[]  #^invaliddate2[]
   #^process2[]
   #^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 128  $response:content-type[$.value[text/html
 <hr>  <hr>
 OK  OK
   
   @invaliddate2[]
   $d[^date::create(1018946575/60/60)] ^d.sql-string[]
   
   @process2[]
   ^^process{
           ^process{
                   ^$a[^^if(0){^$.k[y]}{^$.k[^^hren[]n]}] ^$a.k
           }
   }
   
   @casehashtext[]
   $tt[1]
   $tmp[
           ^switch[$tt]{
                   ^case[1]{
                           $.aaa[123]
                   }
                   ^case[DEFAULT]{
                           $.bbb[456]
                   }
           }
           shit!
   ]
   #$tmp
   $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).                параметры (больше/меньше, чем нужно, не тех типов, ...)
Line 202  $t[^table::create{a b Line 369  $t[^table::create{a b
   
 @execlangs[]  @execlangs[]
 $f[^file::exec[test.pl]]  $f[^file::exec[test.pl]]
   err:$f.stderr<br>
 ^process{$f.text}  ^process{$f.text}
 #$c[^t.columns[]]  #$c[^t.columns[]]
 #^c.menu{  #^c.menu{
 #* $c.column<br>  #* $c.column<br>
 #}  #}
 =$t.c=  c:$t.c<br>
   
 @tobjeresult[]  @tobjeresult[]
 ^table::create{a  ^table::create{a

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


E-mail: