is_valid_smap_aggregate Function (ROM Call 0x3B9)

AMS 1.01 or higher estack.h

short is_valid_smap_aggregate (CESI ptr);

Checks whether an expression is a valid aggregate type.

is_valid_smap_aggregate returns TRUE if the expression pointed to by ptr is a valid aggregate type (i.e. list or valid matrix), otherwise it returns FALSE. This is not a simple check whether a tag pointed to by ptr is LIST_TAG. For example, list which consists of lists which are not equally sized (like {{1,2,3},{4,5}}) are not valid. Also, matrices whose elements are list or matrices are also not valid aggregate types.


Uses: next_expression_index, remaining_element_count
Used by: push_parse_text, EQU_getNameInfo, push_parse_prgm_or_func_text