/[ghosts]/ghosts/gedcomparser/src/GEDCOMParser/DateManagement/datevalueparser.yxx
ViewVC logotype

Diff of /ghosts/gedcomparser/src/GEDCOMParser/DateManagement/datevalueparser.yxx

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1.2.3 by cpcp, Sun Oct 27 09:45:01 2002 UTC revision 1.1.2.4 by cpcp, Sun Oct 27 11:58:04 2002 UTC
# Line 40  GEDCOMParser::DateManagement::Period * _ Line 40  GEDCOMParser::DateManagement::Period * _
40  GEDCOMParser::DateManagement::Range * _date_range;  GEDCOMParser::DateManagement::Range * _date_range;
41  GEDCOMParser::DateManagement::DatePhrase * _date_phrase;  GEDCOMParser::DateManagement::DatePhrase * _date_phrase;
42  std::string _parsed_string;  std::string _parsed_string;
43     int error_cpt;
44                    
45  %}  %}
46    
# Line 99  std::string _parsed_string; Line 100  std::string _parsed_string;
100  %token  ABT  %token  ABT
101  %token  CAL  %token  CAL
102  %token  EST  %token  EST
 %token  BC  
103  %token  SLASH  %token  SLASH
104    %token  BC
105  %token  SPACE  %token  SPACE
106  %token  NUMBER  %token  NUMBER
107  %token  DATEPHRASE  %token  DATEPHRASE
# Line 151  date_value: Line 152  date_value:
152          }          }
153          ;          ;
154    
155  date:  date:  
156          date_greg          SPACE date
157            | SPACE date SPACE
158            | date_greg
159          | CAL_GREGORIAN date_greg          | CAL_GREGORIAN date_greg
160          | CAL_JULIAN date_juln                  | CAL_JULIAN date_juln        
161          {          {
# Line 197  date_greg: Line 200  date_greg:
200            _date->setYear($1);            _date->setYear($1);
201          }          }
202          | date_greg SLASH NUMBER // TO DO : ACTION          | date_greg SLASH NUMBER // TO DO : ACTION
203          | date_greg BC // TO DO : ACTION          | date_greg BC
204            {
205              if (_date == 0)
206                _date = new GEDCOMParser::DateManagement::Date();
207              _date->setBeforeChrist(true);
208            }      
209          ;          ;
210    
211  month:  month:
# Line 637  date_future: Line 645  date_future:
645          ;          ;
646    
647  date_period:  date_period:
648          date_period SPACE TO date          SPACE date_period
649            | date_period SPACE TO date
650          {          {
651            if (_date_period == 0)            if (_date_period == 0)
652              {              {
# Line 667  date_period: Line 676  date_period:
676          ;          ;
677    
678  date_range:  date_range:
679          date_range AND date          SPACE date_range
680            | date_range AND date
681          {          {
682            if (_date_range == 0)            if (_date_range == 0)
683              {              {
# Line 728  date_approximated: Line 738  date_approximated:
738    
739  void datevalue_error(char * const s)  void datevalue_error(char * const s)
740  {  {
741    std::cerr << s  << " : " << _parsed_string << std::endl;    std::cerr << s  << " (DateManagement parsing) : " << _parsed_string << std::endl;
   
742    return ;    return ;
743  }  }
744    
745  void datevalue_runparse(std::string const &s, GEDCOMParser::DateManagement::DateValue * date_value, int debug = 0)  void datevalue_runparse(std::string const &s, GEDCOMParser::DateManagement::DateValue * date_value, int debug = 0)
746  {  {
747    _parsed_string = s;    _parsed_string = s;
748  //  yydebug = debug;     yydebug = debug;
749   yydebug = 1;     error_cpt = 0;
750    _date = 0;    _date = 0;
751    _date_period = 0;    _date_period = 0;
752    _date_range = 0;    _date_range = 0;
# Line 749  void datevalue_runparse(std::string cons Line 758  void datevalue_runparse(std::string cons
758    delete _date_period; _date_period = 0;    delete _date_period; _date_period = 0;
759    _date_range = 0;    _date_range = 0;
760    _date_phrase = 0;    _date_phrase = 0;
761      if (error_cpt > 0)
762        {
763          _date_value->setParseError(true);
764        }
765      else
766        {
767          _date_value->setParseError(false);
768        }
769      error_cpt = 0;
770      return;
771  }  }

Legend:
Removed from v.1.1.2.3  
changed lines
  Added in v.1.1.2.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26