diff options
Diffstat (limited to 'mgizapp/src/parse.cpp')
-rw-r--r-- | mgizapp/src/parse.cpp | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/mgizapp/src/parse.cpp b/mgizapp/src/parse.cpp deleted file mode 100644 index c8eb570..0000000 --- a/mgizapp/src/parse.cpp +++ /dev/null @@ -1,150 +0,0 @@ -/* - -EGYPT Toolkit for Statistical Machine Translation -Written by Yaser Al-Onaizan, Jan Curin, Michael Jahr, Kevin Knight, John Lafferty, Dan Melamed, David Purdy, Franz Och, Noah Smith, and David Yarowsky. - -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. - -*/ - -/* FJO 01/2001: completely reorganized parameter processing */ - -#include <strstream> -#include <string> -#include <fstream> -#include "defs.h" -#include "utility.h" -#include "Globals.h" -#include "D4Tables.h" -#include "D5Tables.h" -#include "ATables.h" -#include "Parameter.h" - -extern bool ONLYALDUMPS; - -void parseConfigFile (char * fname ) - // This functions reads in the configuration file to set up some run-time - // parameters. The parameters are global variables that are defined in - // main.cc and used all over the place in the program - // The format of the configuration file can be explained in the following way - // FORMAT: - // the character '\n' separates lines .. - // lines that start with "//" (skipping over white spaces are considered - // as comments and will be ignored. - // Any other line is considered as an attribute setting instruction and it - // is divided into haves (separated by a colon ":"). The first half is the - // attribute value which consists of the concatenation of all non-white space - // tokens before the colon. These tokens will have spaces eseparating them. - // The attribute vlue is the first token after the colon (any thing after - // it will be ignored ; - // For example : - // if the configuration file has the following entry: - // - // NO. ITERATIONS MODEL 2 : 10 - // - // then the attribute is "NO. ITERATIONS MODEL 2" , and the attribute value - // is "10" (these do not include the quotation marks). - -{ - - string line, word, attrib, attribval ; - ifstream Config_File(fname); - if(!Config_File){ - cerr << "ERROR: Cannot open configuration file " << fname << "!\n" ; - exit(1); - } - - cout << "The following options are from the config file and will be overwritten by any command line options.\n"; - - while(getline(Config_File, line)){ - - istrstream buffer(line.c_str()); - word = attrib = attribval = "" ; - buffer >> word ; - if (word != "//"){ // if line does not start with "//" (i.e. not a comment) - attrib = word ; - while((buffer >> word) && (word != ":")){ - attrib += " " + word ; - } - if(!(buffer >> attribval)) - { - istrstream buffer2(line.c_str()); - buffer2>>attrib; - buffer2>>attribval; - } - - // This# is where (1) the configuration file is defined and - // (2) parsing of its attributes occurs. - - if(attrib == "t FILE"){ - t_Filename = attribval; - cout << "\tt file: " << t_Filename << '\n'; - } - else if(attrib == "a FILE"){ - a_Filename = attribval; - cout << "\ta file: " << a_Filename << '\n'; - } - else if(attrib == "d FILE"){ - d_Filename = attribval; - cout << "\td file: " << d_Filename << '\n'; - } - else if(attrib == "n FILE"){ - n_Filename = attribval; - cout << "\tn file: " << n_Filename << '\n'; - } - else if(attrib == "p0 FILE"){ - p0_Filename = attribval; - cout << "\tp0 file: " << p0_Filename << '\n'; - } - else if ( line == ""){} - else if( !makeSetCommand(attrib,attribval,getGlobalParSet(),2) ) - cerr << "ERROR: Unrecognized attribute :" << attrib << '\n'; - } - } -} - - -void parseArguments(int argc, char *argv[]) -{ - int arg = 1; - - if(!strcmp(argv[1], "--h") || !strcmp(argv[1], "--help")){ - printHelp(); - exit(0); - } - if( argv[1][0]=='-' ) - arg=0; - else - parseConfigFile(argv[1]); - while(++arg<argc){ - if( strlen(argv[arg])>2 && argv[arg][0]=='-' && argv[arg][1]=='-' ) { - if( !makeSetCommand(argv[arg]+1,"1",getGlobalParSet(),2)) - cerr << "WARNING: ignoring unrecognized option: "<< argv[arg] << '\n' ; - } - else if( arg+1<argc && !makeSetCommand(argv[arg],argv[arg+1],getGlobalParSet(),2)) - cerr << "WARNING: ignoring unrecognized option: "<< argv[arg] << '\n' ; - else - { - arg++; - } - } - if( OPath.length() ) - OPath+="/"; - Prefix = (OPath + Prefix); - LogFilename = (OPath + LogFilename); - printGIZAPars(cout); -} - |