Path: utzoo!attcan!uunet!mcvax!inria!mauny
From: mauny@inria.UUCP (Michel Mauny)
Newsgroups: comp.lang.misc
Subject: Re: Concrete Syntax in ML (was: CAML Release 2.5)
Keywords: ML, Yacc, Antiquoting
Message-ID: <689@inria.UUCP>
Date: 11 May 88 13:52:21 GMT
References: <7756@mcdchg.UUCP> <1304@its63b.ed.ac.uk>
Organization: INRIA, Rocquencourt. France
Lines: 22

>Actually, we're working on a parser generator interface for Standard ML as
>well, complete with antiquotation (concrete syntaxes) and so on. Our system
>doesn't rely on yacc syntax, and doesn't generate a parser in source form
>(I don't recall how the CAML parser is generated and loaded). Instead, the
>grammar is presented as a data structure (in fact, as an environment with
>the various types for terminals, nonterminals and the associated actions),
>and the parser generator returns a new environment containing a parsing
>function.

In CAML, the Yacc interface doesn't take care of the parser produced by
yacc: it is only interested in parsing tables which are used by
the CAML parser itself (and parsing tables of CAML's syntax are produced in
this way).

We plan also to give a better syntax to a grammar definition and to
typecheck (statically when possible) grammar definitions.

- What about "lexer" (are they user-definable, hand-written or mechanically
  produced in lex-style)?
- Do you typecheck grammars?
- Do you have a complete antiquotation mechanism (with escapes to the
  meta-language)?