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