--- parser3/www/htdocs/Attic/index.html 2002/08/21 10:52:49 1.121
+++ parser3/www/htdocs/Attic/index.html 2003/07/24 11:31:27 1.212
@@ -1,2011 +1,4 @@
-@USE
-/derived.p
-
-@auto[filespec]
-$selffilespec[$filespec]
-#$form:here
-#$request:charset[UTF-8]
-#$response:charset[windows-1251]
-#$request:charset[windows-1251]
-#$response:charset[UTF-8]
-#$response:content-type[$.value[text/html]$.charset[$response:charset]]
-
-#@postprocess[body]
-#$body
-#$result[123]
-
-@main[]
-#$a(123)
-#^a.format[%.10u]
-#$result[111]
-#^f[a]
-#^connect[mysql://mdm:4b833ljq@db-mysql/mdm]{
-# ^int:sql{select news_id from news where news_id=-1}[
-## $.default{2}
-# ]
-# ^hash::sql{bad}
-# ^string:sql{select news_id from news where news_id=-1}[$.default{2}]
-# ^file::load[text;^string:sql{select 'from sql server' }]
-# ^string:sql{select '^^hello[]' }] $ORIGINS(1)
-# ^process{ ^^h[]}
-# ^process{^string:sql{select '1
-# ^^hello[]' }] }
-#}
-#^eval(2)
-#^tcrashlocaljunctionsv2[]
-#^tcrashlocaljunctions[]
-#^tjunctions[]
-#^replacetest[]
-#^matchoptionpp[]
-#^txdocxnodechild[]
-#^tclasses[]
-#$math:PI
-#^b:method[]
-#^main[]
-#^errort[]
-#^tselectNumber[]
-#$result[hello]
-#^invaliddate2[]
-#^process2[]
-#^casehashtext[]
-#^subjvaltest[]
-#^tableselect0[]
-#^memnotest1[]
-#^voidparams[]
-#^rolls2[]
-#^cacheexpireschanging[]
-#^cacheexpiresfixed[]
-#^dateoffsets[]
-#^exceptionTypes[]
-#^roll2[]
-#^rolls[]
-#^exceptions1[]
-#^locate_by_expr[]
-#^method_junction_params{...}
-#^verifyCookie[paf]
-#^execlangs[]
-#$t[^tobjeresult[]]$t.a
-#^xmlprobs[]
-#^doubleprobs[]
-#^math:random(-10)
-#^divnamestop[]
-#^arrayclone[]
-#^operator_tricks[]
-#^xoutputrusattr[]
-#^xdocset1[]
-#^regexp3[]
-#^exec2[]
-#^tlock[]
-#^xmloutattrwithoutvalue[]
-#^precisionProblem[]
-#^xpath[]
-#^ttablesetlang[]
-#^ttime[]
-#^tupper[]
-#^treplace[]
-#^xslt2[]
-#^tcache2[]
-#$ORIGINS(1)
-#$t[^table::set{a b} ^table::set{c d}]
-#^ttaintuntaint[]
-#^tappend2[]
-#^badvsnprintf[]
-#^badoracequoting[]
-#^badconstructors[]
-#^xloadwrongtable[]
-#^xsetwrongtable[]
-#^if($form:test){y}{n}
-#^tablecolumnerror[]
-#^roll[]
-#^cookie2[]
-#^tableset[]
-#^math:PI.format{%.30f}
-#^xchildren[]
-#^thashforeach3[]
-#^thashforeach2[]
-#^thashforeach[]
-#^thashdelete[]
-#^connect[mysql://user:pass@cd.rinet.ru/db]{^void:sql{z} }
-#^tappend[]
-#^sappend[]
-#^eval(10\3)
-#^tform[]
-#^formattest[]
-#^filelist[]
-#^connect[mysql://user:pass@host]{ }
-#^безнадёжна_попытка_поправить_непоправимое[]
-#^tcache[]
-#^thashfileexp[]
-#^tcounter[]
-#^tablehash[]
-#j^hashfile[]
-#^formclass[]
-#^hren[]
-#^domedit[]
-#^domxslt[]
-#^lsplit2[]
-#^faceesize[]
-#^imageresize[]
-#^ifassignhash[]
-#^tintdefault[]
-#$response:status[404]
-#^ifpasshash[]
-#^movedir[]
-#^replace[]
-#^set[]
-#^hash[]
$f.text- -@sergestrandef[] -$sQuantity[ ] -^sQuantity.int(10) - -@xmltransformbyxdoc[] -$xdoc[^xdoc::set{^process{ - -
$f.text- - -@tserge[] -^if(" 09 "){y} - -@datetest[] - $f[^file::stat[some.zip]] -Размер в байтах: $f.size
^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[]
-^for[i](1;12){
- ^d.roll[month](-1) ^d.sql-string[]
-}
-
-@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[]
-# parser.compile ^test[} компиляция (непарная скобка, ...)
-# parser.runtime ^if(0). параметры (больше/меньше, чем нужно, не тех типов, ...)
-# number.zerodivision ^eval(1/0) ^eval(1%0)
-# number.format ^eval(abc*5)
-# file.missing ^file:delete[delme] not found
-# file.access ^table::load[.] no rights
-# image.format ^image::measure[index.html] not gif/jpg
-# sql.connect ^connect[mysql://baduser:pass@host/db]{} not found/timeout
-# sql.execute ^connect[mysql://okuser:pass@host/db]{^void:sql{select bad}} syntax error
-# xml ^xdoc::create{} any error in xml/xslt libs
-# smtp.connect not found/timeout
-# smtp.execute communication error
-
-@roll2[]
-$d[^date::create(2002;4;2;2;2;3)] ^d.sql-string[]
-^d.roll[day](+365*3+1) ^d.sql-string[]
-
-
-@rolls[]
-$d[^date::create(2002;4;4)]
-^d.sql-string[]
-^for[i](1;7){
-^d.roll[day](-1)
-^d.sql-string[]
-}
-
-$d[^date::create(2002;3;28)]
-^d.sql-string[]
-^for[i](1;7){
-^d.roll[day](+1)
-^d.sql-string[]
-}
-
-$d[^date::create(2002;12;3)]
-^d.sql-string[]
-^for[i](1;14){
-^d.roll[day](-1)
-^d.sql-string[]
-}
-
-$d[^date::create(2002;10;19)]
-^d.sql-string[]
-^for[i](1;14){
-^d.roll[day](+1)
-^d.sql-string[]
-}
-
-
-
-
-
-
-@exceptions1[]
-^try{
- aaa
- ^throw[custom1;paf;is stupid]
-}{
- ^if($exception.type eq custom1){
-# $exception.handled(1)
- ^throw[$exception]
- type=$exception.type
- source=$exception.source
- file=$exception.file
- lineno=$exception.lineno
- comment=$exception.comment
- }
-}
-
-@locate_by_expr[]
-$t[^table::create{a b
-1 nok
-2 ok
-3 nok
-}]
-^if(^t.locate($t.a==2)){$t.b}{n}
-
-@method_junction_params[param]
-^if($param is junction){junction}{ne junction}
-
-@verifyCookie[value]
-^if($cookie:dummyvote eq $value){
- $result(1)
-}{
- $cookie:dummyvote[$value]
- $result(0)
-}
-
-@execlangs[]
-$f[^file::exec[test.pl]]
-err:$f.stderr
-^process{$f.text}
-#$c[^t.columns[]]
-#^c.menu{
-#* $c.column
-#}
-c:$t.c
-
-@tobjeresult[]
-^table::create{a
-12}
-
-@xmlprobs[]
-$xmlDataType[^xdoc::load[program.xml]]
-#^taint[^xmlDataType.string[]]
-$xmlDataTypes[^xmlDataType.select[programs/program[@id=4]/data]]
-#=^xmlDataTypes._count[]=
-=^xmlDataTypes.0.getAttribute[type-id]=
-
-@doubleprobs[]
-$1(^math:radians(180))
-$2($math:PI)
-^if(^1.format[%.10f]==^2.format[%.10f]){y;n}
-^if($1==$2){y;n}
-^if(^math:radians(180)==$math:PI){y;n}
-
-
-@divnamestop[]
-$a(10)
-^eval($a\3)
-
-@arrayclone[]
-$t[^table::create{a b
-1 11
-2 22
-}]
-$c[^table::create[$t]]
-^c.append{2 33}
-^t.count[]
-^c.count[]
-
-@operator_tricks[]
-^if(1){$a[^t[]]}
-$a!
-$a($b)
-^if(1){y}{n}
-$MAIN:a(^t[] eq OK)
-#$MAIN:a(1)
-^if($a){y}{n}
-#^if(1){y}{n}
-$form:if
-$a[$.n[1]]
-$a.if
-
-@xoutputrusattr[]
-$d[^xdoc::set{ }]
-^show_xdoc2[$d]
-
-@xdocset1[]
-$d[^xdoc::set{=^taint[&]= }]
-^show_xdoc2[$d]
-
-@regexp3[]
-$s[abcАБВ]
-^if(^s.match[][i]){y}{n}
-
-
-@exec2[]
-$a[^file::exec[bin/t.cmd]]
-^taint[$a.text]
|$a.status|$a.stderr
-
-
-@tlock[]
-^file:lock[lockfile]{
- code
-}
-
-@xmloutattrwithoutvalue[]
-#$ORIGINS(1)
-$doc[^xdoc::set{zz }]
-$doc[^doc.transform[global.xsl]]
-=^taint[html][^doc.string[$.method[html]]]=
-
-
-
-@precisionProblem[]
-$a[123456789012345678901234567890]
-$b(^a.double[])
-^b.format{%.20E}
-
-^eval(2*2)
-
-@xpath[]
-$xdoc[^xdoc::set{
-привет
-}]
-#^show_xdoc2[$xdoc]
-$node[^xdoc.selectSingle[/document/block/p]]
-^if(def $node){
- ^if($node is string){
- $node
- }{
- ^if($node is hash){
- ^node._count[]
- }{
- $node.nodeType
- }
- }
-#$node.firstChild.nodeValue
-}{
- node not found
-}
-
-
-@ttablesetlang[]
-$a-tab-b[a b
-1 2]
-
-$t[^table::set{$a-tab-b}]
-=$t.a=
-
-
-$t[^table::set[nameless]{^taint[$a-tab-b]}]
-=$t.0=
-
-
-$t[^table::set{^untaint{^taint[$a-tab-b]}}]
-=$t.a=
-
-#^t.append{1 2}
-
-@mail3[]
-^mail:send[
- $.from[Александр Петросян ]
- $.to[Александр Петросян ]
- $.subject[проверка2]
- $.body[
- $.text[
- $.content-type[$.value[text/plain] $.charset[windows-1251]]
- $.body[проверка^taint[uri][москва]=]
- ]
- $.attachment[
- $.value[^file::load[text;index.html]]
- $.file-name[привет всем.html]
- ]
- ]
-]
-
-
-@ttime[]
-$now[^date::now[]]
-$now.hour:$now.minute
-
-@tupper[]
-$t[abcABCабвАБВ]
-$t
-^t.upper[]
-
-@treplace[]
-$copy-paste-clean[^table::set{a b
-. _
-, _
-+ _
-& _
-? _
-= _}]
-
-$cache_key[^taint[в.а,с+я]&был?тут=недавно.cache]
-# почему-то этот replace роняет апач в 500 ошибку :(
-#^cache_key.replace[$copy-paste-clean]
-$test[abc]
-^test.save[$cache_key]saved
-$cache[^file:list[.;\.cache^$]]
-^file:delete[$cache_key]deleted($cache.name)
-
-
-
-@xslt2[]
-$xdoc[^xdoc::set{
-привет
-}]
-^show_xdoc2[$xdoc]
-^show_xdoc2[^xdoc.transform[templates/_document.xslt]]
-
-
-
-@tcache2[]
-^cache[$DB_HOME/keyключ](2){
- ^math:random(100)
-}
-
-@ttaintuntaint[]
-^taint[html][
-
-]zz
-
-^untaint[html]{1^taint[ ]2 3}
-
-
-@tappend2[]
-$t[^table::set{a b}]^t.append{1 2}$t.a
-
-@badvsnprintf[]
-^connect[zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz]{
-}
-
-
-@badoracequoting[]
-$SQL.connect-string[oracle://webspb:webpwd@mts?NLS_LANG=RUSSIAN_AMERICA.CL8MSWIN1251&NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS]
^connect[$SQL.connect-string]{
-^void:sql{delete from paf}
-^void:sql{insert into paf values (1, '$form:text')}
-$paf[^table::sql{select * from paf}]
-^paf.menu{
- $paf.id: ^untaint{$paf.block}
-
-}
-
-
-
-^rem{
-$news[^table::sql{select description from news}[$.limit(3)]]
-^news.menu{
- ^untaint{$news.description}
-
-}
-
-}
-
-$tables[^table::sql{select table_name from user_tables}]
-^tables.menu{
-$tables.table_name
-}
-
-}
-
-$env:PATH
-
-@badconstructors[]
-$bred[^string::length[]]
-$bred[^response::clear[]]
-$bred[^int::int[]]
-
-
-@xloadwrongtable[]
-$constr[^xdoc::load[wrongtable.xml]]
-^show_xdoc2[$constr]
-
-@xsetwrongtable[]
-$constr[^xdoc::set{
-^untaint[as-is]{$constructor} }]
-
-
-@tablecolumnerror[]
-$t[^table::set{a}]
-$t.$a
-
-@roll[]
-#$date[^date::set(1970;1;2)]
-#^date.roll[month](-1)
-$date[^date::set(2038;1;1)]
-^date.roll[month](+1)
-$date.year $date.month $date.day
-
-@cookie2[]
-#=$cookie:clientType[$.value[test]]=
-=$cookie:clientType=
-
-
-@tableset[]
-$a[^table::set{a
-1
-2}]
-^eval(100\$a)
-
-
-
-@zzz[]
-
-
-$constructor[
-
-
-]
-
-$constr[^xdoc::set{
-^untaint[as-is]{$constructor} }]
-
-$children[$constr.documentElement.childNodes]
-^if($children){
-^for[i](1;^children._count[]){
- $node[$children.$i]
- $node.nodeName
-}
-}
-
-
-@thashforeach3[]
-$h[
- $.a[1]
- $.b[2]
-]
-$c[^table::set{a
-^h.foreach[key;value]{$value
-}}]
-$c.a
-
-@thashforeach2[]
-$h[
- $.a[1]
- $.b[2]
-]
-$c[
-^h.foreach[key;value]{
- $.$key[$value]
-}
-]
-$c.b
-
-@thashforeach[]
-$h[
- $.a[1]
- $.b[2]
-]
-^h.foreach[key;value]{
- $key=$value
-}
-
-@thashdelete[]
-$h[$.a[1] $.b[2]]
-was:
-count=^h._count[]
-b='$h.b'
-
-^h.delete[b]
-
-now:
-count=^h._count[]
-b='$h.b'
-
-@sappend[]
-$test[123]
-^test.save[test]
-^test.save[append;test]
-
-@tappend[]
-$test[^table::set{a b
-a1 b1}]
-^test.save[test]
-$test[^table::set{a b
-a2 b2}]
-^test.save[append;test]
-
-
-@tform[]
-^if(def $form:new_file){y}{n}
-