Posted to tcl by mjanssen at Wed Oct 07 15:31:04 GMT 2020view raw
- proc parse {input} {
- set prefix " $input"
- set part {}
- set result {}
- set instring false
- foreach prev [split $prefix {}] curr [split $input {}] {
- if {$instring && $curr eq "\"" && $prev ne "\\"} {
- lappend result $part
- set instring false
- continue
- }
- if {!$instring && $curr eq "\"" && $prev ne "\\"} {
- set part {}
- set instring true
- continue
- }
- append part $curr
- }
- return $result
- }