summaryrefslogtreecommitdiffstats
path: root/camlp4/examples/lambda_parser.ml
diff options
context:
space:
mode:
authorJérémie Dimino <jeremie@dimino.org>2013-11-21 16:23:28 +0000
committerJérémie Dimino <jeremie@dimino.org>2013-11-21 16:23:28 +0000
commit5d917633adeee07f19848d737a6825bd7a462cf8 (patch)
tree47e7f11440fc4be2cf1014abd371f915f885d06d /camlp4/examples/lambda_parser.ml
parent94f29d29c3d58d29d160a53694e9c301157d9f79 (diff)
remove camlp4
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/minus-camlp4@14309 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'camlp4/examples/lambda_parser.ml')
-rw-r--r--camlp4/examples/lambda_parser.ml48
1 files changed, 0 insertions, 48 deletions
diff --git a/camlp4/examples/lambda_parser.ml b/camlp4/examples/lambda_parser.ml
deleted file mode 100644
index 82ab3b8b5..000000000
--- a/camlp4/examples/lambda_parser.ml
+++ /dev/null
@@ -1,48 +0,0 @@
-(****************************************************************************)
-(* *)
-(* OCaml *)
-(* *)
-(* INRIA Rocquencourt *)
-(* *)
-(* Copyright 2008 Institut National de Recherche en Informatique et *)
-(* en Automatique. All rights reserved. This file is distributed under *)
-(* the terms of the GNU Library General Public License, with the special *)
-(* exception on linking described in LICENSE at the top of the OCaml *)
-(* source tree. *)
-(* *)
-(****************************************************************************)
-
-(* Please keep me in sync with brion.inria.fr/gallium/index.php/Lambda_calculus_quotations *)
-
-type term =
- | Lam of var * term
- | App of term * term
- | Int of int
- | Var of var
-and var = string
-
-module LambdaGram = Camlp4.PreCast.MakeGram(Camlp4.PreCast.Lexer);;
-module Loc = Camlp4.PreCast.Loc;; (* should not be necessary when camlp4 will be fixed *)
-open Camlp4.Sig;; (* from tokens *)
-let term = LambdaGram.Entry.mk "term";;
-let term_eoi = LambdaGram.Entry.mk "lambda term quotation";;
-
-EXTEND LambdaGram
- GLOBAL: term term_eoi;
- term:
- [ "top"
- [ "fun"; v = var; "->"; t = term -> Lam(v, t) ]
- | "app"
- [ t1 = SELF; t2 = SELF -> App(t1, t2) ]
- | "simple"
- [ v = var -> Var(v)
- | `INT(i, _) -> Int(i)
- | "("; t = term; ")" -> t ]
- ];
- var:
- [[ `LIDENT v -> v ]];
- term_eoi:
- [[ t = term; `EOI -> t ]];
-END;;
-
-let lambda_parser = LambdaGram.parse_string term_eoi;;