
nmr_check.pl -- Detect OLON rules and construct nmr_checkDetect OLON rules and construct nmr_check.
Terminology:
generate_nmr_check(+Module) is det
nmr_check(+OLONrules:list, -NmrCheck:list) is det[private]
olon_rules(+Rules:list, +Module, -OLONrules:list) is det[private]
dfs(+Nodes:list, -OLONs:list, -OrdinaryPaths:list, -PositiveLoops:list) is det[private]
dfs2(+Nodes:list, +Tested:list, +OlonIn:list, -OlonOut:list, +OrdIn:list, -OrdOut:list, +PosIn:list, -PosOut:list) is det[private]
dfs3(+Arcs:list, +VisitedIn:list, -VisitedOut:list, +Path:list, +Negations:int, +OlonIn:list, -OlonOut:list, +OrdIn:list, -OrdOut:list, +PosIn:list, -PosOut:list) is det[private]
check_cycle(+Node:list, +Path:list, +OlonIn:list, -OlonOut:list, +OrdIn:list, -OrdOut:list, +PosIn:list, -PosOut:list) is det[private]
get_cycle(+Node:list, +Path:list, -Cycle:list, -Negations:int) is det[private]
get_cycle2(+Node:list, +Path:list, -Cycle:list, +NegsIn:int, -NegsOut:int) is det[private]
classify_cycle(+Negs:int, +Cycle:list, +OlonIn:list, -OlonOut:list, +OrdIn:list, -OrdOut:list, +PosIn:list, -PosOut:list) is det[private]
update_negation(+NegsIn1:int, +NegsIn2:int, -NegsOut:int) is det[private]
set_append(+Element:callable, +Set:list, +SetOut:list) is det[private]
extract_ids(+Cycles:list, -IDs:list) is det[private]
extract_ids2(+Cycles:list, +IdsIn:list, -IdsOut:list) is det[private]
extract_ids3(+Cycle:list, +IdsIn:list, -IdsOut:list) is det[private]
divide_rules(+RulesIn:list, +IDs:list, -Members:list, -Nonmembers:list) is det[private]
get_headless_rules(+RulesIn:list, +HeadlessIn:list, -HeadlessOut:list) is det[private]
olon_chks(+RulesIn:list, -NMRCheck:list, +Counter:int) is det[private]
assign_unique_ids(+ListIn:list, -ListOut:list) is det[private]
assign_unique_ids2(+ListIn:list, -ListOut:list, +Counter:int) is det[private]
create_dcc_rules(+Rc, +Module) is det[private]