1:- module(tidylog_comment_ml, [ml_comment//1]). 2
3:- use_module(library(tidylog/common),[ codes//1
4 , prefer_one//1
5 , rest_of_line//1
6 , when_generating//1
7 , when_parsing//1
8 ]). 9:- use_module(library(tidylog/char),[ invisible//0
10 , nl//0
11 ]). 12
('tidylog %multi'(Lines)) -->
15 when_generating(lines_codes(Lines,Codes)),
16
17 "/*",
18 prefer_one(invisible),
19 codes(Codes),
20 prefer_one(invisible),
21 "*/",
22
23 when_parsing(lines_codes(Lines,Codes)).
24
25
26lines_codes(Lines,Codes) :-
27 nonvar(Lines),
28 !,
29 maplist(string_codes,Lines,LinesOfCodes),
30 once(phrase(lines(LinesOfCodes),Codes)).
31lines_codes(Lines,Codes) :-
32 nonvar(Codes),
33 once(phrase(lines(LinesOfCodes),Codes)),
34 maplist(string_codes,Lines,LinesOfCodes).
35
36
37lines([]) -->
38 [].
39lines([Line]) -->
40 rest_of_line(Line).
41lines([Line|Lines]) -->
42 rest_of_line(Line),
43 nl,
44 lines(Lines)