22: # 241 "./lpsrc/flx_types.ipk" 23: type id_t = string 24: type bid_t = int 25: type index_map_t = (int,int) Hashtbl.t 26: type c_t = [ 27: | `StrTemplate of string 28: | `Str of string 29: | `Virtual 30: | `Identity 31: ] 32: 33: type base_type_qual_t = [ 34: | `Incomplete 35: | `Pod 36: | `GC_pointer (* this means the type is a pointer the GC must follow *) 37: ] 38: 39: (** type of a qualified name *) 40: type qualified_name_t = 41: [ 42: | `AST_void of range_srcref 43: | `AST_name of range_srcref * string * typecode_t list 44: | `AST_case_tag of range_srcref * int 45: | `AST_typed_case of range_srcref * int * typecode_t 46: | `AST_lookup of range_srcref * (expr_t * string * typecode_t list) 47: | `AST_the of range_srcref * qualified_name_t 48: | `AST_index of range_srcref * string * int 49: | `AST_callback of range_srcref * qualified_name_t 50: ] 51: 52: (** type of a suffixed name *) 53: and suffixed_name_t = 54: [ 55: | `AST_void of range_srcref 56: | `AST_name of range_srcref * string * typecode_t list 57: | `AST_case_tag of range_srcref * int 58: | `AST_typed_case of range_srcref * int * typecode_t 59: | `AST_lookup of range_srcref * (expr_t * string * typecode_t list) 60: | `AST_the of range_srcref * qualified_name_t 61: | `AST_index of range_srcref * string * int 62: | `AST_callback of range_srcref * qualified_name_t 63: | `AST_suffix of range_srcref * (qualified_name_t * typecode_t) 64: ] 65: 66: (** type of a regular expression *) 67: and regexp_t = 68: [ 69: | `REGEXP_seq of regexp_t * regexp_t (** concatenation *) 70: | `REGEXP_alt of regexp_t * regexp_t (** alternation *) 71: | `REGEXP_aster of regexp_t (** Kleene closure *) 72: | `REGEXP_name of qualified_name_t (** lookup regular definition *) 73: | `REGEXP_string of string (** concatenation of chars of string *) 74: | `REGEXP_epsilon (** epsilon: null string *) 75: | `REGEXP_sentinel (** end marker *) 76: | `REGEXP_code of expr_t (** associated code *) 77: | `REGEXP_group of string * regexp_t (** named group *) 78: ] 79: