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: ] 30: 31: type base_type_qual_t = [ 32: | `Incomplete 33: | `Pod 34: | `GC_pointer (* this means the type is a pointer the GC must follow *) 35: ] 36: 37: (** type of a qualified name *) 38: type qualified_name_t = 39: [ 40: | `AST_void of range_srcref 41: | `AST_name of range_srcref * string * typecode_t list 42: | `AST_case_tag of range_srcref * int 43: | `AST_typed_case of range_srcref * int * typecode_t 44: | `AST_lookup of range_srcref * (expr_t * string * typecode_t list) 45: | `AST_the of range_srcref * qualified_name_t 46: | `AST_index of range_srcref * string * int 47: | `AST_callback of range_srcref * qualified_name_t 48: ] 49: 50: (** type of a suffixed name *) 51: and suffixed_name_t = 52: [ 53: | `AST_void of range_srcref 54: | `AST_name of range_srcref * string * typecode_t list 55: | `AST_case_tag of range_srcref * int 56: | `AST_typed_case of range_srcref * int * typecode_t 57: | `AST_lookup of range_srcref * (expr_t * string * typecode_t list) 58: | `AST_the of range_srcref * qualified_name_t 59: | `AST_index of range_srcref * string * int 60: | `AST_callback of range_srcref * qualified_name_t 61: | `AST_suffix of range_srcref * (qualified_name_t * typecode_t) 62: ] 63: 64: (** type of a regular expression *) 65: and regexp_t = 66: | REGEXP_seq of regexp_t * regexp_t (** concatenation *) 67: | REGEXP_alt of regexp_t * regexp_t (** alternation *) 68: | REGEXP_aster of regexp_t (** Kleene closure *) 69: | REGEXP_name of qualified_name_t (** lookup regular definition *) 70: | REGEXP_string of string (** concatenation of chars of string *) 71: | REGEXP_epsilon (** epsilon: null string *) 72: | REGEXP_sentinel (** end marker *) 73: | REGEXP_code of expr_t (** associated code *) 74: | REGEXP_group of string * regexp_t (** named group *) 75: