Руководство пользователя tuProlog легко найти: Документация .В главе 5 содержатся команды Prolog, которые есть в вашем распоряжении.
Исходя из вашего вопроса, я заключаю, что вы получаете дату в виде строки, и вы не уверены, в каком формате поступает строка даты.Я бы посмотрел на text_term/2
, чтобы преобразовать строку в термин (я не уверен на 100%, в системе Prolog, которую я использую, для этого есть предикат с другим именем).Затем вы можете проверить, содержит ли он одну или две косые черты (или в другом формате, или вообще не является датой), объединяя термин с термином желаемой структуры:
Term = D/M/Y
и проверяя,является действительной датой:
text_term(Text,Term),
( Term = D/M/Y, valid_date(D,M,Y) ->
true
; Term = M/D/Y, valid_date(D,M,Y) ->
true
; ...
->
- это "если-тогда", ;
- это "еще".Вам нужно будет написать предикат этого теста для допустимых дат, который я назвал valid_date/3
выше.