Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bd5c3d824c3db63ffd9226c15941e6ad > files > 1489

mozart-1.4.0-1mdv2010.0.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>1 Introduction</TITLE><LINK href="ozdoc.css" rel="stylesheet" type="text/css"></HEAD><BODY><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="toc.html#label1">&lt;&lt; Prev</A></TD><TD><A href="index.html">- Up -</A></TD><TD><A href="node2.html#chapter.lexical">Next &gt;&gt;</A></TD></TR></TABLE><DIV id="chapter.intro"><H1><A name="chapter.intro">1 Introduction</A></H1><P> This report defines how Oz program text, which is a sequence of characters, is transformed into an Oz Core program. This transformation is performed in three steps. </P><DL><DT>Lexical Syntax</DT><DD><P>First, a given program text is transformed into a sequence of words. Each word represents a sequence of tokens. We call this process <EM>tokenizing</EM>. </P></DD><DT>Context-free Syntax</DT><DD><P>The resulting sequence of tokens is transformed into a parse tree. We call this process <EM>parsing</EM>, and the resulting parse tree <EM>program</EM>. </P></DD><DT>Core Programs</DT><DD><P>The program is translated to a Core program, eliminating a number of abbreviations and nesting. </P></DD></DL><P> </P><P> At each step, errors may occur. A text represents an Oz program if it can be tokenized and parsed into a program which can be translated without error into a Core program. </P><DIV class="apropos"><P class="margin">Meta Notation</P><P> In a document like this one, it is helpful to make use of notational conventions in order to provide for concise and precise descriptions. </P></DIV><H2><A name="label2">1.1 Fonts</A></H2><P> We make use of fonts to distinguish the different kinds of symbols occurring in this document: </P><TABLE align="center" bgcolor="#f0f0e0"><TR valign="top"><TH><P>Meaning</P></TH><TH><P>Examples</P></TH></TR><TR valign="top"><TD><P>terminal or nonterminal symbol</P></TD><TD><P>&lt;<I>variable</I>&gt;, &lt;<I>statement</I>&gt;</P></TD></TR><TR valign="top"><TD><P>keyword</P></TD><TD><P><CODE><SPAN class="keyword">local</SPAN></CODE>, <CODE><SPAN class="keyword">skip</SPAN></CODE></P></TD></TR></TABLE><P> </P><H2><A name="label3">1.2 Regular Expressions and Context-Free Grammars</A></H2><P> Regular expressions and context free grammars describe sets of words. We use the following notation to describe one such set in terms of others (in increasing order of precedence): </P><TABLE align="center" bgcolor="#f0f0e0"><TR valign="top"><TH><P>Notation</P></TH><TH><P>Meaning</P></TH></TR><TR valign="top"><TD><P><IMG alt="\epsilon" src="latex1.png"></P></TD><TD><P>singleton containing the empty word</P></TD></TR><TR valign="top"><TD><P>(<IMG alt="w" src="latex2.png">)</P></TD><TD><P>grouping of regular expressions</P></TD></TR><TR valign="top"><TD><P>[&nbsp;<IMG alt="w" src="latex2.png">&nbsp;]</P></TD><TD><P>union of <IMG alt="\epsilon" src="latex1.png"> with the set of words&nbsp;<IMG alt="w" src="latex2.png"></P></TD></TR><TR valign="top"><TD><P>{&nbsp;<IMG alt="w" src="latex2.png">&nbsp;}</P></TD><TD><P>set of words containing all concatenations of zero or more elements of&nbsp;<IMG alt="w" src="latex2.png"></P></TD></TR><TR valign="top"><TD><P>{&nbsp;<IMG alt="w" src="latex2.png">&nbsp;}+</P></TD><TD><P>set of words containing all concatenations of one or more elements of&nbsp;<IMG alt="w" src="latex2.png"></P></TD></TR><TR valign="top"><TD><P><IMG alt="w_1" src="latex3.png">&nbsp;<IMG alt="w_2" src="latex4.png"></P></TD><TD><P>set of words containing all concatenations of an element of&nbsp;<IMG alt="w_1" src="latex3.png"> with an element of&nbsp;<IMG alt="w_2" src="latex4.png"></P></TD></TR><TR valign="top"><TD><P><IMG alt="w_1" src="latex3.png">&nbsp;|&nbsp;<IMG alt="w_2" src="latex4.png"></P></TD><TD><P>union of <IMG alt="w_1" src="latex3.png"> and&nbsp;<IMG alt="w_2" src="latex4.png"></P></TD></TR><TR valign="top"><TD><P><IMG alt="w_1" src="latex3.png">&nbsp;-&nbsp;<IMG alt="w_2" src="latex4.png"></P></TD><TD><P>difference of <IMG alt="w_1" src="latex3.png"> and&nbsp;<IMG alt="w_2" src="latex4.png"></P></TD></TR></TABLE><P> </P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="toc.html#label1">&lt;&lt; Prev</A></TD><TD><A href="index.html">- Up -</A></TD><TD><A href="node2.html#chapter.lexical">Next &gt;&gt;</A></TD></TR></TABLE><HR><ADDRESS><A href="http://www.iscs.nus.edu.sg/~henz">Martin&nbsp;Henz</A> and&nbsp;<A href="http://www.ps.uni-sb.de/~kornstae/">Leif&nbsp;Kornstaedt</A><BR><SPAN class="version">Version 1.4.0 (20090610)</SPAN></ADDRESS></BODY></HTML>