shaniqua-smeggdrop/procs/9dee0e0c9de58ce43e88d97c66a4ded3761de9fd
2023-01-13 12:00:55 -08:00

54 lines
2.4 KiB
Plaintext

s {
set f 0;
set r [list];
set a [list];
set e [list];
set i 0;
foreach c [split $s ""] {
switch -- $f {
0 {
switch -- $c {
\003 {set f 1;set b \003}
\002 {lappend e [list $i \002]}
\037 {lappend e [list $i \037]}
\026 {lappend e [list $i \026]}
\017 {lappend e [list $i \017]}
default {lappend a $c;incr i}
}
}
1 {
switch -regexp -- $c {
\\d {append b $c;incr f}
default {lappend e [list $i $b];lappend a $c;incr i;set f 0}
}
}
2 {
switch -regexp -- $c {
\\d {append b $c;incr f}
, {append b $c;set f 4}
default {lappend e [list $i $b];lappend a $c;incr i;set f 0}
}
}
3 {
switch -- $c {
, {append b $c;incr f}
default {lappend e [list $i $b];lappend a $c;incr i;set f 0}
}
}
4 {
switch -regexp -- $c {
\\d {append b $c;incr f}
default {lappend e [list $i $b];lappend a $c;incr i;set f 0}
}
}
5 {
switch -regexp -- $c {
\\d {append b $c;lappend e [list $i $b];set f 0}
default {lappend e [list $i $b];lappend a $c;incr i;set f 0}
}
}
}
}
return [list $a $e]
}