edit boa task

This commit is contained in:
Jan-Niclas Loosen 2025-01-03 21:21:22 +01:00
parent 264a0b1211
commit a20667f720
5 changed files with 1049491 additions and 0 deletions

25
boa/aufgabe_01_a.boa Normal file
View File

@ -0,0 +1,25 @@
# Java-Job: 111005
# Python-Job: 111006
# Includes all revisions
p: Project = input;
# Prepare output variables
relative_list: output mean[string] of float;
statement_counter := visitor {
before node: Statement -> {
if(node.kind == StatementKind.TRY or node.kind == StatementKind.WITH)
relative_list[p.name] << 1;
else
relative_list[p.name] << 0;
}
};
visit(p, visitor {
before node: CodeRepository -> {
snapshot := getsnapshot(node);
foreach (i: int; def(snapshot[i]))
visit(snapshot[i], statement_counter);
}
});

46
boa/aufgabe_01_b.boa Normal file
View File

@ -0,0 +1,46 @@
# Java-Job: 111128
# Python-Job: 111124
# Includes all revisions
p: Project = input;
# Prepare output variables
relative_list: output mean[string][int] of float;
# Temporary variables
cur_date: time;
statement_counter := visitor {
before node: Statement -> {
if(node.kind == StatementKind.TRY or node.kind == StatementKind.WITH)
relative_list[p.name][yearof(cur_date)] << 1;
else
relative_list[p.name][yearof(cur_date)] << 0;
}
};
visit(p, visitor {
before node: CodeRepository -> {
for (minus_year: int=22; minus_year >= 0; minus_year--) {
cur_date = addyear(now(), -minus_year);
snapshot := getsnapshot(node, cur_date);
foreach (i: int; def(snapshot[i]))
visit(snapshot[i], statement_counter);
}
}
});
visit(p, visitor {
before node: CodeRepository -> {
for (minus_year: int=22; minus_year >= 0; minus_year--) {
cur_date = addyear(now(), -minus_year);
snapshot := getsnapshot(node, cur_date);
if (def(snapshot))
foreach (i: int; def(snapshot[i]))
visit(snapshot[i], statement_counter);
}
}
});

91155
boa/boa-job111005-output.txt Normal file

File diff suppressed because it is too large Load Diff

102408
boa/boa-job111006-output.txt Normal file

File diff suppressed because it is too large Load Diff

855857
boa/boa-job111124-output.txt Normal file

File diff suppressed because it is too large Load Diff