Sophie

Sophie

distrib > Fedora > 13 > i386 > media > os > by-pkgid > f806c0f24240b25bde21a53f71766070 > files > 1181

erlang-doc-R13B-04.6.fc13.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns:fn="http://www.w3.org/2005/02/xpath-functions">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css">
<title>Erlang -- Parsetools Release Notes</title>
</head>
<body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container">
<script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript">
            <!--            
              function getWinHeight() {
                var myHeight = 0;
                if( typeof( window.innerHeight ) == 'number' ) {
                  //Non-IE
                  myHeight = window.innerHeight;
                } else if( document.documentElement && ( document.documentElement.clientWidth || 
                                                         document.documentElement.clientHeight ) ) {
                  //IE 6+ in 'standards compliant mode'
                  myHeight = document.documentElement.clientHeight;
                } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
                  //IE 4 compatible
                  myHeight = document.body.clientHeight;
                }
                return myHeight;            
              }

              function setscrollpos() {
                var objf=document.getElementById('loadscrollpos');
                 document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2;
              }

              function addEvent(obj, evType, fn){ 
                if (obj.addEventListener){ 
                obj.addEventListener(evType, fn, true); 
                return true; 
              } else if (obj.attachEvent){ 
                var r = obj.attachEvent("on"+evType, fn); 
                return r; 
              } else { 
                return false; 
              } 
             }

             addEvent(window, 'load', setscrollpos);

             //--></script><div id="leftnav"><div class="innertube">
<img alt="Erlang logo" src="../../../../doc/erlang-logo.png"><br><small><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/parsetools-2.0.2.pdf">PDF</a><br><a href="../../../../doc/index.html">Top</a></small><p><strong>Parse Tools</strong><br><strong>Release Notes</strong><br><small>Version 2.0.2</small></p>
<br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Chapters</strong></small></p>
<ul class="flipMenu" imagepath="../../../../doc/js/flipmenu"><li id="loadscrollpos" title="Parsetools Release Notes" expanded="true">Parsetools Release Notes<ul>
<li><a href="notes.html">
              Top of chapter
            </a></li>
<li title="Parsetools 2.0.2"><a href="notes.html#id2259919">Parsetools 2.0.2</a></li>
<li title="Parsetools 2.0.1"><a href="notes.html#id2259949">Parsetools 2.0.1</a></li>
<li title="Parsetools 2.0"><a href="notes.html#id2260006">Parsetools 2.0</a></li>
<li title="Parsetools 1.4.7"><a href="notes.html#id2260460">Parsetools 1.4.7</a></li>
<li title="Parsetools 1.4.6"><a href="notes.html#id2260491">Parsetools 1.4.6</a></li>
<li title="Parsetools 1.4.5"><a href="notes.html#id2260522">Parsetools 1.4.5</a></li>
<li title="Parsetools 1.4.4"><a href="notes.html#id2260557">Parsetools 1.4.4</a></li>
<li title="Parsetools 1.4.3"><a href="notes.html#id2260593">Parsetools 1.4.3</a></li>
<li title="Parsetools 1.4.2"><a href="notes.html#id2253951">Parsetools 1.4.2</a></li>
<li title="Parsetools 1.4.1.1"><a href="notes.html#id2254002">Parsetools 1.4.1.1</a></li>
<li title="Parsetools 1.4.1"><a href="notes.html#id2254035">Parsetools 1.4.1</a></li>
<li title="Parsetools 1.4"><a href="notes.html#id2254069">Parsetools 1.4</a></li>
<li title="Parsetools 1.3.2"><a href="notes.html#id2256921">Parsetools 1.3.2</a></li>
<li title="Parsetools 1.3.1"><a href="notes.html#id2256959">Parsetools 1.3.1</a></li>
</ul>
</li></ul>
</div></div>
<div id="content">
<div class="innertube">
<h1>1 Parsetools Release Notes</h1>
  
  <p>This document describes the changes made to the Parsetools application.</p>

