From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id A1691BBC4 for ; Mon, 13 Apr 2009 21:09:02 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmQEAOcq40nIuX5DgWdsb2JhbACWMwEBFiK2UoN8Bg X-IronPort-AV: E=Sophos;i="4.40,180,1238968800"; d="scan'208";a="24511032" Received: from mta20.f3.k8.com.br ([200.185.126.67]) by mail2-smtp-roc.national.inria.fr with ESMTP; 13 Apr 2009 21:09:01 +0200 Received: from localhost (localhost [127.0.0.1]) by smtpa.f3.k8.com.br (Postfix) with ESMTP id 6992628000A5 for ; Mon, 13 Apr 2009 19:08:58 +0000 (GMT) X-Virus-Scanned: amavisd-new at k8.com.br Received: from smtpa.f3.k8.com.br ([127.0.0.1]) by localhost (mta20.f3.k8.com.br [127.0.0.1]) (amavisd-new, port 10024) with LMTP id TzYot5eNjNAW for ; Mon, 13 Apr 2009 19:08:58 +0000 (GMT) Received: from [10.7.5.105] (fosforo.k8.com.br [200.185.109.125]) by smtpa.f3.k8.com.br (Postfix) with ESMTP id 12745280008E for ; Mon, 13 Apr 2009 19:08:57 +0000 (GMT) Subject: Re: [Caml-list] Camlp4 help From: Andre Nathan To: caml-list@inria.fr In-Reply-To: <1239581159.6443.13.camel@homesick> References: <1239581159.6443.13.camel@homesick> Content-Type: text/plain Date: Mon, 13 Apr 2009 16:08:57 -0300 Message-Id: <1239649737.6531.9.camel@andre.mz.digirati.com.br> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3.1 Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; camlp:01 forall:01 expr:01 expr:01 impl:01 infix:01 ocaml:01 nathan:98 2009:98 nathan:98 wrote:01 matched:01 caml-list:01 archives:02 opt:04 On Sun, 2009-04-12 at 21:05 -0300, Andre Nathan wrote: > If I simplify the rule above to > > "forall"; "("; gen = expr; ")"; var = ipatt; "."; > e1 = expr; impl = OPT "=>"; e2 = OPT expr -> > > then everything after the dot is bound to e1, even when there's a "=>". For the archives, this happens because "=>" is a valid infix operator name, and thus is matched by "e1 = expr". Changing it to "->" did the trick. Thanks to bluestorm at #ocaml for that :) Andre