• Jump To … +
    abbreviations.js adjectives.js convertables.js dates.js demonyms.js firstnames.js honourifics.js irregular_nouns.js irregular_verbs.js misc.js multiples.js numbers.js organisations.js phrasal_verbs.js places.js uncountables.js verbs.js fns.js index.js lexicon.js negate.js passive_voice.js contractions.js fancy_lumping.js grammar_rules.js parts_of_speech.js phrasal_verbs.js tagger.js word_rules.js question.js sentence.js statement.js tense.js adjective.js to_adverb.js to_comparative.js to_noun.js to_superlative.js adverb.js to_adjective.js is_acronym.js article.js date.js date_rules.js is_date.js parse_date.js is_plural.js is_uncountable.js noun.js is_organisation.js organisation.js gender.js is_person.js parse_name.js person.js is_place.js place.js pluralize.js pronoun.js singularize.js is_value.js numbers.js to_number.js units.js value.js term.js conjugate.js from_infinitive.js predict_form.js suffix_rules.js to_actor.js to_infinitive.js negate.js verb.js sentence_parser.js text.js
  • suffix_rules.js

  • ¶
    'use strict';
  • ¶

    suffix signals for verb tense, generated from test data

    const compact = {
      'gerund': [],
      'infinitive': [
        'ate',
        'ize',
        'tion',
        'rify',
        'then',
        'ress',
        'ify',
        'age',
        'nce',
        'ect',
        'ise',
        'ine',
        'ish',
        'ace',
        'ash',
        'ure',
        'tch',
        'end',
        'ack',
        'and',
        'ute',
        'ade',
        'ock',
        'ite',
        'ase',
        'ose',
        'use',
        'ive',
        'int',
        'nge',
        'lay',
        'est',
        'ain',
        'ant',
        'eed',
        'er',
        'le'
      ],
      'participle': [
        'own',
        'unk',
        'ung',
        'en'
      ],
      'past': [
        'ed',
        'lt',
        'nt',
        'pt',
        'ew',
        'ld'
      ],
      'present': [
        'rks',
        'cks',
        'nks',
        'ngs',
        'mps',
        'tes',
        'zes',
        'ers',
        'les',
        'acks',
        'ends',
        'ands',
        'ocks',
        'lays',
        'eads',
        'lls',
        'els',
        'ils',
        'ows',
        'nds',
        'ays',
        'ams',
        'ars',
        'ops',
        'ffs',
        'als',
        'urs',
        'lds',
        'ews',
        'ips',
        'es',
        'ts',
        'ns',
        's'
      ]
    };
    const suffix_rules = {};
    const keys = Object.keys(compact);
    const l = keys.length;
    
    for (let i = 0; i < l; i++) {
      let l2 = compact[keys[i]].length;
      for (let o = 0; o < l2; o++) {
        suffix_rules[compact[keys[i]][o]] = keys[i];
      }
    }
    module.exports = suffix_rules;