Toggle navigation
?
users online
Logout
Open hangout
Open chat for current file
is_dotted_quad(X) :- atom(X) , atom_chars(X,Cs) , is_dotted_quad(Cs). is_dotted_quad(X) :- string(X) , string_chars(X,Cs) , is_dotted_quad(Cs). is_dotted_quad(Cs) :- phrase(dotted_quad, Cs). dotted_quad --> octet, dot, octet, dot, octet, dot, octet. dot --> ['.']. octet --> digit('0','9') . octet --> digit('1','9') , digit('0','9') . octet --> digit('1') , digit('0','9') , digit('0','9'). octet --> digit('2') , digit('0','4') , digit('0','9'). octet --> digit('2') , digit('5') , digit('0','5'). digit(V) --> [V]. digit(Min,Max) --> [D], { D @>= Min, D @=< Max }.