cvt_a - Converts an array to the equivalent type trie.Examples:
Synopsis: /name array cvt_a -> trie
/pop [/anytype [-pop-]] cvt_a -> trie
cvt_a tries to construct a type-trie object from a given array.
The supplied literal is used as name for the trie-object.
Be very careful when using this function. If the supplied
array is not well formed, the interpreter will abort
Tries should not be constructed fron scratch using cvt_a.
Use the operators trie and addtotrie for this purpose.
Rather, cvt_a is provided to correct minor errors in tries
with the help of cva_t.
The supplied array is the root trie node.
The layout of each trie node must conform to the following
[/type [next] [alt]] for non-leaf nodes and
[object] for leaf nodes.
/type is a literal, representing the expected type.
object is any type of token. It is returned when this leaf of
the trie is reached.
[next] is an array, representig the next parameter levels.
[alt] is an array, representig parameter alternatives
at the current level.
This pattern recursively defines a type-trie. Note, however,
that violations of this definition are handled ungracefully.
Errors should be handled gracefully.
This operation is low level and does not raise
errors. If the array is ill-formed, the interpreter will
cvt_a is the inverse function to cva_t.
If cvt_a is applied to the result of cva_t, it yields
the original argument:
/name [array] cvt_a cva_t -> /name [array]
May 20 1999