forked from jsiek/deduce
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflags.py
More file actions
109 lines (75 loc) · 2.01 KB
/
flags.py
File metadata and controls
109 lines (75 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
from enum import Enum
import os
from pathlib import Path
class VerboseLevel(Enum):
NONE = 0
CURR_ONLY = 1
FULL = 2
# flag for displaying uniquified names
unique_names = False
def set_unique_names(b):
global unique_names
unique_names = b
def get_unique_names():
global unique_names
return unique_names
# flag for verbose trace
verbose = False
def set_verbose(b):
global verbose
verbose = b
def get_verbose():
global verbose
if verbose == VerboseLevel.NONE:
return False
return verbose
def print_verbose(msg_thunk):
if get_verbose():
print(msg_thunk())
# flag for expect fail
expect_fail_flag = False
def expect_fail():
return expect_fail_flag
def set_expect_fail(b):
global expect_fail_flag
expect_fail_flag = b
# flag for expect static_fail
expect_static_fail_flag = False
def expect_static_fail():
return expect_static_fail_flag
def set_expect_static_fail(b):
global expect_static_fail_flag
expect_static_fail_flag = b
# flag for import directories
import_directories = set()
def init_import_directories():
import_directories.add(".")
lib_config_path = Path(os.path.expanduser("~/.config/deduce/libraries"))
if lib_config_path.exists() and lib_config_path.is_file():
with open(lib_config_path, 'r') as lib_config_file:
for line in lib_config_file:
import_directories.add(line.strip())
def get_import_directories():
global import_directories
if (get_verbose()):
print("import directories: ", import_directories)
return import_directories
def add_import_directory(dir):
global import_directories
import_directories.add(dir)
# flag for recursive descent parser
recursive_descent = True
def get_recursive_descent():
global recursive_descent
return recursive_descent
def set_recursive_descent(b):
global recursive_descent
recursive_descent = b
# flag for quiet mode (primarily for testing errors)
quiet_mode = False
def get_quiet_mode():
global quiet_mode
return quiet_mode
def set_quiet_mode(b):
global quiet_mode
quiet_mode = b