1#
2# Copyright 2020, Data61, CSIRO (ABN 41 687 119 230)
3#
4# SPDX-License-Identifier: BSD-2-Clause
5#
6
7from target_objects import target_dir, structs, functions, const_globals
8from target_objects import symbols, sections, rodata, pairings, danger_set
9
10import syntax
11import objdump
12import logic
13
14f = open ('%s/Functions.txt' % target_dir)
15syntax.parse_and_install_all (f, None)
16f.close ()
17
18print 'Checking.'
19syntax.check_funs (functions)
20
21#print 'Pseudo-Compiling.'
22#pseudo_compile.compile_funcs (functions)
23
24#print 'Duplicate-sharing.'
25#pseudo_compile.combine_function_duplicates (functions)
26
27def run_pairings ():
28	for f in functions:
29		if f.startswith ('C.'):
30			f2 = 'mc_' + f[2:]
31		else:
32			f2 = f + '_refine'
33		if f2 in functions:
34			pair = logic.mk_pairing (functions, f, f2)
35			pairings[f] = [pair]
36			pairings[f2] = [pair]
37	print '%d pairing halves built.' % (len (pairings))
38
39run_pairings ()
40
41
42