Skip to content

Commit e9653c4

Browse files
ascertain uniqueness of names
1 parent b0a92bd commit e9653c4

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

scripts/preprocess.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55

66
samples = []
77
for i, file in enumerate(parse_dir('../data/beauty')):
8-
anonymous, _ = enum_references(file)
8+
try:
9+
anonymous, _ = enum_references(file)
10+
except ValueError:
11+
continue
912
name, scope, holes = tokenize_file(anonymous)
1013
if len(holes) != 0:
1114
samples.append((name, scope, holes))

src/Name/data/agda/reader.py

+2
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ def parse_term(term_json: dict) -> AgdaTerm[str]:
6868

6969

7070
def enum_references(file: File[str]) -> tuple[File[int], dict[int, str]]:
71+
if len(file.scope) != len(set(entry.name for entry in file.scope)):
72+
raise ValueError(f'{file.name} contains duplicate declaration names')
7173
name_to_index = defaultdict(lambda: -1, {declaration.name: idx for idx, declaration in enumerate(file.scope)})
7274
index_to_name = {v: k for k, v in name_to_index.items()}
7375
return (

0 commit comments

Comments
 (0)