-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathextra_code.py
More file actions
80 lines (56 loc) · 1.62 KB
/
extra_code.py
File metadata and controls
80 lines (56 loc) · 1.62 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
import NVMERVS_ROMANVS as num
class VARIABLE():
varType = 'NONE'
def __init__(self,value):
self.value = value
def STRING(self):
val = []
for ele in self.__str__():
val.append(CHAR(ele))
return STRING(val)
class NUMBER(VARIABLE):
varType = "NUMBER"
def __str__(self):
return num.to_RomNum(self.value)
class RATIO(VARIABLE):
varType = "RATIO"
def __str__(self):
return num.to_RomNum(self.value)
class BOOLEAN(VARIABLE):
varType = "BOOLEAN"
def __str__(self):
return "VERVM" if self.value == True else "FALSVM"
class CHAR(VARIABLE):
varType = "CHAR"
def __str__(self):
return str(self.value)
def STRING(self):
return STRING(self.value)
def PRINT(self):
print(self.value)
class ARRAY():
def __init__(self,size,type,elements=[]):
self.size = size
self.type = type
self.elements = elements
def EDIT_ARR(self,index,value):
self.elements[index] = value
def ASSIGN_ARR(self,new_arr):
self.elements = new_arr
def DELETE_ELE(self,index):
self.elements.pop(index)
self.size -= 1
def __str__(self):
return str(self.value)
def STRING(self):
val = []
for ele in self.__str__():
val.append(CHAR(ele))
return STRING(val)
class STRING(ARRAY):
def __init__(self,chars):
size = len(chars)
super().__init__(size=size,type='CHAR',elements=chars)
def PRINT(self):
for chr in self.elements:
chr.PRINT()