/[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 by cpcp, Wed Oct 23 19:21:41 2002 UTC revision 1.2 by cpcp, Tue Nov 12 21:25:21 2002 UTC
# Line 0  Line 1 
1    /*
2        Copyright 2002 Cyril Picard
3    
4        This file is part of the GEDCOMParser library
5        (developed within the Genealogy Free Software Tools project).
6    
7        The GEDCOMParser library is free software; you can redistribute it and/or modify
8        it under the terms of the GNU General Public License as published by
9        the Free Software Foundation; either version 2 of the License, or
10        (at your option) any later version.
11    
12        The GEDCOMParser library is distributed in the hope that it will be useful,
13        but WITHOUT ANY WARRANTY; without even the implied warranty of
14        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15        GNU General Public License for more details.
16    
17        You should have received a copy of the GNU General Public License
18        along with the GEDCOMParser library ; if not, write to the Free Software
19        Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20    
21    */
22    
23    %{
24    #include "GEDCOMParser/DateManagement/datevalueparser_decl.hh"
25    #include "GEDCOMParser/DateManagement/datevalueparser.h"
26    
27    #include <string.h>
28    #include <iostream>
29    
30    void datevalue_error(char * const s);  
31    #define yylex datevaluelex
32    int datevaluelex(void);
33    
34    #include <iostream>
35    #include <string>
36    
37    GEDCOMParser::DateManagement::DateValue * _date_value;
38    GEDCOMParser::DateManagement::Date * _date;
39    GEDCOMParser::DateManagement::Period * _date_period;
40    GEDCOMParser::DateManagement::Range * _date_range;
41    GEDCOMParser::DateManagement::DatePhrase * _date_phrase;
42    std::string _parsed_string;
43     int error_cpt;
44            
45    %}
46    
47    %token  CAL_GREGORIAN
48    %token  CAL_JULIAN
49    %token  CAL_HEBREW
50    %token  CAL_FRENCH
51    %token  CAL_ROMAN
52    %token  CAL_UNKNOWN
53    %token  MONTH_JAN
54    %token  MONTH_FEB
55    %token  MONTH_MAR
56    %token  MONTH_APR
57    %token  MONTH_MAY
58    %token  MONTH_JUN
59    %token  MONTH_JUL
60    %token  MONTH_AUG
61    %token  MONTH_SEP
62    %token  MONTH_OCT
63    %token  MONTH_NOV
64    %token  MONTH_DEC
65    %token  MONTH_HEBR_TSH
66    %token  MONTH_HEBR_CSH
67    %token  MONTH_HEBR_KSL
68    %token  MONTH_HEBR_TVT
69    %token  MONTH_HEBR_SHV
70    %token  MONTH_HEBR_ADR
71    %token  MONTH_HEBR_ADS
72    %token  MONTH_HEBR_NSN
73    %token  MONTH_HEBR_IYR
74    %token  MONTH_HEBR_SVN
75    %token  MONTH_HEBR_TMZ
76    %token  MONTH_HEBR_AAV
77    %token  MONTH_HEBR_ELL
78    %token  MONTH_FREN_VEND
79    %token  MONTH_FREN_BRUM
80    %token  MONTH_FREN_FRIM
81    %token  MONTH_FREN_NIVO
82    %token  MONTH_FREN_PLUV
83    %token  MONTH_FREN_VENT
84    %token  MONTH_FREN_GERM
85    %token  MONTH_FREN_FLOR
86    %token  MONTH_FREN_PRAI
87    %token  MONTH_FREN_MESS
88    %token  MONTH_FREN_THER
89    %token  MONTH_FREN_FRUC
90    %token  MONTH_FREN_COMP
91    %token  AN
92    %token  FRENCH_YEAR
93    %token  FROM
94    %token  TO
95    %token  BEF
96    %token  AFT
97    %token  BET
98    %token  AND
99    %token  INT
100    %token  ABT
101    %token  CAL
102    %token  EST
103    %token  SLASH
104    %token  BC
105    %token  SPACE
106    %token  NUMBER
107    %token  DATEPHRASE
108    
109    %%
110    
111    date_value:
112            date
113            {
114              _date_value->setType(GEDCOMParser::DateManagement::DateValue::e_Date);
115              _date_value->setDate(*_date);
116              delete _date; _date = 0;
117             }
118            | date_period
119            {
120              _date_value->setType(GEDCOMParser::DateManagement::DateValue::e_Period);
121              _date_value->setPeriod(*_date_period);
122              delete _date_period; _date_period = 0;
123            }
124            | date_range
125            {
126              _date_value->setType(GEDCOMParser::DateManagement::DateValue::e_Range);
127              _date_value->setRange(*_date_range);
128              delete _date_range; _date_range = 0;
129             }
130            | date_approximated
131            {
132              _date_value->setType(GEDCOMParser::DateManagement::DateValue::e_Date);
133              _date_value->setDate(*_date);
134              delete _date; _date = 0;
135            }
136            
137            | INT date SPACE DATEPHRASE
138            {
139              _date_phrase = new GEDCOMParser::DateManagement::DatePhrase($4);
140              _date_value->setType(GEDCOMParser::DateManagement::DateValue::e_Interpreted);
141              _date_value->setDatePhrase(*_date_phrase);
142              _date_value->setDate(*_date);
143              delete _date_phrase; _date_phrase = 0;
144              delete _date; _date = 0;
145            }
146            | DATEPHRASE
147            {
148              _date_phrase = new GEDCOMParser::DateManagement::DatePhrase($1);      
149              _date_value->setType(GEDCOMParser::DateManagement::DateValue::e_DatePhrase);
150              _date_value->setDatePhrase(*_date_phrase);
151              delete _date_phrase; _date_phrase = 0;
152            }
153            ;
154    
155    date:  
156            SPACE date
157            | SPACE date SPACE
158            | date_greg
159            | CAL_GREGORIAN date_greg
160            | CAL_JULIAN date_juln        
161            {
162              _date->setCalendar(GEDCOMParser::DateManagement::Date::e_Julian);
163            }
164            | CAL_HEBREW date_hebr
165            {
166              _date->setCalendar(GEDCOMParser::DateManagement::Date::e_Hebrew);
167            }
168            | CAL_FRENCH date_fren
169            {
170              _date->setCalendar(GEDCOMParser::DateManagement::Date::e_French);
171            }
172            | CAL_ROMAN date_future
173            {
174              _date->setCalendar(GEDCOMParser::DateManagement::Date::e_Unknown);
175            }
176            | CAL_UNKNOWN date_future
177            {
178              _date->setCalendar(GEDCOMParser::DateManagement::Date::e_Unknown);
179            }
180            ;
181    
182    date_greg:
183            | NUMBER SPACE month SPACE NUMBER
184            {
185              if (_date == 0)
186                _date = new GEDCOMParser::DateManagement::Date();
187              _date->setDay($1);
188              _date->setYear($5);
189            }
190            | month SPACE NUMBER
191            {
192              if (_date == 0)
193                _date = new GEDCOMParser::DateManagement::Date();
194              _date->setYear($3);
195            }
196            | NUMBER
197            {
198              if (_date == 0)
199                _date = new GEDCOMParser::DateManagement::Date();
200              _date->setYear($1);
201            }
202            | date_greg SLASH NUMBER // TO DO : ACTION
203            | date_greg BC
204            {
205              if (_date == 0)
206                _date = new GEDCOMParser::DateManagement::Date();
207              _date->setBeforeChrist(true);
208            }      
209            ;
210    
211    month:
212            MONTH_JAN
213            {
214              if (_date == 0)
215                {
216                _date = new GEDCOMParser::DateManagement::Date();
217                }
218              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Jan);
219            }
220            | MONTH_FEB
221            {
222              if (_date == 0)
223                {
224                _date = new GEDCOMParser::DateManagement::Date();
225                }
226              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Feb);
227            }
228            |  MONTH_MAR
229            {
230              if (_date == 0)
231                {
232                _date = new GEDCOMParser::DateManagement::Date();
233                }
234              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Mar);
235            }
236            |  MONTH_APR
237            {
238              if (_date == 0)
239                {
240                _date = new GEDCOMParser::DateManagement::Date();
241                }
242              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Apr);
243            }
244            |  MONTH_MAY
245            {
246              if (_date == 0)
247                {
248                _date = new GEDCOMParser::DateManagement::Date();
249                }
250              _date->setMonth(GEDCOMParser::DateManagement::Date::e_May);
251            }
252            |  MONTH_JUN
253            {
254              if (_date == 0)
255                {
256                _date = new GEDCOMParser::DateManagement::Date();
257                }
258              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Jun);
259            }
260            |  MONTH_JUL
261            {
262              if (_date == 0)
263                {
264                _date = new GEDCOMParser::DateManagement::Date();
265                }
266              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Jul);
267            }
268            |  MONTH_AUG
269            {
270              if (_date == 0)
271                {
272                _date = new GEDCOMParser::DateManagement::Date();
273                }
274              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Aug);
275            }
276            |  MONTH_SEP
277            {
278              if (_date == 0)
279                {
280                _date = new GEDCOMParser::DateManagement::Date();
281                }
282              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Sep);
283            }
284            |  MONTH_OCT
285            {
286              if (_date == 0)
287                {
288                _date = new GEDCOMParser::DateManagement::Date();
289                }
290              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Oct);
291            }
292            |  MONTH_NOV
293            {
294              if (_date == 0)
295                {
296                _date = new GEDCOMParser::DateManagement::Date();
297                }
298              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Nov);
299            }
300            |  MONTH_DEC
301            {
302              if (_date == 0)
303                {
304                _date = new GEDCOMParser::DateManagement::Date();
305                }
306              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Dec);
307            }
308            ;
309    
310    date_hebr:
311            NUMBER
312            {
313              if (_date == 0)
314                _date = new GEDCOMParser::DateManagement::Date();
315              _date->setYear($1);
316            }
317            | month_hebr SPACE NUMBER
318            {
319              if (_date == 0)
320                _date = new GEDCOMParser::DateManagement::Date();
321              _date->setYear($3);
322            }
323            | NUMBER SPACE month_hebr SPACE NUMBER
324            {
325              if (_date == 0)
326                _date = new GEDCOMParser::DateManagement::Date();
327              _date->setDay($1);
328              _date->setYear($5);
329            }
330            ;
331    
332    month_hebr:
333             MONTH_HEBR_TSH
334            {
335              if (_date == 0)
336                {
337                _date = new GEDCOMParser::DateManagement::Date();
338                }
339              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Hebr_Tsh);
340            }
341            | MONTH_HEBR_CSH
342            {
343              if (_date == 0)
344                {
345                _date = new GEDCOMParser::DateManagement::Date();
346                }
347              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Hebr_Csh);
348            }
349            | MONTH_HEBR_KSL
350            {
351              if (_date == 0)
352                {
353                _date = new GEDCOMParser::DateManagement::Date();
354                }
355              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Hebr_Ksl);
356            }
357            | MONTH_HEBR_TVT
358            {
359              if (_date == 0)
360                {
361                _date = new GEDCOMParser::DateManagement::Date();
362                }
363              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Hebr_Tvt);
364            }
365            | MONTH_HEBR_SHV
366            {
367              if (_date == 0)
368                {
369                _date = new GEDCOMParser::DateManagement::Date();
370                }
371              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Hebr_Shv);
372            }
373            | MONTH_HEBR_ADR
374            {
375              if (_date == 0)
376                {
377                _date = new GEDCOMParser::DateManagement::Date();
378                }
379              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Hebr_Adr);
380            }
381            | MONTH_HEBR_ADS
382            {
383              if (_date == 0)
384                {
385                _date = new GEDCOMParser::DateManagement::Date();
386                }
387              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Hebr_Ads);
388            }
389            | MONTH_HEBR_NSN
390            {
391              if (_date == 0)
392                {
393                _date = new GEDCOMParser::DateManagement::Date();
394                }
395              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Hebr_Nsn);
396            }
397            | MONTH_HEBR_IYR
398            {
399              if (_date == 0)
400                {
401                _date = new GEDCOMParser::DateManagement::Date();
402                }
403              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Hebr_Iyr);
404            }
405            | MONTH_HEBR_SVN
406            {
407              if (_date == 0)
408                {
409                _date = new GEDCOMParser::DateManagement::Date();
410                }
411              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Hebr_Svn);
412            }
413            | MONTH_HEBR_TMZ
414            {
415              if (_date == 0)
416                {
417                _date = new GEDCOMParser::DateManagement::Date();
418                }
419              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Hebr_Tmz);
420            }
421            | MONTH_HEBR_AAV
422            {
423              if (_date == 0)
424                {
425                _date = new GEDCOMParser::DateManagement::Date();
426                }
427              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Hebr_Aav);
428            }
429            | MONTH_HEBR_ELL
430            {
431              if (_date == 0)
432                {
433                _date = new GEDCOMParser::DateManagement::Date();
434                }
435              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Hebr_Ell);
436            }
437            ;
438    
439    date_juln:
440            NUMBER
441            {
442              if (_date == 0)
443                _date = new GEDCOMParser::DateManagement::Date();
444              _date->setYear($1);
445            }
446            | month SPACE NUMBER
447            {
448              if (_date == 0)
449                _date = new GEDCOMParser::DateManagement::Date();
450              _date->setYear($3);
451            }
452            | NUMBER SPACE month SPACE NUMBER
453            {
454              if (_date == 0)
455                _date = new GEDCOMParser::DateManagement::Date();
456              _date->setDay($1);
457              _date->setYear($5);
458            }
459            ;
460    date_fren:
461            NUMBER SPACE month_fren SPACE NUMBER
462            {
463              if (_date == 0)
464                _date = new GEDCOMParser::DateManagement::Date();
465              _date->setDay($1);
466              _date->setFrenchYearFormat(GEDCOMParser::DateManagement::Date::e_FrenchYearFormat_Decimal);
467              _date->setYear($5);
468            }
469            | month_fren SPACE NUMBER
470            {
471              if (_date == 0)
472                _date = new GEDCOMParser::DateManagement::Date();
473              _date->setFrenchYearFormat(GEDCOMParser::DateManagement::Date::e_FrenchYearFormat_Decimal);
474              _date->setYear($3);
475            }
476            |NUMBER
477            {
478              if (_date == 0)
479                _date = new GEDCOMParser::DateManagement::Date();
480              _date->setFrenchYearFormat(GEDCOMParser::DateManagement::Date::e_FrenchYearFormat_Decimal);
481              _date->setYear($1);
482            }
483            | NUMBER SPACE month_fren SPACE AN FRENCH_YEAR
484            {
485              if (_date == 0)
486                _date = new GEDCOMParser::DateManagement::Date();
487              _date->setDay($1);
488              _date->setFrenchYearFormat(GEDCOMParser::DateManagement::Date::e_FrenchYearFormat_Roman);
489              _date->setYear($6);
490            }
491            | month_fren SPACE AN FRENCH_YEAR
492            {
493              if (_date == 0)
494                _date = new GEDCOMParser::DateManagement::Date();
495              _date->setFrenchYearFormat(GEDCOMParser::DateManagement::Date::e_FrenchYearFormat_Roman);
496              _date->setYear($4);
497            }
498            | AN FRENCH_YEAR
499            {
500              if (_date == 0)
501                _date = new GEDCOMParser::DateManagement::Date();
502              _date->setFrenchYearFormat(GEDCOMParser::DateManagement::Date::e_FrenchYearFormat_Roman);
503              _date->setYear($2);
504            }
505            | NUMBER SPACE month_fren SPACE FRENCH_YEAR
506            {
507              if (_date == 0)
508                _date = new GEDCOMParser::DateManagement::Date();
509              _date->setDay($1);
510              _date->setFrenchYearFormat(GEDCOMParser::DateManagement::Date::e_FrenchYearFormat_Roman);
511              _date->setYear($5);
512            }
513            | month_fren SPACE FRENCH_YEAR
514            {
515              if (_date == 0)
516                _date = new GEDCOMParser::DateManagement::Date();
517              _date->setFrenchYearFormat(GEDCOMParser::DateManagement::Date::e_FrenchYearFormat_Roman);
518              _date->setYear($3);
519            }
520            | FRENCH_YEAR
521            {
522              if (_date == 0)
523                _date = new GEDCOMParser::DateManagement::Date();
524              _date->setFrenchYearFormat(GEDCOMParser::DateManagement::Date::e_FrenchYearFormat_Roman);
525              _date->setYear($1);
526            }
527    
528    
529            
530            ;
531    
532    month_fren:
533            MONTH_FREN_VEND
534            {
535              if (_date == 0)
536                {
537                _date = new GEDCOMParser::DateManagement::Date();
538                }
539              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Fren_Vend);
540            }
541            | MONTH_FREN_BRUM
542            {
543              if (_date == 0)
544                {
545                _date = new GEDCOMParser::DateManagement::Date();
546                }
547              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Fren_Brum);
548            }
549            | MONTH_FREN_FRIM
550            {
551              if (_date == 0)
552                {
553                _date = new GEDCOMParser::DateManagement::Date();
554                }
555              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Fren_Frim);
556            }
557            | MONTH_FREN_NIVO
558            {
559              if (_date == 0)
560                {
561                _date = new GEDCOMParser::DateManagement::Date();
562                }
563              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Fren_Nivo);
564            }
565            | MONTH_FREN_PLUV
566            {
567              if (_date == 0)
568                {
569                _date = new GEDCOMParser::DateManagement::Date();
570                }
571              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Fren_Pluv);
572            }
573            | MONTH_FREN_VENT
574            {
575              if (_date == 0)
576                {
577                _date = new GEDCOMParser::DateManagement::Date();
578                }
579              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Fren_Vent);
580            }
581            | MONTH_FREN_GERM
582            {
583              if (_date == 0)
584                {
585                _date = new GEDCOMParser::DateManagement::Date();
586                }
587              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Fren_Germ);
588            }
589            | MONTH_FREN_FLOR
590            {
591              if (_date == 0)
592                {
593                _date = new GEDCOMParser::DateManagement::Date();
594                }
595              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Fren_Flor);
596            }
597            | MONTH_FREN_PRAI
598            {
599              if (_date == 0)
600                {
601                _date = new GEDCOMParser::DateManagement::Date();
602                }
603              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Fren_Prai);
604            }
605            | MONTH_FREN_MESS
606            {
607              if (_date == 0)
608                {
609                _date = new GEDCOMParser::DateManagement::Date();
610                }
611              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Fren_Mess);
612            }
613            | MONTH_FREN_THER
614            {
615              if (_date == 0)
616                {
617                _date = new GEDCOMParser::DateManagement::Date();
618                }
619              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Fren_Ther);
620            }
621            | MONTH_FREN_FRUC
622            {
623              if (_date == 0)
624                {
625                _date = new GEDCOMParser::DateManagement::Date();
626                }
627              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Fren_Fruc);
628            }
629            | MONTH_FREN_COMP
630            {
631              if (_date == 0)
632                {
633                _date = new GEDCOMParser::DateManagement::Date();
634                }
635              _date->setMonth(GEDCOMParser::DateManagement::Date::e_Fren_Comp);
636            }
637            ;
638    
639    date_future:
640            DATEPHRASE
641            {
642              if (_date_phrase == 0)
643                _date_phrase = new GEDCOMParser::DateManagement::DatePhrase($1);
644            }
645            ;
646    
647    date_period:
648            SPACE date_period
649            | date_period SPACE TO date
650            {
651              if (_date_period == 0)
652                {
653                  _date_period = new GEDCOMParser::DateManagement::Period();
654                }
655              _date_period->setDateTo(*_date);
656              delete _date; _date = 0;
657            }
658            | FROM date
659            {
660              if (_date_period == 0)
661                {
662                  _date_period = new GEDCOMParser::DateManagement::Period();
663                }
664              _date_period->setDateFrom(*_date);
665              delete _date; _date = 0;
666            }
667            | TO date
668            {
669              if (_date_period == 0)
670                {
671                  _date_period = new GEDCOMParser::DateManagement::Period();
672                }
673              _date_period->setDateTo(*_date);
674              delete _date; _date = 0;
675            }
676            ;
677    
678    date_range:
679            SPACE date_range
680            | date_range AND date
681            {
682              if (_date_range == 0)
683                {
684                  _date_range = new GEDCOMParser::DateManagement::Range();
685                }
686              _date_range->setBound2(*_date);
687              _date_range->setType(GEDCOMParser::DateManagement::Range::e_Between);
688              delete _date; _date = 0;
689            }
690            | BEF date
691            {
692              if (_date_range == 0)
693                {
694                  _date_range = new GEDCOMParser::DateManagement::Range();
695                }
696              _date_range->setBound1(*_date);
697              _date_range->setType(GEDCOMParser::DateManagement::Range::e_Before);
698              delete _date; _date = 0;
699            }
700            | AFT date
701            {
702              if (_date_range == 0)
703                {
704                  _date_range = new GEDCOMParser::DateManagement::Range();
705                }
706              _date_range->setBound1(*_date);
707              _date_range->setType(GEDCOMParser::DateManagement::Range::e_After);
708              delete _date; _date = 0;
709            }
710            | BET date
711            {
712              if (_date_range == 0)
713                {
714                  _date_range = new GEDCOMParser::DateManagement::Range();
715                }
716              _date_range->setBound1(*_date);
717              _date_range->setType(GEDCOMParser::DateManagement::Range::e_Between);
718              delete _date; _date = 0;
719            }
720            ;
721    
722    date_approximated:
723            ABT date
724            {
725                    _date->setPrecision(GEDCOMParser::DateManagement::Date::e_About);
726            }
727            | CAL date
728            {
729                    _date->setPrecision(GEDCOMParser::DateManagement::Date::e_Calculated);
730            }
731            | EST date
732            {
733                    _date->setPrecision(GEDCOMParser::DateManagement::Date::e_Estimated);
734            }
735            ;
736    
737    %%
738    
739    void datevalue_error(char * const s)
740    {
741      std::cerr << s  << " (DateManagement parsing) : " << _parsed_string << std::endl;
742      return ;
743    }
744    
745    void datevalue_runparse(std::string const &s, GEDCOMParser::DateManagement::DateValue * date_value, int debug = 0)
746    {
747      _parsed_string = s;
748       yydebug = debug;
749       error_cpt = 0;
750      _date = 0;
751      _date_period = 0;
752      _date_range = 0;
753      _date_phrase = 0;
754      _date_value = date_value;
755      datevalue_scan_string(s.c_str());    
756      datevalue_parse();
757      delete _date; _date = 0;
758      delete _date_period; _date_period = 0;
759      _date_range = 0;
760      _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  
changed lines
  Added in v.1.2

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