<commit_before>/*
JsUnit - a JUnit port for JavaScript
Copyright (C) 1999,2000,2001,2002,2003,2006 <NAME>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation in version 2 of the License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

Test suites built with JsUnit are derivative works derived from tested 
classes and functions in their production; they are not affected by this 
license.
*/

/*!

\htmlonly

<div class="JsUnit">

\endhtmlonly

\page products JavaScript Engines and Products

<p>This page give a short overview of the JavaScript language, available
engines and JavaScript enabled producst. Some of them are explained on
separate pages demonstrating the usage of JavaScript in general and JsUnit
especially in their context.</p>

\section language JavaScript Language

<p>JavaScript is normally recognized as scripting language for browsers only.
While the the most browsers understand JavaScript to some extent, the language
itself is not limited for browser usage. A lot of people also accuse the
language of the reason for browser incompatibilities or security holes, but
this is not true wither. JavaScript itself has no idea of the DOM or of a file
system. Any functionality built into the language concerning these topics are
add-ons by the vendors. Also a lot of vendors have not implemnted the complete
JavaScript standard arising a lot of incompatibilities, too. Therefore you
have always to separate between the language itself and the version released
from a vendor.</p>

<p>ECMAScript is the official name of the language commonly called
"JavaScript".  ECMA is an international, industry association and dedicated to
the standardization of information and communication systems. The language is
specified in the ECMA-262 document currently in the 3rd edition from 1999.
This edition introduced exceptions into the language. Unfortunately the
standard does not define any functionality or properties to retrieve the call
stack. A new edition 4 of ECMAScript is upcoming, but not ready yet.</p>

<p>JavaScript is the ECMAScript version of Netscape. To be honest, JavaScript
was developed by Netscape and introduced with the Netscape 2.0 browser.
Starting with JavaScript 1.4 Netscape also implemented the exceptions. Today
Mozilla.org is developing in accordance with ECMA a new version 2.0 of
JavaScript, that will implement the features of an upcoming 4th edition of the
ECMA standard.</p>

<ul>
    <li><a href="http://www.ecma-international.org/">ECMA</a></li>
    <li><a href="http://www.mozilla.org/js/language/">JavaScript 2.0</a></li>
</ul>

<p>The JsUnit library has to use exceptions. Exceptions were part of the third
ECMA language draft und therefore not everywhere available. The JsUnit scripts
are only available on systems that support exceptions. Additionally the
scripts try to expose the call stack in case of an error. This call stack is
also subject of compatibility and have changed in various versions of the
language implementations of the different vendors. Unfortunately the ECMA
specification does not have any definition.</p>

\section scriptengines Script Engines

<p>Writing a JavaScript interpreter according the ECMA specification is quite
a lot of work. Therefore most JavaScript engines are used in more than one
product. The most popular engines can be embedded freely in your own
applications. Mozilla.org has two JavaScript engines to offer as Open Source,
Microsoft's engine is also available for applications as system service via
COM.</p>

\subsection mozillaorgoverview Mozilla.org

<p>Mozilla.org provides two script engines, one implemented in C
(SpiderMonkey) and one in Java (Rhino). SpiderMonkey is used also in the
Mozilla browser.</p>

<ul>
    <li>\ref spidermonkey</li>
    <li>\ref rhino</li>
</ul>

\subsection jscriptoverview Microsoft JScript

<p>Microsoft's JavaScript implementation named JScript is part of the Windows
Script engine. This engine is able to
run a lot of languages, JScript is just one among others. Any application may embed the script engine and process
scripts in any of the registered languages.</p>

<ul>
    <li>\ref windowsscript</li>
    <li>JScript enabled applications
        <ul>
            <li>\ref cscript</li>
            <li>\ref iexplore</li>
            <li>\ref iis (ASP)</li>
        </ul>
    </li>
    <li>Development and Debugging with JScript
        <ul>
            <li>\ref wsdebug</li>
            <li>\ref interdev</li>
        </ul>
    </li>
</ul>
\section enabledproducts JavaScript enabled products

<p>There are a lot of products that are able to process a JavaScript flavor. I
have listed all products that I am aware of.</p>

<table border="0">
<tr>
    <td><b>Product</b></td>
    <td><b>Vendor</b></td>
    <td><b>Language</b></td>
    <td><b>Engine</b></td>
    <td><b>JsUnit Version</b></td>
    <td><b>Comment</b></td>
</tr>
<tr>
    <td>Bean Scripting Framework</a></td>
    <td><a href="http://oss.software.ibm.com/developerworks/projects/bsf">IBM</a></td>
    <td>JavaScript 1.5</td>
    <td>Rhino, JScript</td>
    <td>?</td>
    <td>uses other scripting engines</td>
</tr>
<tr>
    <td>Communiqu&eacute; 2.x</td>
    <td><a href="http://www.day.com">Day International</a></td>
    <td>ECMAScript</td>
    <td>own</td>
    <td>-</td>
    <td>no exceptions</td>
</tr>
<tr>
    <td><a href="http://www.day.com/en/product.html">Communiqu&eacute; 
    Unify (3.x)</a></td>
    <td><a href="http://www.day.com">Day International</a></td>
    <td>JavaScript 1.5</td>
    <td>Rhino</td>
    <td>1.2 ?</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>deployZone Application Server</td>
    <td><a href="http://www.deployzone.com">deployZone</a></td>
    <td>JavaScript 1.5</td>
    <td>Mochascript</td>
    <td>?</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td><a href="http://www.digitalmars.com/dscript/">DMDScript</a></td>
    <td><a href="http://www.digitalmars.com/">Digital Mars</a></td>
    <td>ECMA-262, v3</td>
    <td>own</td>
    <td>?</td>
    <td>?</td>
</tr>
<tr>
    <td>Enterprise Server 3.x</td>
    <td><a href="http://www.iplanet.com">Netscape</a></td>
    <td>JavaScript 1.2</td>
    <td>Netscape</td>
    <td>-</td>
    <td>no exceptions</td>
</tr>
<tr>
    <td><a href="http://www.lugrin.ch/fesi/index.html">FESI</a></td>
    <td><NAME></td>
    <td>ECMA 262, v2</td>
    <td>own</td>
    <td>- ?</td>
    <td>?</td>
</tr>
<tr>
    <td>Flash 5.x</td>
    <td><a href="http://www.macromedia.com">Macromedia</a></td>
    <td>ActionScript 5</td>
    <td>own</td>
    <td>-</td><commit_msg>Add Directory to product matrix (info by <NAME>).<commit_after>/*
JsUnit - a JUnit port for JavaScript
Copyright (C) 1999,2000,2001,2002,2003,2006 <NAME>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation in version 2 of the License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

Test suites built with JsUnit are derivative works derived from tested 
classes and functions in their production; they are not affected by this 
license.
*/

