(**************************************************************************) (* *) (* Heptagon *) (* *) (* Author : Marc Pouzet *) (* Organization : Demons, LRI, University of Paris-Sud, Orsay *) (* *) (**************************************************************************) open Static open Names type ty = | Tprod of ty list | Tid of longname | Tarray of ty * static_exp let invalid_type = Tprod [] let const_array_of ty n = Tarray (ty, Sconst n) open Pp_tools open Format let rec print_type ff = function | Tprod ty_list -> fprintf ff "@[%a@]" (print_list_r print_type "(" " *" ")") ty_list | Tid id -> print_longname ff id | Tarray (ty, n) -> fprintf ff "@[%a^%a@]" print_type ty print_static_exp n