<h3><a name="id2259919">1.1 
        Parsetools 2.0.2</a></h3>

    <h4>Improvements and New Features</h4>
      <ul>
        <li>
          <p>
	    Cleanups suggested by tidier and modernization of types
	    and specs.</p>
          <p>
	    Own Id: OTP-8455</p>
        </li>
      </ul>
    



<h3><a name="id2259949">1.2 
        Parsetools 2.0.1</a></h3>

    <h4>Improvements and New Features</h4>
      <ul>
        <li>
            <p>Leex no longer uses the deprecated <span class="code">regexp</span>
		module. (Thanks to Robert Virding.).</p>
          <p>
	    Own Id: OTP-8231</p>
        </li>
      </ul>
    

    <h4>Fixed Bugs and Malfunctions</h4>
      <ul>
        <li>
            <p>A minor bug in <span class="code">leex(3)</span> has been fixed.</p>
          <p>
	    Own Id: OTP-8197</p>
        </li>
      </ul>
    



<h3><a name="id2260006">1.3 
        Parsetools 2.0</a></h3>

    <h4>Improvements and New Features</h4>
      <ul>
        <li>
	    <p>Leex, a lexical analyzer generator for Erlang,
		has been added to Parsetools. This initial version
		should be considered experimental; it is known
		that there will be changes and additions.
		(Thanks to Robert Virding.).</p>
          <p>
	    Own Id: OTP-8013</p>
        </li>
      </ul>
    

    <h4>Fixed Bugs and Malfunctions</h4>
      <ul>
        <li>
            <p>The parsers generated by Yecc now report correct
            error lines when possible.</p>
          <p>
	    Own Id: OTP-7969</p>
        </li>
      </ul>
    



<h3><a name="id2260460">1.4 
        Parsetools 1.4.7</a></h3>

    <h4>Fixed Bugs and Malfunctions</h4>
      <ul>
        <li>
	    <p>A bug in yeccpre.hrl introduced in R13A has been
	    fixed.</p>
          <p>
	    Own Id: OTP-7945</p>
        </li>
      </ul>
    



<h3><a name="id2260491">1.5 
        Parsetools 1.4.6</a></h3>

    <h4>Improvements and New Features</h4>
      <ul>
        <li>
	    <p>Updated file headers.</p>
          <p>
	    Own Id: OTP-7798</p>
        </li>
      </ul>
    



<h3><a name="id2260522">1.6 
        Parsetools 1.4.5</a></h3>

    <h4>Improvements and New Features</h4>
      <ul>
        <li>
	    <p>The <span class="code">yecc</span> grammar has been augmented with an
	    optional header section. (Thanks to Richard
	    Carlsson.)</p>
          <p>
	    Own Id: OTP-7292</p>
        </li>
      </ul>
    




<h3><a name="id2260557">1.7 
        Parsetools 1.4.4</a></h3>

    <h4>Improvements and New Features</h4>
      <ul>
        <li>
	    <p>The size of the code generated by Yecc has 
	    been reduced. The  code is also faster.</p>
	    <p>Macros can now be used in actions.</p>
          <p>
	    Own Id: OTP-7224</p>
        </li>
      </ul>
    



<h3><a name="id2260593">1.8 
        Parsetools 1.4.3</a></h3>

    <h4>Improvements and New Features</h4>
      <ul>
        <li>
	    <p><span class="code">tuple_size/1</span> and <span class="code">byte_size/1</span> have been
	    substituted for <span class="code">size/1</span>.</p>
          <p>
	    Own Id: OTP-7009</p>
        </li>
      </ul>
    



