commit 0cdb018f3e73551ed9168ef652f3b015be7db144 Author: Tanmai Khanna Date: Sat Jul 13 03:32:44 2019 +0530 Make XML Parser into class, add it to main code | Add capability to take flags anywhere and input xml file to program diff --git a/src/anaphora.cc b/src/anaphora.cc index 8ac52c0..dd5c3b4 100644 --- a/src/anaphora.cc +++ b/src/anaphora.cc @@ -1,3 +1,4 @@ +#include "parse_ref.h" #include "parse_biltrans.h" #include "score.h" @@ -11,17 +12,41 @@ using namespace std; int main(int argc, char **argv) { + char *refFileName; + int nullFlush = 0; - if(argc > 1) //flag given + if (argc < 2) //Need Name of Ref File + { + fprintf(stderr,"Usage: %s -[Flags] RefFile \n", argv[0]); + return 0; + } + + else if(argc == 2) // No flag given { - if(strcmp(argv[1], "-z") == 0) - nullFlush = 1; + refFileName = argv[1]; } - wchar_t input_char; + else if(argc == 3) //flag given + { + for(int i=1; i < argc; i++) //at i=0 we have the program name + { + if(strcmp(argv[i], "-z") == 0) + nullFlush = 1; + else + { + refFileName = argv[i]; + } + } + } + else + { + fprintf(stderr, "Too many arguments provided.\n"); + fprintf(stderr, "Usage: %s -[Flags] RefFile \n", argv[0]); + return 0; + } - input_char = fgetwc(stdin); //change to fgetwc ? + wchar_t input_char; wstring input_stream; @@ -34,8 +59,13 @@ int main(int argc, char **argv) vector sl_tags; vector tl_tags; + ParseRef ref_file; + ref_file.parseDoc(refFileName); + int flag_LU = 0; + input_char = fgetwc(stdin); //change to fgetwc ? + while(input_char!=EOF) // should I made feof(input_char) ? { if(nullFlush && input_char == L'\0') //nullFlush @@ -132,6 +162,6 @@ int main(int argc, char **argv) //fclose(fin); - return 0; + return 1; } diff --git a/src/parse_ref.cc b/src/parse_ref.cc index 18b0eea..fb8271d 100644 --- a/src/parse_ref.cc +++ b/src/parse_ref.cc @@ -207,6 +207,7 @@ void ParseRef::parseDoc(char *docname) return; } +/* //Code for Testing int main(int argc, char **argv) { char *docname; @@ -224,4 +225,5 @@ int main(int argc, char **argv) ref.parseDoc(docname); return (1); -} \ No newline at end of file +} +*/ \ No newline at end of file diff --git a/src/parse_ref.h b/src/parse_ref.h index 74be19d..9fff7f6 100644 --- a/src/parse_ref.h +++ b/src/parse_ref.h @@ -1,6 +1,12 @@ #ifndef _PARSEREF_ #define _PARSEREF_ +#include +#include +#include +#include +#include + using namespace std; class ParseRef