/*!

\htmlonly

<div class="JsUnit">

\endhtmlonly

\page products JavaScript Engines and Products

<p>This page give a short overview of the JavaScript language, available
engines and JavaScript enabled producst. Some of them are explained on
separate pages demonstrating the usage of JavaScript in general and JsUnit
especially in their context.</p>

\section language JavaScript Language

<p>JavaScript is normally recognized as scripting language for browsers only.
While the the most browsers understand JavaScript to some extent, the language
itself is not limited for browser usage. A lot of people also accuse the
language of the reason for browser incompatibilities or security holes, but
this is not true wither. JavaScript itself has no idea of the DOM or of a file
system. Any functionality built into the language concerning these topics are
add-ons by the vendors. Also a lot of vendors have not implemnted the complete
JavaScript standard arising a lot of incompatibilities, too. Therefore you
have always to separate between the language itself and the version released
from a vendor.</p>

<p>ECMAScript is the official name of the language commonly called
"JavaScript".  ECMA is an international, industry association and dedicated to
the standardization of information and communication systems. The language is
specified in the ECMA-262 document currently in the 3rd edition from 1999.
This edition introduced exceptions into the language. Unfortunately the
standard does not define any functionality or properties to retrieve the call
stack. A new edition 4 of ECMAScript is upcoming, but not ready yet.</p>

<p>JavaScript is the ECMAScript version of Netscape. To be honest, JavaScript
was developed by Netscape and introduced with the Netscape 2.0 browser.
Starting with JavaScript 1.4 Netscape also implemented the exceptions. Today
Mozilla.org is developing in accordance with ECMA a new version 2.0 of
JavaScript, that will implement the features of an upcoming 4th edition of the
ECMA standard.</p>

<ul>
    <li><a href="http://www.ecma-international.org/">ECMA</a></li>
    <li><a href="http://www.mozilla.org/js/language/">JavaScript 2.0</a></li>
</ul>

<p>The JsUnit library has to use exceptions. Exceptions were part of the third
ECMA language draft und therefore not everywhere available. The JsUnit scripts
are only available on systems that support exceptions. Additionally the
scripts try to expose the call stack in case of an error. This call stack is
also subject of compatibility and have changed in various versions of the
language implementations of the different vendors. Unfortunately the ECMA
specification does not have any definition.</p>

\section scriptengines Script Engines

<p>Writing a JavaScript interpreter according the ECMA specification is quite
a lot of work. Therefore most JavaScript engines are used in more than one
product. The most popular engines can be embedded freely in your own
applications. Mozilla.org has two JavaScript engines to offer as Open Source,
Microsoft's engine is also available for applications as system service via
COM.</p>

\subsection mozillaorgoverview Mozilla.org

<p>Mozilla.org provides two script engines, one implemented in C
(SpiderMonkey) and one in Java (Rhino). SpiderMonkey is used also in the
Mozilla browser.</p>

<ul>
    <li>\ref spidermonkey</li>
    <li>\ref rhino</li>
</ul>

\subsection jscriptoverview Microsoft JScript

<p>Microsoft's JavaScript implementation named JScript is part of the Windows
Script engine. This engine is able to
run a lot of languages, JScript is just one among others. Any application may embed the script engine and process
scripts in any of the registered languages.</p>

<ul>
    <li>\ref windowsscript</li>
    <li>JScript enabled applications
        <ul>
            <li>\ref cscript</li>
            <li>\ref iexplore</li>
            <li>\ref iis (ASP)</li>
        </ul>
    </li>
    <li>Development and Debugging with JScript
        <ul>
            <li>\ref wsdebug</li>
            <li>\ref interdev</li>
        </ul>
    </li>
</ul>
\section enabledproducts JavaScript enabled products

<p>There are a lot of products that are able to process a JavaScript flavor. I
have listed all products that I am aware of.</p>

<table border="0">
<tr>
    <td><b>Product</b></td>
    <td><b>Vendor</b></td>
    <td><b>Language</b></td>
    <td><b>Engine</b></td>
    <td><b>JsUnit Version</b></td>
    <td><b>Comment</b></td>
</tr>
<tr>
    <td>Bean Scripting Framework</a></td>
    <td><a href="http://oss.software.ibm.com/developerworks/projects/bsf">IBM</a></td>
    <td>JavaScript 1.5</td>
    <td>Rhino, JScript</td>
    <td>?</td>
    <td>uses other scripting engines</td>
</tr>
<tr>
    <td>Communiqu&eacute; 2.x</td>
    <td><a href="http://www.day.com">Day International</a></td>
    <td>ECMAScript</td>
    <td>own</td>
    <td>-</td>
    <td>no exceptions</td>
</tr>
<tr>
    <td><a href="http://www.day.com/en/product.html">Communiqu&eacute; 
    Unify (3.x)</a></td>
    <td><a href="http://www.day.com">Day International</a></td>
    <td>JavaScript 1.5</td>
    <td>Rhino</td>
    <td>1.2 ?</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>deployZone Application Server</td>
    <td><a href="http://www.deployzone.com">deployZone</a></td>
    <td>JavaScript 1.5</td>
    <td>Mochascript</td>
    <td>?</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td><a href="http://www.adobe.com/products/directory/">Director
    MX 2004</a></td>
    <td><a href="http://www.adobe.com">Adobe (Macromedia)</a></td>
    <td>Lingo</td>
    <td>SpiderMonkey</td>
    <td>?</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td><a href="http://www.digitalmars.com/dscript/">DMDScript</a></td>
    <td><a href="http://www.digitalmars.com/">Digital Mars</a></td>
    <td>ECMA-262, v3</td>
    <td>own</td>
    <td>?</td>
    <td>?</td>
</tr>
<tr>
    <td>Enterprise Server 3.x</td>
    <td><a href="http://www.iplanet.com">Netscape</a></td>
    <td>JavaScript 1.2</td>
    <td>Netscape</td>
    <td>-</td>
    <td>no exceptions</td>
</tr>
<tr>
    <td><a href="http://www.lugrin.ch/fesi/index.html">FESI</a></td>
    <td><NAME></td>
    <td>ECMA 262, v2</td>
    <td>own</td>
    <td>- ?</td>
    <td>?</td>
</tr>
<tr>
    <td>Flash 5.x</td>
    <td><a href="http://www.macromedia.com">Macromedia</a></td>
    <td>ActionScript 5</td>
    <td>own</td>
    <td>-</td>
{'fraction_non_alphanumeric': 0.11808118081180811, 'fraction_numerical': 0.01155747406530669, 'mean_word_length': 3.753143613500993, 'pattern_counts': {'":': 0, '<': 454, '<?xml version=': 0, '>': 454, 'https://': 0, 'lorem ipsum': 0, 'www.': 24, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2325764', 'n_tokens_mistral': 4569, 'n_tokens_neox': 4336, 'n_words': 1695}