zoom { var %x = 1 while (%x <= $len($$1)) { if ($left($1,%x) == !) { var %ecl = %x inc %x } elseif ($left($1,%x) == @) { var %at = %x inc %x } else { inc %x } } if (!$prop) { return $1 } elseif ($prop == ident) { return $mid($1,%ecl,%at) } elseif ($prop == site) { return $mid($1,%at,$len($1)) } }