2016-02-18 07:11:59 -08:00
|
|
|
(**************************************************************************)
|
|
|
|
(* *)
|
|
|
|
(* OCaml *)
|
|
|
|
(* *)
|
|
|
|
(* Jerome Vouillon, projet Cristal, INRIA Rocquencourt *)
|
|
|
|
(* OCaml port by John Malecki and Xavier Leroy *)
|
|
|
|
(* *)
|
|
|
|
(* Copyright 1996 Institut National de Recherche en Informatique et *)
|
|
|
|
(* en Automatique. *)
|
|
|
|
(* *)
|
|
|
|
(* All rights reserved. This file is distributed under the terms of *)
|
|
|
|
(* the GNU Lesser General Public License version 2.1, with the *)
|
|
|
|
(* special exception on linking described in the file LICENSE. *)
|
|
|
|
(* *)
|
|
|
|
(**************************************************************************)
|
1996-11-29 08:55:09 -08:00
|
|
|
|
1997-01-05 06:04:06 -08:00
|
|
|
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
|
|
|
|
1997-02-19 08:09:23 -08:00
|
|
|
type break_arg =
|
|
|
|
BA_none (* break *)
|
|
|
|
| BA_pc of int (* break PC *)
|
|
|
|
| BA_function of expression (* break FUNCTION *)
|
2009-05-20 04:52:42 -07:00
|
|
|
| BA_pos1 of Longident.t option * int * int option
|
1997-02-19 08:09:23 -08:00
|
|
|
(* break @ [MODULE] LINE [POS] *)
|
2009-05-20 04:52:42 -07:00
|
|
|
| BA_pos2 of Longident.t option * int (* break @ [MODULE] # OFFSET *)
|