00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef _BASFILE_H_
00010 #define _BASFILE_H_
00011
00012 #include <string>
00013 #include <fstream>
00014 #include "Record.h"
00015 #include "RE.h"
00016 #include <map>
00017
00018
00020 class BASfile : public Record
00021 {
00022 private:
00023 RE* tierRE[6];
00024 RE* tierREsub;
00025 map<string,int> classMap;
00026
00027 bool tier_process1(const string& tier);
00028 bool tier_process4(const string& tier);
00029 bool tier_process5(const string& tier);
00030 bool (BASfile::*tier_process[6])(const string&);
00031
00032 void
00033 init();
00034
00035 virtual void
00036 preprocess();
00037
00038 virtual void
00039 read_entry();
00040
00041 public:
00042 BASfile();
00043 BASfile(const string& filename);
00044 ~BASfile();
00045
00047 bool read_record();
00048
00050 string get_type();
00052 string get_time();
00054 string get_dur();
00056 string get_ref();
00058 string get_label();
00059 };
00060
00061 #endif