1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset= ISO-8859-1">
<TITLE>
The Objective Caml language
</TITLE>
</HEAD>
<BODY >
<A HREF="manual005.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="manual019.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Contents"></A>
<HR>
<H1>Chapter 5: The Objective Caml language</H1> <A NAME="c:refman"></A>
<H2>Foreword</H2>This document is intended as a reference manual for the Objective Caml
language. It lists the language constructs, and gives their precise
syntax and informal semantics. It is by no means a tutorial
introduction to the language: there is not a single example. A good
working knowledge of Caml is assumed.<BR>
<BR>
No attempt has been made at mathematical rigor: words are employed
with their intuitive meaning, without further definition. As a
consequence, the typing rules have been left out, by lack of the
mathematical framework required to express them, while they are
definitely part of a full formal definition of the language. <BR>
<BR>
<H3>Notations</H3>The syntax of the language is given in BNF-like notation. Terminal
symbols are set in typewriter font (<TT><FONT COLOR=blue>like</FONT></TT> <TT><FONT COLOR=blue>this</FONT></TT>).
Non-terminal symbols are set in italic font (<TT><I><FONT COLOR=maroon>like</FONT></I></TT> <TT><I><FONT COLOR=maroon>that</FONT></I></TT>).
Square brackets [...] denote optional components. Curly brackets
{...} denotes zero, one or several repetitions of the enclosed
components. Curly bracket with a trailing plus sign {...}<SUP><FONT SIZE=2>+</FONT></SUP>
denote one or several repetitions of the enclosed components.
Parentheses (...) denote grouping.<BR>
<BR>
<BR>
<BR>
<UL>
<LI><A HREF="manual007.html"> Lexical conventions</A>
<LI><A HREF="manual008.html"> Values</A>
<LI><A HREF="manual009.html"> Names</A>
<LI><A HREF="manual010.html"> Type expressions</A>
<LI><A HREF="manual011.html"> Constants</A>
<LI><A HREF="manual012.html"> Patterns</A>
<LI><A HREF="manual013.html"> Expressions</A>
<LI><A HREF="manual014.html"> Type and exception definitions</A>
<LI><A HREF="manual015.html"> Classes</A>
<LI><A HREF="manual016.html"> Module types (module specifications)</A>
<LI><A HREF="manual017.html"> Module expressions (module implementations)</A>
<LI><A HREF="manual018.html"> Compilation units</A>
</UL>
<BR>
<BR>
<HR>
<A HREF="manual005.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="manual019.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Contents"></A>
</BODY>
</HTML>
|