Annotation of parser3/tests/430.html, revision 1.4

1.1       moko        1: @main[]
                      2: 
                      3: 0. init
                      4: 
                      5: 0.1 $a[; $.k1[v1] $.k2[v2] ;^method[param];$b[b]vv] ^show[$a]
                      6: 
                      7: 0.2 $a[$b[b;c]vv] ^show[$a] ^show[$b] $a.CLASS_NAME $b.CLASS_NAME
                      8: 
                      9: 0.3 $a[; $.k1[v1] $.k2[v2] ;$vv] ^show[$a]
                     10: 
                     11: 0.4 $a.1[string]  $a.5(6) ^show[$a]
                     12: 
                     13: 0.5 ^try-catch{ $a.-5[bug] }
                     14: 
                     15: 0.6 ^a.count[] vs ^a.count[all] ^a._count[all]
1.2       moko       16: 0.7 ^try-catch{ ^a.count[bug] }
1.1       moko       17: 
                     18: 
                     19: 1. create, add vs join
                     20: 
1.4     ! moko       21: 1.1 создаем "дырявый" массив $a[^array::copy[ $.2[1] $.5[2] $.9[3] ]]
        !            22: 1.2 из него дырявый массив: ^show[^array::copy[$a]]
1.1       moko       23: 1.3 из него обычный массив: $b[^array::create[]] ^b.join[$a] ^show[$b]
                     24: 
                     25: 1.4 если параметр хеш, перезапись значений при add: ^b.add[ $.2[over] ] ^show[$b]
                     26: 1.5 если параметр хеш, добавление значений при join: ^b.join[ $.2[over] ] ^show[$b]
                     27: 
                     28: 1.6 ^try-catch{ ^a.add[$a] }
                     29: 
1.4     ! moko       30: $b[^array::copy[ $.2[over2] $.4[over4] ]]
        !            31: $c[^array::copy[$a]]
1.1       moko       32: 1.6 если параметр массив, перезапись значений при add: ^show[$a] ^a.add[$b] ^show[$a]
                     33: 1.7 если параметр массив, добевление значений при join: ^show[$c] ^c.join[$b] ^show[$c]
                     34: 
                     35: 2. left, right, mid, for, foreach, select
1.4     ! moko       36: $a[^array::copy[ $.1[v1] $.5[v5] $.6[v6] $.8[v8] ]]
1.1       moko       37: 
                     38: 2.1 ^show[^a.left(2)]
                     39: 2.2 ^show[^a.left(10)]
                     40: 2.3 ^show[^a.left(-2)]
                     41: 
                     42: 2.4 ^show[^a.right(2)]
                     43: 2.5 ^show[^a.right(10)]
                     44: 2.6 ^show[^a.right(-2)]
                     45: 
                     46: 2.7 ^show[^a.mid(2)]
                     47: 2.8 ^show[^a.mid(2;1)]
                     48: 2.9 ^show[^a.mid(0;1)]
1.2       moko       49: 2.91 ^try-catch{ ^a.mid(-1;1) }
                     50: 2.92 ^try-catch{ ^a.mid(1;-1) }
1.1       moko       51: 
                     52: 2.10 ^a.foreach[;v]{'$v'}[,]
                     53: 2.11 ^a.foreach[k;]{'$k'}[,]
                     54: 2.12 ^a.foreach[;v]{'$v'}[,]
                     55: 2.13 ^a.foreach[k;v]{'$v'}{[$k],}
                     56: 2.14 ^a.for[;v]{'$v'}[,]
                     57: 2.14 ^a.for[;v]{$v.CLASS_NAME}[,]
                     58: 2.15 ^a.for[k;v]{$v}{[$k],}
                     59: 2.16 ^a.for[;v]{ $v}{,}
                     60: 2.17 ^a.for[k;v]{$k=$v}{, }
                     61: 2.18 ^a.for[k;v]{$k=$v ^if($k>3){^break[]}}
                     62: 
                     63: 2.20 ^show[^a.select[k;v]($k>5)]
                     64: 2.21 ^show[^a.select[k;v]($k==5)]
                     65: 2.22 ^show[^a.select[k;v]($v eq 'v6')]
                     66: 2.23 ^show[^a.select[k;v]($k>1)[ $.limit(2) ]]
                     67: 2.24 ^show[^a.select[k;v]($k>1)[ $.limit(2) $.reverse(1) ]]
                     68: 2.25 ^try-catch{ ^a.select[k;v]($k>1)[ $.bug(1) ] }