<h3><a name="id2253951">1.9 
        Parsetools 1.4.2</a></h3>

    <h4>Improvements and New Features</h4>
      <ul>
        <li>
	    <p>The size of the code generated by yecc has been
	    reduced. </p>
	    <p>A note regarding the <span class="code">includefile</span> option:
	    although yecc can cope with includefiles based on some
	    earlier <span class="code">yeccpre.hrl</span> it is recommended for
	    efficiency reasons to update includefiles as to follow
	    the pattern in the latest <span class="code">yeccpre.hrl</span>.</p>
          <p>
	    Own Id: OTP-6851</p>
        </li>
      </ul>
    



  <h3><a name="id2254002">1.10 
        Parsetools 1.4.1.1</a></h3>
    

    <h4>Improvements and New Features</h4>
      
      <ul>
        <li>
          <p>Minor Makefile changes.</p>
          <p>Own Id: OTP-6689</p>
        </li>
      </ul>
    
  

  <h3><a name="id2254035">1.11 
        Parsetools 1.4.1</a></h3>
    

    <h4>Fixed Bugs and Malfunctions</h4>
      
      <ul>
        <li>
          <p>A bug concerning precedence declarations of
            non-terminals "one level up" has been fixed in yecc.</p>
          <p>Own Id: OTP-6362</p>
        </li>
      </ul>
    
  

  <h3><a name="id2254069">1.12 
        Parsetools 1.4</a></h3>
    

    <h4>Improvements and Fixed Bugs</h4>
      
      <p>Several modifications of Yecc have been made:</p>
      <ul>
        <li>
          <p>The new functions <span class="code">file/1,2</span> take the
            role of the old functions <span class="code">yecc/2,3,4</span>. The
            latter functions are no longer documented but are
            kept for backward compatibility.</p>
        </li>
        <li>
          <p>More checks of the grammar file have been 
            implemented. Examples are warnings for unused 
            non-terminals and duplicated declarations.</p>
        </li>
        <li>
          <p>Invalid pseudo variables are no longer 
            replaced by <span class="code">'$undefined'</span> but cause a failure.</p>
        </li>
        <li>
          <p>Reserved words no longer need to be quoted
            when used as terminals or non-terminals.</p>
        </li>
        <li>
          <p>When compiling the generated parser file errors
            and warnings concerning user code refer to 
            the grammar file, not the parser file.</p>
        </li>
        <li>
          <p>Yecc emits a warning if there are conflicts
            in the grammar. The new declaration <span class="code">Expect</span> can
            be used to suppress this warning.</p>
        </li>
        <li>
          <p>The new operator precedence declaration
            <span class="code">Nonassoc</span> can be used to declare operators with
            no associativity.</p>
        </li>
        <li>
          <p>Precedence can be given to more than one operator
            with one single operator precedence declaration.</p>
        </li>
        <li>
          <p>The function <span class="code">parse_and_scan/1</span> in the
            default includefile accepts <span class="code">{Function, A}</span>
            as well as {{M,F}, A} as tokenizer function.
            Exceptions in the tokenizer are never caught.</p>
        </li>
        <li>
          <p>The functions <span class="code">yecc:file/1,2</span> can be accessed
            from the Erlang shell via the new functions <span class="code">c:y/1,2</span> 
            in STDLIB.</p>
        </li>
      </ul>
      <p>See yecc(3) for further details.</p>
      <p>Own Id: OTP-5366</p>
    
  

  <h3><a name="id2256921">1.13 
        Parsetools 1.3.2</a></h3>
    

    <h4>Fixed Bugs and Malfunctions</h4>
      
      <ul>
        <li>
          <p>A bug in <span class="code">Yecc</span> that was introduced in R9B has been
            removed. Another bug concerning precedence declaration
            "one level up" has been fixed.</p>
          <p>Own Id: OTP-5461</p>
        </li>
      </ul>
    
  

  <h3><a name="id2256959">1.14 
        Parsetools 1.3.1</a></h3>
    

    <h4>Fixed Bugs and Malfunctions</h4>
      
      <ul>
        <li>
          <p>A bug in the file <span class="code">parsetools/include/yeccpre.hrl</span>
            caused <span class="code">yecc:parse_and_scan/1</span> to always report a
            parse failure when the lexer reported end-of-file. This
            problem has been fixed.</p>
          <p>Own Id: OTP-5369</p>
        </li>
      </ul>
    
  
</div>
<div class="footer">
<hr>
<p>Copyright © 1997-2010 Ericsson AB. All Rights Reserved.</p>
</div>
</div>
</div></body>
</html>