sig
type action = {
let_pass : bool;
increase_outermost_match_depth : bool;
push_label_depth_stack : bool;
set_flag : bool;
}
type sxp_context
val default_sxp_context : unit -> Sxp_context.sxp_context
val push_label_depth_stack : Sxp_context.sxp_context -> unit
val pop_label_depth_stack : Sxp_context.sxp_context -> int
val decrease_topmost_label_depth : Sxp_context.sxp_context -> unit
val increase_topmost_label_depth : Sxp_context.sxp_context -> unit
val topmost_label_depth_is_one : Sxp_context.sxp_context -> bool
val topmost_label_depth_ge_one : Sxp_context.sxp_context -> bool
val decrease_outermost_match_depth : Sxp_context.sxp_context -> unit
val increase_outermost_match_depth : Sxp_context.sxp_context -> unit
val is_inside_another_match : Sxp_context.sxp_context -> bool
val record_action : Sxp_context.action -> Sxp_context.sxp_context -> unit
val get_recorded_action : Sxp_context.sxp_context -> Sxp_context.action
end