docs
This commit is contained in:
65
docs/checkpl.yap
Normal file
65
docs/checkpl.yap
Normal file
@@ -0,0 +1,65 @@
|
||||
|
||||
:- use_module(library(lists)).
|
||||
:- use_module(library(lineutils)).
|
||||
|
||||
:- initialization(main).
|
||||
|
||||
main :-
|
||||
%system('find . \( -name '*.pl' -o -name '*.yap' -o -name '*.c' -o -name '*.h' -o -name '*.cpp' -o -name '*.hh' \) -type f -print | xargs grep '@defgroup\|@ingroup\|@addtogroup\|@{|@}').
|
||||
|
||||
file_filter_with_start_end( docs, tmp, add2graph, initgraph, checkgraph).
|
||||
|
||||
initgraph(_,_).
|
||||
|
||||
:- dynamic node/3, edge/3, e_b_n/3.
|
||||
|
||||
checkgraph(_,_) :-
|
||||
e_b_n(F,KN,_C),
|
||||
node(KF,KN,_),
|
||||
add_edge(KF, F, KN),
|
||||
fail.
|
||||
checkgraph(_,_) :-
|
||||
listing(node),
|
||||
listing(edge).
|
||||
|
||||
|
||||
add2graph(Line, _Out) :-
|
||||
split( Line, "% \t/*:", [File, Job, Name|_]),
|
||||
append( _, L, Line),
|
||||
append(Name, R, L),
|
||||
dispatch( Name, File, Job, R).
|
||||
|
||||
dispatch( Name, File, "defgroup", Comment):-
|
||||
atom_codes(KN, Name),
|
||||
atom_codes(KF, File),
|
||||
atom_codes(C, Comment),
|
||||
add_node(KF, KN,C).
|
||||
dispatch( Name, File, "addtogroup", Comment):-
|
||||
atom_codes(KN, Name),
|
||||
atom_codes(KF, File),
|
||||
atom_codes(C, Comment),
|
||||
add_node_edge(KF, KN,C).
|
||||
dispatch( Name, File, "ingroup", Comment):-
|
||||
atom_codes(KN, Name),
|
||||
atom_codes(KF, File),
|
||||
atom_codes(C, Comment),
|
||||
add_edge(KF, KN,C).
|
||||
add_node(F, K,_C) :-
|
||||
node(_,K,_),
|
||||
throw( repeat(F:K) ).
|
||||
add_node(F, K,C) :-
|
||||
assert(node(F,K,C)).
|
||||
|
||||
add_node_edge(F, K,_C) :-
|
||||
node(F1,K,_),
|
||||
!,
|
||||
assert(edge(F1,F,K)).
|
||||
add_node_edge(F, K,C) :-
|
||||
assert(node(F,K,C)).
|
||||
|
||||
add_edge(F, K,_C) :-
|
||||
node(F1,K,_),
|
||||
!,
|
||||
assert(edge(F1,F,K)).
|
||||
add_edge(F, K,C) :-
|
||||
assert(e_b_n(F,K,C)).
|
||||
Reference in New Issue
Block a user