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=1.4 required=5.0 tests=AWL,HTML_MESSAGE,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id 6C213BC0A for ; Sat, 17 Mar 2007 23:21:15 +0100 (CET) Received: from mu-out-0910.google.com (mu-out-0910.google.com [209.85.134.185]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l2HMLEfm003338 for ; Sat, 17 Mar 2007 23:21:15 +0100 Received: by mu-out-0910.google.com with SMTP id w9so1268838mue for ; Sat, 17 Mar 2007 15:21:14 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=snSGlM4K6JiCoeyNmOfKYV+4ls1L6TIM8y5raeCy9FxLvTDJsWXU1G415qQ1FLI0YUjjMsnUbgsrEyIVqe3HFmbgZ8Dwdco1w4W4jEGEJvheR8ZHFVoA7AXo/PMlnn2tEH9+Vu4C2KCMHiGw8hSt0lATDC/6MSeIFaCJaAnClrQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=hu+H1UKZhDZFGsJ/XJvN33nAEgO6KTjytuW7Y5G71NQbSh09oBvA7ikVEH1nODbzEHGgH8lQgmoaHercFQPlg3MO4ke/PGVhmy92Hbi7mL400FryzLthkf3l+hzHAGqlPP7Abe6UN1TWVIazZRXXcuf9E3FsisBoSrSrmMQoJpk= Received: by 10.82.177.3 with SMTP id z3mr6355010bue.1174170074059; Sat, 17 Mar 2007 15:21:14 -0700 (PDT) Received: by 10.82.100.16 with HTTP; Sat, 17 Mar 2007 15:21:14 -0700 (PDT) Message-ID: Date: Sat, 17 Mar 2007 23:21:14 +0100 From: Tom To: "Christophe Raffalli" Subject: Re: [Caml-list] ocamlyacc, menhir, dypgen, camp4, elkhound Cc: caml-list@inria.fr In-Reply-To: <45FB033A.5040201@univ-savoie.fr> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_111922_32966156.1174170074017" References: <45FB033A.5040201@univ-savoie.fr> X-j-chkmail-Score: MSGID : 45FC69DA.000 on discorde : j-chkmail score : X : 0/20 1 0.000 -> 1 X-Miltered: at discorde with ID 45FC69DA.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocamlyacc:01 ocaml:01 bindings:01 val:01 lident:01 bindings:01 val:01 seq:01 expr:01 seq:01 expr:01 recursion:01 ocaml:01 lident:01 recursion:01 X-Attachments: cset="UTF-8" cset="UTF-8" ------=_Part_111922_32966156.1174170074017 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Possibly a difficult grammar is the grammar of OCaml value definition... structure_item: LET rec_flag let_bindings ; rec_flag: /* empty */ | REC ; val_ident: LIDENT | LPAREN operator RPAREN ; let_bindings: let_binding | let_bindings AND let_binding ; let_binding: val_ident fun_binding | pattern EQUAL seq_expr ; fun_binding: strict_binding | type_constraint EQUAL seq_expr ; strict_binding: EQUAL seq_expr | labeled_simple_pattern fun_binding ; Indeed there are some "unknown" items, but the difficult part here is trying to parse the function declaration with variable number of parameters, using no (slow) recursion. Hm... maybe, I don't know, I found this both hard to think of and hard to understand. - Tom ------=_Part_111922_32966156.1174170074017 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Possibly a difficult grammar is the grammar of OCaml value definition...

structure_item:
LET rec_flag let_bindings
;
rec_flag:
/* empty */
| REC
;
val_ident:
LIDENT
| LPAREN operator RPAREN
;
let_bindings:
let_binding
| let_bindings AND let_binding
;
let_binding:
val_ident fun_binding
| pattern EQUAL seq_expr
;
fun_binding:
strict_binding
| type_constraint EQUAL seq_expr
;
strict_binding:
EQUAL seq_expr
| labeled_simple_pattern fun_binding
;

Indeed there are some "unknown" items, but the difficult part here is trying to parse the function declaration with
variable number of parameters, using no (slow) recursion.

Hm... maybe, I don't know, I found this both hard to think of and hard to understand.

- Tom

------=_Part_111922_32966156.1174170074017--