module Halstead: sig .. end
Halstead metrics computation
val update_val : int -> 'a -> ('a, int) Hashtbl.t -> unit
val update_val_incr : 'a -> ('a, int) Hashtbl.t -> unit
type operand_tbl = {
}
type operator_tbl = {
}
val id_from_init : ('a * 'b * 'c * 'd) * 'e -> 'a
class halsteadCabsVisitor : object .. end
val compose : 'a -> int -> int * int -> int * int
val fold : ('a, int) Hashtbl.t -> int * int -> int * int
val compute_operators : operator_tbl -> float * float
val compute_operands : operand_tbl -> float * float
type halstead_metrics = {
|
distinct_operators : float; |
|
total_operators : float; |
|
distinct_operands : float; |
|
total_operands : float; |
|
program_length : float; |
|
program_volume : float; |
|
program_level : float; |
|
vocabulary_size : float; |
|
difficulty_level : float; |
|
effort_to_implement : float; |
|
time_to_implement : float; |
|
bugs_delivered : float; |
}
val get_metrics : unit -> halstead_metrics
val to_list : halstead_metrics -> string list list
val pp_metrics : Format.formatter ->
< get_operand_tbl : unit -> operand_tbl;
get_operator_tbl : unit -> operator_tbl; .. > ->
unit
val compute_metrics : unit -> unit
val get_metrics : unit -> halstead_metrics