|
@@ -163,21 +163,14 @@ def do_compile(inputfile, grammarfile, visitors=[], include_paths = [], mode="")
|
|
|
else:
|
|
|
# The outer for finally finished, so there were no includes remaining, thus terminate the infinite while loop
|
|
|
break
|
|
|
- tree_data = pickle.dumps(result["tree"], pickle.HIGHEST_PROTOCOL)
|
|
|
- new_result = fetch_cached(tree_data, mode)
|
|
|
- if new_result is None:
|
|
|
- result["tree"].fix_tracability(inputfile)
|
|
|
|
|
|
- for visitor in visitors:
|
|
|
- visitor.visit(result["tree"])
|
|
|
+ result["tree"].fix_tracability(inputfile)
|
|
|
|
|
|
- if visitors:
|
|
|
- result = visitors[-1].dump()
|
|
|
- make_cached(tree_data, result, mode)
|
|
|
- else:
|
|
|
- result = new_result
|
|
|
+ for visitor in visitors:
|
|
|
+ visitor.visit(result["tree"])
|
|
|
|
|
|
if visitors:
|
|
|
+ result = visitors[-1].dump()
|
|
|
return result
|
|
|
|
|
|
def main(input_file, grammar_file, mode, args=[]):
|