From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 64486BC3D for ; Mon, 8 Aug 2005 07:03:31 +0200 (CEST) Received: from rproxy.gmail.com (rproxy.gmail.com [64.233.170.200]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j7853Uqf001526 for ; Mon, 8 Aug 2005 07:03:31 +0200 Received: by rproxy.gmail.com with SMTP id a36so1175558rnf for ; Sun, 07 Aug 2005 22:03:30 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=q2jc14Ok5ihyVsrONpP6wuk9CYrJDJfLzIMoF233pNPJkkbHM8AiONn7XEeSd0kvMOtEJyT10TpPpfCgHuWmaCr5gnFtH3/gReRuRP0jWrFhA/kewBqRQWritTSA/QVDErqlfXwQlseqCH0etySYYTyy68CKpJZZO1MQvCCcIfc= Received: by 10.38.97.9 with SMTP id u9mr2426007rnb; Sun, 07 Aug 2005 22:03:30 -0700 (PDT) Received: by 10.38.209.44 with HTTP; Sun, 7 Aug 2005 22:03:30 -0700 (PDT) Message-ID: Date: Mon, 8 Aug 2005 17:03:30 +1200 From: Jonathan Roewen To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] ocamllex+ocamlyacc and not parsing properly In-Reply-To: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_927_5513830.1123477410379" References: <200508080058.12357.jon@ffconsultancy.com> X-j-chkmail-Score: MSGID : 42F6E7A2.001 on nez-perce : j-chkmail score : X : 0/20 1 X-Miltered: at nez-perce with ID 42F6E7A2.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 ocamllex:01 ocamlyacc:01 parsing:01 token:01 lexer:01 mll:01 lexer:01 mll:01 lexing:01 parser:01 params:01 lexbuf:01 eol:01 eol:01 X-Attachments: name="irc_lexer.mll" name="irc_lexer.mll" X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=RCVD_BY_IP,UPPERCASE_25_50 autolearn=disabled version=3.0.3 ------=_Part_927_5513830.1123477410379 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Well, using a ref to maintain state seemed to fix things =3D) However, I do have a question on how it manages to parse the last token in an IRC string correctly. Given the following input: ":journey PRIVMSG #bfos :\001ACTION dances a jig\001" How does my irc_lexer.mll match the rule in param, and not the rule in mess= age? (My new irc_lexer.mll is attached). BTW: A tutorial on these sorts of things (i.e. something a bit more complicated than the calculator example) would be great to have as a resource. Jonathan ------=_Part_927_5513830.1123477410379 Content-Type: text/plain; name="irc_lexer.mll" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="irc_lexer.mll" ew0Kb3BlbiBMZXhpbmcNCm9wZW4gSXJjX3BhcnNlcg0Kb3BlbiBJcmNfdHlwZXMNCg0KdHlwZSBz dGF0ZSA9IEhlYWRlciB8IENvbW1hbmQgfCBQYXJhbXMNCg0KbGV0IHN0YXRlID0gcmVmIEhlYWRl cg0KDQpsZXQgaW5pdCAoKSA9IHN0YXRlIDo9IEhlYWRlciAoKiB0aGlzIC1tdXN0LSBiZSBjYWxs ZWQgYmVmb3JlIHRyeWluZyB0byBsZXggYSBjb21wbGV0ZSBsaW5lICopDQp9DQoNCmxldCBsZXR0 ZXIgPSBbXicgJ10NCmxldCBkaWdpdCA9IFsnMCctJzknXQ0KDQpydWxlIHBhcmFtID0gcGFyc2UN Cgl8ICc6JygobGV0dGVyfCcgJykqIGFzIHMpCQl7IFNUUklORyBzIH0NCgl8IChsZXR0ZXIrKSBh cyBzCQkJCXsgU1RSSU5HIHMgfQ0KCXwgWycgJ10rCQkJCQkJeyBwYXJhbSBsZXhidWYgfQ0KCXwg ZW9mCQkJCQkJCXsgRU9MIH0NCg0KYW5kIGNvbW1hbmQgPSBwYXJzZQ0KCXwgKGRpZ2l0IGRpZ2l0 IGRpZ2l0KSBhcyBudW0JeyBDT01NQU5EIChOdW1lcmljIChpbnRfb2Zfc3RyaW5nIG51bSkpIH0N Cgl8ICJKT0lOIgkJCQkJCXsgQ09NTUFORCBKT0lOIH0NCgl8ICJQQVJUIgkJCQkJCXsgQ09NTUFO RCBQQVJUIH0NCgl8ICJNT0RFIgkJCQkJCXsgQ09NTUFORCBNT0RFIH0NCgl8ICJUT1BJQyIJCQkJ CQl7IENPTU1BTkQgVE9QSUMgfQ0KCXwgIk5BTUVTIgkJCQkJCXsgQ09NTUFORCBOQU1FUyB9DQoJ fCAiTElTVCIJCQkJCQl7IENPTU1BTkQgTElTVCB9DQoJfCAiSU5WSVRFIgkJCQkJCXsgQ09NTUFO RCBJTlZJVEUgfQ0KCXwgIktJQ0siCQkJCQkJeyBDT01NQU5EIEtJQ0sgfQ0KCXwgIlBSSVZNU0ci CQkJCQkJeyBDT01NQU5EIFBSSVZNU0cgfQ0KCXwgIk5PVElDRSIJCQkJCQl7IENPTU1BTkQgTk9U SUNFIH0NCgl8ICJRVUlUIgkJCQkJCXsgQ09NTUFORCBRVUlUIH0NCgl8ICJQSU5HIgkJCQkJCXsg Q09NTUFORCBQSU5HIH0NCgl8IGVvZgkJCQkJCQl7IEVPTCB9DQoNCmFuZCBtZXNzYWdlID0gcGFy c2UNCgl8ICc6JygobGV0dGVyKykgYXMgcykJCQl7IGlmICFzdGF0ZSA9IEhlYWRlciB0aGVuIHN0 YXRlIDo9IENvbW1hbmQ7IFNUUklORyBzIH0NCgl8IFsnICddKgkJCQkJCXsgaWYgIXN0YXRlID0g SGVhZGVyIHx8ICFzdGF0ZSA9IENvbW1hbmQgdGhlbiBiZWdpbg0KCQkJCQkJCQkJCXN0YXRlIDo9 IFBhcmFtczsNCgkJCQkJCQkJCQljb21tYW5kIGxleGJ1Zg0KCQkJCQkJCQkJZW5kIGVsc2UgYmVn aW4NCgkJCQkJCQkJCQlzdGF0ZSA6PSBQYXJhbXM7DQoJCQkJCQkJCQkJcGFyYW0gbGV4YnVmDQoJ CQkJCQkJCQllbmQgfQ0KCXwgZW9mCQkJCQkJCXsgRU9MIH0NCg== ------=_Part_927_5513830.1123477410379--