From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 2E47DBB81 for ; Fri, 23 Sep 2005 08:04:56 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j8N64tD0005485 for ; Fri, 23 Sep 2005 08:04:55 +0200 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id IAA14370 for ; Fri, 23 Sep 2005 08:04:55 +0200 (MET DST) Received: from e-post01.e-se.ru (freemail.ru [217.174.99.31]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j8N64sg5022332 for ; Fri, 23 Sep 2005 08:04:54 +0200 Received: from kouzdra.tepkom.ru ( [213.170.99.70]) by e-post01.e-se.ru with ESMTP id 067FFC8834807428774; Fri, 23 Sep 2005 10:06:33 +0400 Date: Fri, 23 Sep 2005 10:05:30 +0400 From: "Jake A. Kirilenko" Reply-To: "Jake A. Kirilenko" X-Priority: 3 (Normal) Message-ID: <575276321.20050923100530@freemail.ru> To: Alex Baretta Cc: Ocaml Subject: Re: [Caml-list] Yacc limitations In-Reply-To: <43327FEF.7070209@barettadeit.com> References: <43327FEF.7070209@barettadeit.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Miltered: at nez-perce with ID 43339B07.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 43339B06.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 parser:01 ocaml:01 parsers:01 grammars:01 attributed:01 iter:01 iter:01 parsers:01 parser:01 ocamlyacc:01 ocaml:01 freemail:98 2005,:98 yard:98 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.2 required=5.0 tests=FORGED_RCVD_HELO, PRIORITY_NO_NAME autolearn=disabled version=3.0.3 Hello Alex, Thursday, September 22, 2005, 1:57:03 PM, you wrote: I'm developing a RD parser generator (YARD) in pure Ocaml that combines modern ideas about functional parsers. I have not analyzed the class of grammars being parsed but it is wider then CFG. Smth about left attributed but I am not ready to discuss this topic. Short example of rule `iter' that applies argument `a' `n' times: iter[a n] : => n > 0 => = a = iter[ a (n - 1)] {hd::tl} | => n = 0 => {[]} ( `=> ... =>' is a predicate/guardian, `<..>' is a binding) Do you believe that this kind of parsers are able to parse SQL? YARD is open source project, but I have not published sources yet but if somebody is interested I will. Generator (YARD) is ready to be used and is being used in our projects, but it rapidly changes =). YARD AB> I am getting very much annoyed with the obtusity of the LALR-yacc parser AB> generators. I have unsurmountable difficulties at teaching ocamlyacc how AB> to parse SQL decently. AB> What is the "way to go" in terms of parser generators for Ocaml? I'd AB> like to see if there is some level of agreement in the community on this AB> issue. AB> Alex Best regards, Jake mailto:jake@freemail.ru