Toggle navigation
?
users online
Logout
Open hangout
Open chat for current file
:- set_prolog_flag(double_quotes,chars). :- use_module(library(dif)). paired_braces([]) --> "". paired_braces(Text) --> nonempty_paired_braces(Text1), paired_braces(Text2), { append(Text1, Text2, Text) }. nonempty_paired_braces(Text) --> "(", paired_braces(Text), ")". nonempty_paired_braces(Text) --> "[", paired_braces(Text), "]". nonempty_paired_braces(Text) --> "{", paired_braces(Text), "}". nonempty_paired_braces(Text) --> "<", paired_braces(Text), ">". nonempty_paired_braces([Character]) --> % The following line matches any `Character`, and then % ensures it's not an opening or closing bracket. [Character], { dif(Character, '('), dif(Character, ')'), dif(Character, '['), dif(Character, ']'), dif(Character, '{'), dif(Character, '}'), dif(Character, '<'), dif(Character, '>') }.