Parse an English language date or time phrase into a library(julian)
form. One usually interacts with library(julian/lang/en)
by calling
Julian's form_time/2 predicate using the english/1 form. For
example, form_time(english("tuesday or thursday in April"), Dt)
.
However, it's sometimes convenient to separate the parsing and
constraining steps. In that case, call english_form//1 directly:
?- phrase(english_form(Form), "tuesday or thursday in April").
Form = [month(april), dow([tuesday, thursday])].
This predicate is declared multifile
so that you can add
additional English phrases to suit your needs. Perhaps defining what
"summer" means to you:
julian_lang_en:english_form(month([june,july,august])) -->
"summer".