1.2       moko       69: 2.25 ^show[^a.select[k;v]($k<5 || ^break[])[ $.limit(2) ]]
                     70: 2.26 ^show[^a.select[k;v]($k>5 || ^break[])[ $.limit(2) $.reverse(1) ]]
1.1       moko       71: 
                     72: 
                     73: 3. append/insert
                     74: 
1.4     ! moko       75: $a[^array::copy[ ]]
1.1       moko       76: 
                     77: 3.1 ^show[$a]
                     78: 
1.4     ! moko       79: 3.2 ^try-catch{ $b[^array::copy[$method]] }
1.1       moko       80: 3.3 ^try-catch{ $b[^array::insert(-1)[value]] }
                     81: 3.4 ^try-catch{ $b[^array::insert[abc][value]] }
                     82: 3.5 ^try-catch{ ^array::insert(100000000000000)[value] }
                     83: 
1.4     ! moko       84: 3.6 OK: $b[^array::append[$method]] $b[^array::create[$method]]
1.1       moko       85: 
                     86: 3.7 $a[a1;a2;a3;a4] $b[b1;b2]
                     87: 
                     88: ^a.insert(10)[v1;v2]
                     89: ^a.append[$b]
                     90: ^a.append[c1;c2]
                     91: ^show[$a]
                     92: 
                     93: 3.8 ^a.insert(2)[d1;d2]
                     94: ^show[$a]
                     95: 
1.4     ! moko       96: 3.9 ^try-catch{ $a[^array::copy{}] }
        !            97: 3.10 ^try-catch{ $a[^array::copy[not whitespace string]] }
1.1       moko       98: 
                     99: 3.11 ^a.join[ ]
                    100: 3.12 ^try-catch{ ^a.join{}] }
                    101: 3.13 ^try-catch{ ^a.join[not whitespace string] }
                    102: 
                    103: 4. json
                    104: 
                    105: $f[^file::load[text;253_json.txt; $.charset[windows-1251] ]]
                    106: $s[^taint[as-is][$f.text]]
                    107: 
                    108: 4.1. ^try-catch{ $o[^json:parse[$s][ $.array[x] ]] }
1.3       moko      109:      ^try-catch{ $o[^json:parse[$s][ $.array[$print] ]] }
                    110:      ^try-catch{ $o[^json:parse[$s][ $.object[$print] ]] }
                    111:      ^try-catch{ $o[^json:parse[$s][ $.bug[yes] ]] }
1.1       moko      112: 
                    113: $o[^json:parse[$s][ $.distinct[all] ]]
                    114: 
                    115: 4.2. $o.array.CLASS_NAME, $o.array.6
                    116: 
                    117: 4.3 ^print[^json:string[$o; $.indent(1) $.table[array] ]]
                    118: 
                    119: $o.array.15[last]
                    120: 
                    121: 4.4 ^print[^json:string[$o.array; $.indent(1) $.array[object] ]]
                    122: 
                    123: 4.5 ^print[^json:string[$o.array; $.indent(1) $.array[array] ]]
                    124: 
                    125: 4.6 ^print[^json:string[$o.array; $.indent(1) $.array[compact] ]]
                    126: 
                    127: 4.7 ^try-catch{ ^print[^json:string[$o.array; $.array[bug] ]] }
                    128: 
1.3       moko      129: 4.8 ^try-catch{ ^print[^json:string[$o.array; $.void[bug] ]] }
                    130: 
                    131: 4.9 ^try-catch{ ^print[^json:string[$o.array; $._default[$print] ]] }
                    132: 
                    133: $a[0;1;2] $a.5[5]
                    134: 
                    135: 4.10 ^json:string[$a; $.array[array] ]
                    136: 
                    137: 4.11 ^json:string[$a; $.array[array] $.indent(1) ]
                    138: 
                    139: 4.12 ^json:string[$a; $.array[array] $.indent[  ] ]
                    140: 
1.4     ! moko      141: 4.13 ^json:string[^array::create[]]
1.3       moko      142: 
1.4     ! moko      143: 4.14 ^json:string[^array::create[]; $.array[array] ]
1.1       moko      144: 
                    145: 
                    146: @print[s]
                    147: $result[^s.replace[e+0;e+]]
                    148: 
                    149: @method[param]
                    150: here?
                    151: 
                    152: @show[a]
                    153: ^json:string[$a; $.array[object] ]

E-mail: