blob: 4e75d328b91439d85b1d345eceb6826b1d1e6060 [file] [log] [blame]
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "../xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="../css/ot.css" />
<link rel="stylesheet" type="text/css" href="../css/otjld.css" />
<title>OT/J Language Definition v1.3</title>
</head>
<body class="otdt">
<div id="content">
<table class="nav">
<tr>
<td class="back"><a id="top"></a></td>
<td class="top"><a href="index.html" rel="contents">&uarr;&nbsp;Table of Contents&nbsp;&uarr;</a></td>
<td class="next"><a href="s1.html" rel="next">&sect;1&nbsp;Teams and Roles&nbsp;&gt;&gt;</a></td>
</tr>
</table>
<div class="breadcrumb"></div>
<div class="chapter" id="s0">
<div class="headl">
<div class="headr">
<h1>&sect;0&nbsp;About this Document</h1>
</div>
</div>
<div id="toc-box">
<ul class="toc-box">
<li><a href="s0.html">&sect;0&nbsp;About this Document</a></li>
<li><a href="#s0.1">&sect;0.1&nbsp;Purpose(s) of this document</a></li>
<li><a href="#s0.2">&sect;0.2&nbsp;Text structure</a></li>
<li><a href="#s0.3">&sect;0.3&nbsp;Compiler messages</a></li>
<li><a href="#s0.4">&sect;0.4&nbsp;Versions</a></li>
<li><a href="#s0.5">&sect;0.5&nbsp;Publishing</a></li>
</ul>
</div>
<div class="intro">
<h3>Levels of this document</h3>
<div class="line"></div>
<div class="term">Terms, concepts</div>
<div class="termdesc">Each chapter of this document starts with a short synopsis of
concepts covered by the chapter (like this).
</div>
<div class="line"></div>
<div class="term">Definition</div>
<div class="termdesc">The actual definition is given in small numbered paragraphs.</div>
<div class="line"></div>
<div class="term">Examples</div>
<div class="termdesc">Examples and accompanying explanations will be interspersed
into the definition.
</div>
<div class="line"></div>
</div>
<div class="sect depth2" id="s0.1">
<h2 class="sect">&sect;0.1&nbsp;Purpose(s) of this document<a class="img" href="s0.1.html"
title="PermaLink to &sect;0.1&nbsp;Purpose(s) of this document"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
alt="" /></a><span class="toplink"><a href="#top">&uarr;&nbsp;&sect;0</a></span></h2>
<p>This document defines the OT/J programming language.
The main goals were to create a precise and complete reference for this language.
Didactical considerations had lower priorities, which means that this document is not designed
as an introductory tutorial.
Still, we advise programmers learning the OT/J language, to consult this document whenever
a compiler error message is not perfectly clear to them (see <a href="#s0.3" title="&sect;0.3&nbsp;Compiler messages" class="sect">&sect;0.3</a>).
</p>
</div>
<div class="sect depth2" id="s0.2">
<h2 class="sect">&sect;0.2&nbsp;Text structure<a class="img" href="s0.2.html"
title="PermaLink to &sect;0.2&nbsp;Text structure"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
alt="" /></a><span class="toplink"><a href="#top">&uarr;&nbsp;&sect;0</a></span></h2>
<p>Each chapter of this document starts with a short synopsis of
concepts covered by the chapter (see above).
</p>
<div class="syntaxlink"><a href="sA.html" title="&sect;A&nbsp;OT/J Syntax" class="syntax">&rarr;&nbsp;Syntax&nbsp;&sect;A</a></div>
<div class="subsect depth3" id="s0.2.a">
<h4 class="subsect">(a)&nbsp;<span class="title">Paragraphs</span><a class="img" href="s0.2.a.html" title="PermaLink to (a)&nbsp;Paragraphs"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
alt="" /></a></h4>
<p>The actual definition is structured into small paragraphs for easy referral.
</p>
</div>
<div class="subsect depth3" id="s0.2.b">
<h4 class="subsect">(b)&nbsp;<span class="title">Syntax Links</span><a class="img" href="s0.2.b.html" title="PermaLink to (b)&nbsp;Syntax Links"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
alt="" /></a></h4>
<p>Links to the syntax precede definitions whenever new syntax is introduced.
</p>
</div>
<p>Interspersed you will find some example program listings.
Examples are typeset in a box:
</p>
<div class="listing example frame">
<table class="listing">
<tr class="line odd">
<td class="ln">1</td>
<td><pre><b>public</b> <b>team</b> <b>class</b> MyTeamA {</pre></td>
</tr>
<tr class="line even">
<td class="ln">2</td>
<td><pre> ...</pre></td>
</tr>
<tr class="line odd">
<td class="ln">3</td>
<td><pre>}</pre></td>
</tr>
</table>
</div>
<p>Explanations for examples look like the following:
</p>
<div class="codecomment">
<h5>Effects:</h5>
<ul>
<li>Lines 1-3 show a minimal OT/J program, which should not cause any headache.</li>
</ul>
</div>
<p>Examples are given for illustration only.
</p>
<p>Additional paragraphs like "Language implementation", or
"open issues" provide some background information which is
not necessary for understanding the definition, which might
however, help to understand why things are the way they are
and what other things might be added to the language in the future.
</p>
</div>
<div class="sect depth2" id="s0.3">
<h2 class="sect">&sect;0.3&nbsp;Compiler messages<a class="img" href="s0.3.html"
title="PermaLink to &sect;0.3&nbsp;Compiler messages"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
alt="" /></a><span class="toplink"><a href="#top">&uarr;&nbsp;&sect;0</a></span></h2>
<p>Error messages given by the Object Teams compiler refer to this
definition whenever appropriate. This way it should be easy to find
out, why the compiler rejected your program. Please make sure
you are using a language definition whose version matches the
version of your compiler.
</p>
</div>
<div class="sect depth2" id="s0.4">
<h2 class="sect">&sect;0.4&nbsp;Versions<a class="img" href="s0.4.html" title="PermaLink to &sect;0.4&nbsp;Versions"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
alt="" /></a><span class="toplink"><a href="#top">&uarr;&nbsp;&sect;0</a></span></h2>
<p>The structure of this document has changed between versions
0.6.1 and 0.7 of this document. This change reflects the
transition from our first compiler for OT/J (called <code>otc</code>)
and the <code>OTDT</code> (Object Teams Development Tooling)
plugin for Eclipse.
</p>
<p>Starting with the OTDT v0.7.x, the major and minor number of the tool
correspond to the major and minor version number of the OTJLD (this document),
ie., the OTDT v1.0.x implements the language as defined in the OTJLD v1.0.
</p>
<p><strong>Changes</strong> between the current and previous versions are listed in appendix <a href="sB.html" title="&sect;B&nbsp;Changes between versions" class="sect">&sect;B</a>.
</p>
</div>
<div class="sect depth2" id="s0.5">
<h2 class="sect">&sect;0.5&nbsp;Publishing<a class="img" href="s0.5.html" title="PermaLink to &sect;0.5&nbsp;Publishing"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
alt="" /></a><span class="toplink"><a href="#top">&uarr;&nbsp;&sect;0</a></span></h2>
<p>The sources of this language definition are maintained in a target-independent XML format. Three different versions are generated
from these sources, using XSLT:
</p>
<ul>
<li><a href="http://www.objectteams.org/def/" class="ext">Online version</a> (XHTML)
</li>
<li>Tooling version (XHTML &ndash; directly accessible from inside the OTDT)</li>
<li>Print version (LaTeX/PDF)</li>
</ul>
</div>
</div>
<table class="nav">
<tr>
<td class="back"></td>
<td class="top"><a href="index.html" rel="contents">&uarr;&nbsp;Table of Contents&nbsp;&uarr;</a></td>
<td class="next"><a href="s1.html" rel="next">&sect;1&nbsp;Teams and Roles&nbsp;&gt;&gt;</a></td>
</tr>
</table>
<div class="breadcrumb"></div>
</div>
<div id="footer">
<hr /><a class="w3c img" href="http://jigsaw.w3.org/css-validator/check/referer"
shape="rect"><img src="../images/valid-css2-blue.png" alt="Valid CSS!" height="31" width="88" /></a><a class="w3c img" href="http://validator.w3.org/check?uri=referer" shape="rect"><img src="../images/valid-xhtml10-blue.png" alt="Valid XHTML 1.0 Strict" height="31"
width="88" /></a><address>&copy; Stephan Herrmann, Christine Hundt, Marco Mosconi</address>
OT/J version 1.3 &mdash; last modified: 2011-05-15
</div>
</body>
</html>