caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Nicolas Cannasse" <warplayer@free.fr>
To: <micha-1@fantasymail.de>, "caml" <caml-list@inria.fr>
Subject: Re: [Caml-list] stream parser problem/question
Date: Tue, 10 Aug 2004 12:02:22 +0200	[thread overview]
Message-ID: <000901c47ec1$22f1db00$ef01a8c0@warp> (raw)
In-Reply-To: <200408101152.17727.micha-1@fantasymail.de>

> Hi,
>
> I'm using ocamllex/yacc to translate a little language into a parse-tree,
then
> processing the tree and putting the output into a queue. Then I iterate
over
> the queue, generating a new one and so on until finished.
> My question is, instead of outputing the processed parse-tree into a
queue, is
> ist better/more elegant to generate a stream and then using a stream
parser
> to process that stream and eventual generating a new stream,... until
> finished?
> Are stream parsers useful for my purpose? Are there penalties using them?
>
> Another slight issue is, that I don't see how to generate a token stream
(with
> Stream.from) of my parse tree (because of the tree-stucture, I get
confused
> how to get the right next token); maybe someone can give me a hint?

It is actually not easy to generate a stream of tokens for a tree, since you
have to simulate the call stack by yourself. In languages such as Python,
the yield keyword is very useful for this. Is there any plans to get such
thing in OCaml and is there any implementation notes available ?

Regards,
Nicolas Cannasse

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  reply	other threads:[~2004-08-10 10:03 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-10  9:52 Michael
2004-08-10 10:02 ` Nicolas Cannasse [this message]
2004-08-10 15:10   ` Brian Hurt
     [not found] ` <200408110022.46427.micha-1@fantasymail.de>
     [not found]   ` <41194E51.8050007@ens-lyon.fr>
2004-08-11  0:35     ` Micha

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='000901c47ec1$22f1db00$ef01a8c0@warp' \
    --to=warplayer@free.fr \
    --cc=caml-list@inria.fr \
    --cc=micha-1@fantasymail.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).