From 6a104bf8e2baea162d7f9f1d439dd8f671ddd413 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Wed, 4 Feb 2015 18:17:03 +0100 Subject: Clean up monkey.prolog.util --- monkey/edits.py | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'monkey/edits.py') diff --git a/monkey/edits.py b/monkey/edits.py index 58843f6..3e0ae08 100644 --- a/monkey/edits.py +++ b/monkey/edits.py @@ -170,31 +170,29 @@ def get_edits_from_traces(traces): # Update the submissions/queries counters; rename variables first to # remove trivial differences. for submission in trace_submissions: - tokens = tokenize(submission) - rename_vars(tokens) - code = stringify(tokens) + code = stringify(rename_vars(tokenize(submission))) submissions[code] += 1 for query in trace_queries: - tokens = tokenize(query) - rename_vars(tokens) - code = stringify(tokens) + code = stringify(rename_vars(tokenize(query))) queries[code] += 1 # Get edits. + done = set() for path in get_paths(nodes[0]): for i in range(len(path)): - start = list(remove_punct(path[i])) - var_names = rename_vars(start) - start_t = tuple(start) + var_names = {} + start = remove_punct(path[i]) + start_t = tuple(rename_vars(start, var_names)) for j in range(len(path[i+1:])): + var_names_copy = {k: v for k, v in var_names.items()} end = list(remove_punct(path[i+1+j])) - rename_vars(end, var_names) - end_t = tuple(end) + end_t = tuple(rename_vars(end, var_names_copy)) - if start_t != end_t: - edit = (start_t, end_t) + edit = (start_t, end_t) + if start_t != end_t and edit not in done: + done.add(edit) edits[edit] += 1 lines[start_t] += 1 -- cgit v1.2.1