From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 9EE83BCAE for ; Mon, 18 Jul 2005 12:12:28 +0200 (CEST) Received: from mail.tcs.inf.tu-dresden.de (tcs01.inf.tu-dresden.de [141.76.75.1]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j6IACSqd029524 for ; Mon, 18 Jul 2005 12:12:28 +0200 Received: from conversion-daemon.mail.tcs.inf.tu-dresden.de by mail.tcs.inf.tu-dresden.de (Sun Java System Messaging Server 6.1 HotFix 0.06 (built Nov 11 2004)) id <0IJT00M01IRCS500@mail.tcs.inf.tu-dresden.de> (original mail from tews@tcs.inf.tu-dresden.de) for caml-list@yquem.inria.fr; Mon, 18 Jul 2005 12:12:28 +0200 (MEST) Received: from ithif59.inf.tu-dresden.de (ithif59.inf.tu-dresden.de [141.76.75.59]) by mail.tcs.inf.tu-dresden.de (Sun Java System Messaging Server 6.1 HotFix 0.06 (built Nov 11 2004)) with ESMTPS id <0IJT00GVXJ0SCP00@mail.tcs.inf.tu-dresden.de> for caml-list@yquem.inria.fr; Mon, 18 Jul 2005 12:12:28 +0200 (MEST) Received: from tews by ithif59.inf.tu-dresden.de with local (Exim 4.50) id 1DuSbs-0000Vg-72 for caml-list@yquem.inria.fr; Mon, 18 Jul 2005 12:12:28 +0200 Date: Mon, 18 Jul 2005 12:12:27 +0200 From: Hendrik Tews Subject: Re: [Caml-list] camlp4 help In-reply-to: <20050715083901.GA24763@pulp.anu.edu.au> To: caml-list@yquem.inria.fr Message-id: MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT References: <20050715083901.GA24763@pulp.anu.edu.au> User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 X-Miltered: at concorde with ID 42DB808C.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; hendrik:01 tews:01 tews:01 caml-list:01 anu:01 parser:01 grammar:01 recursive:01 parsing:01 hendrik:01 ....:98 ...:98 writes:01 tu-dresden:01 tu-dresden:01 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.2 X-Spam-Level: Pietro Abate writes: declared. Is there a way to tell campl4 : pass everything in between RULE and END to a function my_parser ? In principle yes: You can convert any function (of the right type) into a camlp4 grammar entry. Then you can do something like EXTEND .... | "RULE"; result = enty_of_your_function -> ... See "More Power for Camlp4 recursive descent parsing" in http://wwwtcs.inf.tu-dresden.de/~tews/ocamlp4/camlp4-undoc.html (if this leaves anything unclear just ask). Bye, Hendrik