caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Oliver Bandel <oliver@first.in-berlin.de>
To: Daniel de Rauglaudre <daniel.de_rauglaudre@inria.fr>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Camlp4-tutorial-Example
Date: Sat, 7 Sep 2002 01:10:53 +0200 (MET DST)	[thread overview]
Message-ID: <Pine.LNX.3.95.1020907005853.312A-100000@first.in-berlin.de> (raw)
In-Reply-To: <20020903090842.B30173@verdot.inria.fr>

Hi,

I started again with reading the Camlp4-tutorial.
I now see more clear here.


On Tue, 3 Sep 2002, Daniel de Rauglaudre wrote:

> Hi,
> 
> On Mon, Sep 02, 2002 at 10:52:27PM +0200, Oliver Bandel wrote:
> 
> > What I do not understand:
> > This calculator knows that * and / have higher Priority
> > than + and -.
> > How is this achieved?
> 
> By the order of the rules. The rules with same priority are grouped
> together:
>    [ ... | ... | ... ]
> 
> and there is another level of parentheses (of bracket parentheses)
> separated by vertical bars to indicate the priority:
>   [
>        [ ... | ... | ... ]        (* lowest priority *)
>      | [ ... | ... | ... ]        ...
>      | [ ... | ... | ... ]        (* highest priority *)
>   ]      

If you would add this to the tutorial, this would be very helpful
for people, first reading it.


Another question:

As far as I see, an expression in the Used Grammar/Plexer
combination needs to give back *one* certain type.
In the examples until page 13 it's always an int,
was is returned back after parsing.

What, if I need a string?

Yes, i've seen that it is possible to get back functions
that, if applied, will give the resulting int.
But a) it's again int and b) all functions have same type.
What if I need a function that returns back a string?

Or do I have to look at it in other ways?

Well, in Ocaml (it's big plus) it's necessary to have
correct types in the program, so if I want to get
back int as well as string, I may define a type

type myresult = Int of int | String of string

Is this a way, you can recommend?

Ciao,
   Oliver

P.S.: I looked at the example with List.assoc on page 11 and 12.
      I think that's a way to implement own variables of a simple
      language. Very easy, and again surprising.
      (Here again: how to use string-variables in a language
       to implement?)


-------------------
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


  parent reply	other threads:[~2002-09-06 23:40 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-02 19:52 Oliver Bandel
2002-09-02 20:52 ` Oliver Bandel
2002-09-02 21:43   ` Oliver Bandel
2002-09-03  7:08   ` Daniel de Rauglaudre
2002-09-04 19:46     ` Oliver Bandel
2002-09-06 23:10     ` Oliver Bandel [this message]
2002-09-07 15:52       ` Daniel de Rauglaudre

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=Pine.LNX.3.95.1020907005853.312A-100000@first.in-berlin.de \
    --to=oliver@first.in-berlin.de \
    --cc=caml-list@inria.fr \
    --cc=daniel.de_rauglaudre@inria.fr \
    /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).