1996-11-29 08:55:09 -08:00
|
|
|
(***********************************************************************)
|
|
|
|
(* *)
|
|
|
|
(* Objective Caml *)
|
|
|
|
(* *)
|
|
|
|
(* Jerome Vouillon, projet Cristal, INRIA Rocquencourt *)
|
|
|
|
(* Objective Caml port by John Malecki and Xavier Leroy *)
|
|
|
|
(* *)
|
|
|
|
(* Copyright 1996 Institut National de Recherche en Informatique et *)
|
|
|
|
(* Automatique. Distributed only by permission. *)
|
|
|
|
(* *)
|
|
|
|
(***********************************************************************)
|
|
|
|
|
|
|
|
(* $Id$ *)
|
|
|
|
|
|
|
|
(*open Globals*)
|
1997-01-05 06:04:06 -08:00
|
|
|
|
1996-11-29 08:55:09 -08:00
|
|
|
open Primitives
|
|
|
|
|
|
|
|
type break_arg =
|
1997-01-05 06:04:06 -08:00
|
|
|
BA_none (* break *)
|
|
|
|
| BA_pc of int (* break PC *)
|
|
|
|
| BA_function of Longident.t (* break FUNCTION *)
|
1996-11-29 08:55:09 -08:00
|
|
|
| BA_pos1 of string option * int * int option
|
1997-01-05 06:04:06 -08:00
|
|
|
(* break @ [MODULE] LINE [POS] *)
|
|
|
|
| BA_pos2 of string option * int (* break @ [MODULE] # OFFSET *)
|
|
|
|
|
|
|
|
type expression =
|
|
|
|
E_ident of Longident.t (* x or Mod.x *)
|
|
|
|
| E_name of int (* $xxx *)
|
|
|
|
| E_item of expression * int (* x.1 x.[2] x.(3) *)
|
|
|
|
| E_field of expression * string (* x.lbl !x *)
|
|
|
|
| E_result
|
1996-11-29 08:55:09 -08:00
|
|
|
|