Sophie

Sophie

distrib > Fedora > 17 > i386 > media > updates > by-pkgid > 675c8c8167236dfcf8d66da674f931e8 > files > 1163

erlang-doc-R15B-03.3.fc17.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.7.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.7</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.7"><a href="notes.html#id60846">Parsetools 2.0.7</a></li>
<li title="Parsetools 2.0.6"><a href="notes.html#id60880">Parsetools 2.0.6</a></li>
<li title="Parsetools 2.0.5"><a href="notes.html#id57488">Parsetools 2.0.5</a></li>
<li title="Parsetools 2.0.4"><a href="notes.html#id61509">Parsetools 2.0.4</a></li>
<li title="Parsetools 2.0.3"><a href="notes.html#id61542">Parsetools 2.0.3</a></li>
<li title="Parsetools 2.0.2"><a href="notes.html#id61584">Parsetools 2.0.2</a></li>
<li title="Parsetools 2.0.1"><a href="notes.html#id61614">Parsetools 2.0.1</a></li>
<li title="Parsetools 2.0"><a href="notes.html#id59941">Parsetools 2.0</a></li>
<li title="Parsetools 1.4.7"><a href="notes.html#id59996">Parsetools 1.4.7</a></li>
<li title="Parsetools 1.4.6"><a href="notes.html#id60026">Parsetools 1.4.6</a></li>
<li title="Parsetools 1.4.5"><a href="notes.html#id60056">Parsetools 1.4.5</a></li>
<li title="Parsetools 1.4.4"><a href="notes.html#id56544">Parsetools 1.4.4</a></li>
<li title="Parsetools 1.4.3"><a href="notes.html#id56578">Parsetools 1.4.3</a></li>
<li title="Parsetools 1.4.2"><a href="notes.html#id56618">Parsetools 1.4.2</a></li>
<li title="Parsetools 1.4.1.1"><a href="notes.html#id56664">Parsetools 1.4.1.1</a></li>
<li title="Parsetools 1.4.1"><a href="notes.html#id56697">Parsetools 1.4.1</a></li>
<li title="Parsetools 1.4"><a href="notes.html#id61099">Parsetools 1.4</a></li>
<li title="Parsetools 1.3.2"><a href="notes.html#id61247">Parsetools 1.3.2</a></li>
<li title="Parsetools 1.3.1"><a href="notes.html#id61284">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="id60846">1.1 
        Parsetools 2.0.7</a></h3>

    <h4>Improvements and New Features</h4>
      <ul>
        <li>
          <p>
	    Tuple funs (a two-element tuple with a module name and a
	    function) are now officially deprecated and will be
	    removed in R16. Use '<span class="code">fun M:F/A</span>' instead. To make
	    you aware that your system uses tuple funs, the very
	    first time a tuple fun is applied, a warning will be sent
	    to the error logger.</p>
          <p>
	    Own Id: OTP-9649</p>
        </li>
      </ul>
    



<h3><a name="id60880">1.2 
        Parsetools 2.0.6</a></h3>

    <h4>Fixed Bugs and Malfunctions</h4>
      <ul>
        <li>
	    <p>Dialyzer warnings have been removed. </p>
          <p>
	    Own Id: OTP-8318</p>
        </li>
        <li>
          <p>
	    yecc: add warnings_as_errors option(Thanks to Tuncer
	    ayaz)</p>
          <p>
	    Own Id: OTP-9376</p>
        </li>
        <li>
          <p>
	    Fix incorrect order of pseudo variables in yecc example</p>
          <p>
	    The example is for converting from infix to prefix. This
	    change uses to correct ordering of the triplet. (Thanks
	    to Garret Smith)</p>
          <p>
	    Own Id: OTP-9484</p>
        </li>
        <li>
          <p>
	    Implement or fix -Werror option</p>
          <p>
	    If -Werror is enabled and there are warnings no output
	    file is written. Also make sure that error/warning
	    reporting is consistent. (Thanks to Tuncer Ayaz)</p>
          <p>
	    Own Id: OTP-9536</p>
        </li>
        <li>
	    <p> XML files have been corrected. </p>
          <p>
	    Own Id: OTP-9550 Aux Id: OTP-9541 </p>
        </li>
      </ul>
    



<h3><a name="id57488">1.3 
        Parsetools 2.0.5</a></h3>

    <h4>Improvements and New Features</h4>
      <ul>
        <li>
	    <p> The formating of Yecc's error messages has been
	    improved. (Thanks to Joe Armstrong.) </p>
          <p>
	    Own Id: OTP-8919</p>
        </li>
      </ul>
    



<h3><a name="id61509">1.4 
        Parsetools 2.0.4</a></h3>

    <h4>Fixed Bugs and Malfunctions</h4>
      <ul>
        <li>
	    <p>Running HiPE-compiled Yecc parsers no longer results
	    in a <span class="code">function_clause</span> error.</p>
          <p>
	    Own Id: OTP-8771</p>
        </li>
      </ul>
    



<h3><a name="id61542">1.5 
        Parsetools 2.0.3</a></h3>

    <h4>Fixed Bugs and Malfunctions</h4>
      <ul>
        <li>
	    <p>Yecc failed to report reduce/reduce conflicts where
	    one of the reductions involved the root symbol. This bug
	    has been fixed. (Thanks to Manolis Papadakis.)</p>
          <p>
	    Own Id: OTP-8483</p>
        </li>
        <li>
	    <p>A bug introduced in Parsetools 1.4.4 (R12B-2) has been
	    fixed. (Thanks to Manolis Papadakis.)</p>
          <p>
	    Own Id: OTP-8486</p>
        </li>
      </ul>
    



<h3><a name="id61584">1.6 
        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="id61614">1.7 
        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="id59941">1.8 
        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="id59996">1.9 
        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="id60026">1.10 
        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="id60056">1.11 
        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="id56544">1.12 
        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="id56578">1.13 
        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="id56618">1.14 
        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="id56664">1.15 
        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="id56697">1.16 
        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="id61099">1.17 
        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="id61247">1.18 
        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="id61284">1.19 
        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-2012 Ericsson AB. All Rights Reserved.</p>
</div>
</div>
</div></body>
</html>