Thanks! Pada Rabu, 21 Mei 2014 4:17:19 UTC+7, Jeffrey Kegler menulis: > > One approach is to make ISO dates lexemes. That way the longest match > discipline works for you, slurping up all the minus signs before the > subtraction logic gets to see them. And whitespace won't be allowed, which > I assume is the intent. I've tried it out in a pull request. Some of your > tests fail, but I am assuming that's because you're working on that stuff. > > -- jeffrey > > On 05/20/2014 10:18 AM, Steven Haryanto wrote: > > Still playing with Marpa. Recently released a small utility to calculate > dates: https://metacpan.org/pod/App::datecalc > > The calculator allows writing date literals in the form of YYYY-MM-DD, > e.g. 2014-05-20. Other allowable literals include date duration in the form > of ISO 8601 notation (e.g. P1Y2M3D) or natural (e.g. "1 year 2 months 3 > days"). > > I'm also trying to add some numeric arithmetics capability to the > calculator, so it can do simple arithmetics on numbers e.g. '2014 - 10' > (2004) or '3*2 * P1D' (meaning 6 times the duration of 1 day). > > And that's where I'm currently stuck. My latest attempt at the time of > this writing: > https://github.com/sharyanto/perl-App-datecalc/commit/3df0bd0cc681be7bd3a535469ac0fbe439df7deb > > If I define op_addsub ~ [+-] then Marpa will treat a date literal > '2014-05-20' as subtraction operation, yielding 1979. If I require > whitespaces around the subtraction operator (i.e. op_addsub ~ [+] | ' - ') > then Marpa will refuse to parse '1-2' (no whitespaces around the minus > sign). Moreover, DATE-DATE (subtraction of two dates) doesn't work anymore. > > Pointers are very much appreciated. > > Regards, > Steven > -- > You received this message because you are subscribed to the Google Groups > "marpa parser" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:>. > For more options, visit https://groups.google.com/d/optout. > > >
-- You received this message because you are subscribed to the Google Groups "marpa parser" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
