Files
context/_reports/rootset.ll
T
2019-09-28 10:14:18 -04:00

40 lines
1.0 KiB
LLVM

/*
* @progname rootset.ll
* @version 0.5
* @author Robert Simms
* @category
* @output Text
* @description
Given a list of surnames, finds the set of all people with those
surnames, then reports on the heads of each line within that set.
*/
proc main() {
indiset(rootset)
indiset(tempset)
getstr(surname, "Specify a surname")
while(nestr(surname, "")) {
genindiset(concat("*/", surname), tempset)
set(rootset, tempset)
getstr(surname, "Specify another surname [return if done]")
}
set( tempset, childset(rootset))
set( rootset, difference(rootset, tempset))
call lprintset(rootset)
call printset(rootset)
}
proc printset(x) {
forindiset(x, x_ind, y, x_n) {
key(x_ind) " - " name(x_ind) nl()
}
}
proc lprintset(x) {
forindiset(x, x_ind, y, x_n) {
print(key(x_ind), " - ", name(x_ind), nl())
}
}