36f @verb #9611:"parse_list :parse_list" this none this rxdo #7165 @program #9611:"parse_list :parse_list" this none this {tokens} = args tokens[1] == "(" || raise(E_INVARG) tokens[1..1] = {} dot = 0 array = {} while (tokens[1] != ")") if (tokens[1] == "(") {tokens, i} = this:parse_list(tokens) elseif (tokens[1] == ".") length(array) != 1 || dot && raise(E_INVARG) tokens[1..1] = {} dot = 1 continue else {tokens, i} = this:parse_atom(tokens) endif array = {@array, i} if (dot) tokens[1] in {".", ")"} || raise(E_INVARG) tokens[1] == "." && (tokens[1..1] = {}) endif endwhile tokens[1..1] = {} if (dot) return {tokens, array} else l = {} for x in ($list_utils:reverse(array)) l = {x, l} endfor endif return {tokens, l} "Last modified by manta (#7165) on Wed Nov 14 13:54:24 2001 MST." . 0