--- /dev/null
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: Porter2</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">Porter2</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/porter2stemmer/constants_rb.html">
+ lib/porter2stemmer/constants.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+Constants for the Porter 2 stemmer
+</p>
+
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+ <div id="constants-list">
+ <h3 class="section-bar">Constants</h3>
+
+ <div class="name-list">
+ <table summary="Constants">
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">C</td>
+ <td>=</td>
+ <td class="context-item-value">"[^aeiouy]"</td>
+ <td width="3em"> </td>
+ <td class="context-item-desc">
+A non-vowel
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">V</td>
+ <td>=</td>
+ <td class="context-item-value">"[aeiouy]"</td>
+ <td width="3em"> </td>
+ <td class="context-item-desc">
+A vowel: a e i o u y
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">CW</td>
+ <td>=</td>
+ <td class="context-item-value">"[^aeiouywxY]"</td>
+ <td width="3em"> </td>
+ <td class="context-item-desc">
+A non-vowel other than w, x, or Y
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">Double</td>
+ <td>=</td>
+ <td class="context-item-value">"(bb|dd|ff|gg|mm|nn|pp|rr|tt)"</td>
+ <td width="3em"> </td>
+ <td class="context-item-desc">
+Doubles created when adding a suffix: these are undoubled when stemmed
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">Valid_LI</td>
+ <td>=</td>
+ <td class="context-item-value">"[cdeghkmnrt]"</td>
+ <td width="3em"> </td>
+ <td class="context-item-desc">
+A valid letter that can come before ‘li’ (or ‘ly’)
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">SHORT_SYLLABLE</td>
+ <td>=</td>
+ <td class="context-item-value">"((#{C}#{V}#{CW})|(^#{V}#{C}))"</td>
+ <td width="3em"> </td>
+ <td class="context-item-desc">
+A specification for a short syllable.
+
+<p>
+A short syllable in a word is either:
+</p>
+<ol>
+<li>a vowel followed by a non-vowel other than w, x or Y and preceded by a
+non-vowel, or
+
+</li>
+<li>a vowel at the beginning of the word followed by a non-vowel.
+
+</li>
+</ol>
+<p>
+(The original document is silent on whether sequences of two or more
+non-vowels make a syllable long. But as this specification is only used to
+find sequences of non-vowel - vowel - non-vowel - end-of-word, this
+ambiguity does not have an effect.)
+</p>
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">STEP_2_MAPS</td>
+ <td>=</td>
+ <td class="context-item-value">{"tional" => "tion",\r "enci" => "ence",\r "anci" => "ance",\r "abli" => "able",\r "entli" => "ent",\r "ization" => "ize",\r "izer" => "ize",\r "ational" => "ate",\r "ation" => "ate",\r "ator" => "ate",\r "alism" => "al",\r "aliti" => "al",\r "alli" => "al",\r "fulness" => "ful",\r "ousli" => "ous",\r "ousness" => "ous",\r "iveness" => "ive",\r "iviti" => "ive",\r "biliti" => "ble",\r "bli" => "ble",\r "fulli" => "ful",\r "lessli" => "less" }</td>
+ <td width="3em"> </td>
+ <td class="context-item-desc">
+Suffix transformations used in porter2_step2. (ogi, li endings dealt with
+in procedure)
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">STEP_3_MAPS</td>
+ <td>=</td>
+ <td class="context-item-value">{"tional" => "tion",\r "ational" => "ate",\r "alize" => "al",\r "icate" => "ic",\r "iciti" => "ic",\r "ical" => "ic",\r "ful" => "",\r "ness" => "" }</td>
+ <td width="3em"> </td>
+ <td class="context-item-desc">
+Suffix transformations used in porter2_step3. (ative ending dealt with in
+procedure)
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">STEP_4_MAPS</td>
+ <td>=</td>
+ <td class="context-item-value">{"al" => "",\r "ance" => "",\r "ence" => "",\r "er" => "",\r "ic" => "",\r "able" => "",\r "ible" => "",\r "ant" => "",\r "ement" => "",\r "ment" => "",\r "ent" => "",\r "ism" => "",\r "ate" => "",\r "iti" => "",\r "ous" => "",\r "ive" => "",\r "ize" => "" }</td>
+ <td width="3em"> </td>
+ <td class="context-item-desc">
+Suffix transformations used in porter2_step4. (ion ending dealt with in
+procedure)
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">SPECIAL_CASES</td>
+ <td>=</td>
+ <td class="context-item-value">{"skis" => "ski",\r "skies" => "sky",\r \r "dying" => "die",\r "lying" => "lie",\r "tying" => "tie",\r "idly" => "idl",\r "gently" => "gentl",\r "ugly" => "ugli",\r "early" => "earli",\r "only" => "onli",\r "singly" =>"singl",\r \r "sky" => "sky",\r "news" => "news",\r "howe" => "howe",\r "atlas" => "atlas",\r "cosmos" => "cosmos",\r "bias" => "bias",\r "andes" => "andes" }</td>
+ <td width="3em"> </td>
+ <td class="context-item-desc">
+Special-case stemmings
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">STEP_1A_SPECIAL_CASES</td>
+ <td>=</td>
+ <td class="context-item-value">%w[ inning outing canning herring earring proceed exceed succeed ]</td>
+ <td width="3em"> </td>
+ <td class="context-item-desc">
+Special case words to stop processing after step 1a.
+
+</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html>
\ No newline at end of file