26 lines
1.1 KiB
OCaml
26 lines
1.1 KiB
OCaml
(***********************************************************************)
|
|
(* *)
|
|
(* Objective Caml *)
|
|
(* *)
|
|
(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
|
|
(* *)
|
|
(* Copyright 1996 Institut National de Recherche en Informatique et *)
|
|
(* en Automatique. All rights reserved. This file is distributed *)
|
|
(* under the terms of the Q Public License version 1.0. *)
|
|
(* *)
|
|
(***********************************************************************)
|
|
|
|
(* $Id$ *)
|
|
|
|
type t =
|
|
Lident of string
|
|
| Ldot of t * string
|
|
| Lapply of t * t
|
|
|
|
let rec flat accu = function
|
|
Lident s -> s :: accu
|
|
| Ldot(lid, s) -> flat (s :: accu) lid
|
|
| Lapply(l1, l2) -> Misc.fatal_error "Longident.flat"
|
|
|
|
let flatten lid = flat [] lid
|