caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Camlp4 3.01.4
@ 2001-05-21 11:43 Daniel de Rauglaudre
  2001-05-21 11:45 ` [Caml-list] " Daniel de Rauglaudre
  2001-05-24  7:42 ` [Caml-list] " Anton Moscal
  0 siblings, 2 replies; 4+ messages in thread
From: Daniel de Rauglaudre @ 2001-05-21 11:43 UTC (permalink / raw)
  To: caml-list

Hello everybody,

I made a release 3.01.4 for Camlp4, compatible with Ocaml 3.01.

Main changes since Camlp4 3.01:

  - Added functions in module Token to create lexers:
       1/ from char stream parser
       2/ from ocamllex lexer
  - Added extensible functions: library module Extfun, parser pa_extfun,
    and printer pr_extfun. They are used in Camlp4 pretty printing.
  - Added Lisp syntax pa_lisp.cmo (not terminated).
  - Added variable Grammar.error_verbose and option -verbose of command
    camlp4 to display more information in case of parsing error.
  - Changed revised syntax of sequences. Now:
      do { expr1; expr2 ..... ; exprn }
      for patt = expr to/downto expr do { expr1; expr2 ..... ; exprn }
      while expr do { expr1; expr2 ..... ; exprn }

-- 
Daniel de RAUGLAUDRE
daniel.de_rauglaudre@inria.fr
http://cristal.inria.fr/~ddr/
-------------------
To unsubscribe, mail caml-list-request@inria.fr.  Archives: http://caml.inria.fr


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Caml-list] Re: Camlp4 3.01.4
  2001-05-21 11:43 [Caml-list] Camlp4 3.01.4 Daniel de Rauglaudre
@ 2001-05-21 11:45 ` Daniel de Rauglaudre
  2001-05-24  7:42 ` [Caml-list] " Anton Moscal
  1 sibling, 0 replies; 4+ messages in thread
From: Daniel de Rauglaudre @ 2001-05-21 11:45 UTC (permalink / raw)
  To: caml-list

Sorry, Camlp4 is available at:

   http://caml.inria.fr/camlp4/
   http://caml.inria.fr/camlp4/index-fra.html (version française)

The ftp server seems not to be working for the moment, but you can
download from the http link.

-- 
Daniel de RAUGLAUDRE
daniel.de_rauglaudre@inria.fr
http://cristal.inria.fr/~ddr/
-------------------
To unsubscribe, mail caml-list-request@inria.fr.  Archives: http://caml.inria.fr


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Caml-list] Camlp4 3.01.4
  2001-05-21 11:43 [Caml-list] Camlp4 3.01.4 Daniel de Rauglaudre
  2001-05-21 11:45 ` [Caml-list] " Daniel de Rauglaudre
@ 2001-05-24  7:42 ` Anton Moscal
  2001-05-24 16:44   ` Daniel de Rauglaudre
  1 sibling, 1 reply; 4+ messages in thread
From: Anton Moscal @ 2001-05-24  7:42 UTC (permalink / raw)
  To: Daniel de Rauglaudre; +Cc: caml-list

On Mon, 21 May 2001, Daniel de Rauglaudre wrote:

> Hello everybody,
> 
> I made a release 3.01.4 for Camlp4, compatible with Ocaml 3.01.
> 
> Main changes since Camlp4 3.01:
> 
>   - Added functions in module Token to create lexers:
>        1/ from char stream parser
>        2/ from ocamllex lexer

This is useful. But what do you think about incorporating in Camlp4 some
features from AntLR (successor of the PCCTS), such as:

parameterized rules: something like
rule [parameters list]: [[ ... ]]
and invoking by "rule [actual parameters list]"

predicates 
   (expression)? => rule, 
parser try to parse "rule" only if "expression" true, 

syntax predicates:
   (rule1) => rule2: parser try to parse rule1, if succeed then parser 
returns to initial position and try to parse rule2. rule1 usually is a
prefix of rule2, but without side effects

And the last, but not least:
Implements some explicit distinction beetween rule with side effects and
without it (for example - rule: ... and rule :: ... ).  When rule without
side effects failed, parser can keeps trying other alternatives.


The last two features requires input streams with "reset to saved
position" function, but this shouldn't be a serious problem.

Best wishes,
Anton Moscal
-------------------
To unsubscribe, mail caml-list-request@inria.fr.  Archives: http://caml.inria.fr


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Caml-list] Camlp4 3.01.4
  2001-05-24  7:42 ` [Caml-list] " Anton Moscal
@ 2001-05-24 16:44   ` Daniel de Rauglaudre
  0 siblings, 0 replies; 4+ messages in thread
From: Daniel de Rauglaudre @ 2001-05-24 16:44 UTC (permalink / raw)
  To: Anton Moscal; +Cc: caml-list

Hi,

On Thu, May 24, 2001 at 11:42:23AM +0400, Anton Moscal wrote:

> parameterized rules: something like
> rule [parameters list]: [[ ... ]]
> and invoking by "rule [actual parameters list]"

It is a problem to type that. The entries could not be just 'a entry
but ('a, 'b) entry, something like that, where 'b is the type of the
parameters.

> predicates 
>    (expression)? => rule, 
> parser try to parse "rule" only if "expression" true, 

This could be possible, I guess. I have to think of it. But you can also
write a parser and use Grammar.Entry.of_parser.

> syntax predicates:
>    (rule1) => rule2: parser try to parse rule1, if succeed then parser 
> returns to initial position and try to parse rule2. rule1 usually is a
> prefix of rule2, but without side effects

A mutable value has side effect. To undo side effects, it is rather
complicated. This could be done with purely functionnal parsers (I
am thinking of a library and a syntax for purely functionnal streams
and parsers), and purely functionnal grammars (much more code).

> And the last, but not least:
> Implements some explicit distinction beetween rule with side effects and
> without it (for example - rule: ... and rule :: ... ).  When rule without
> side effects failed, parser can keeps trying other alternatives.

Same answer.

> The last two features requires input streams with "reset to saved
> position" function, but this shouldn't be a serious problem.

Yes it is.

-- 
Daniel de RAUGLAUDRE
daniel.de_rauglaudre@inria.fr
http://cristal.inria.fr/~ddr/
-------------------
To unsubscribe, mail caml-list-request@inria.fr.  Archives: http://caml.inria.fr


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2001-05-25 16:54 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-05-21 11:43 [Caml-list] Camlp4 3.01.4 Daniel de Rauglaudre
2001-05-21 11:45 ` [Caml-list] " Daniel de Rauglaudre
2001-05-24  7:42 ` [Caml-list] " Anton Moscal
2001-05-24 16:44   ` Daniel de Rauglaudre

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