// #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// #+   
// #+     Mumps ISR Software Library
// #+     Copyright (C) 2007 by Kevin C. O'Kane  
// #+
// #+     Kevin C. O'Kane
// #+     okane@cs.uni.edu
// #+
// #+
// #+ 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; either version 2 of the License, or
// #+ (at your option) any later version.
// #+ 
// #+ 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
// #+
// #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

// # dictionary.mps June 21, 2007

#include <mumpsc/libmpscpp.h>

global dict("dict");

int main() {

        FILE *u1;
        mstring word;

        u1 = fopen("translated.txt","r");

        if (u1 == 0) {
                cout << "translated.txt not found\n";
                return 1;
                }
        while (1) {
                word = ScanAlnum(u1);
                if (word == "") break;
                if (word.Length() < 3 || word.Length() > 25) continue;
                if ( dict(word).Data() ) dict(word) = dict(word) + 1;
                else dict(word) = 1;
                }

        fclose( u1 );

        for ( word = dict("").Order(1); word != ""; word = dict(word).Order(1) ) 

                cout << dict(word) << " " << word << endl;


        GlobalClose;
        return 0;
        }
