blob: 831d57d904ccd4c9bb205a3dcf7f0e361ce73c96 (
plain)
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
|
from lexer import lex
from parser import parse
from interpreter import interpret
def _get_debug():
return True
def main():
print("### neb :)(:")
print("version: < 0")
idx = 1
while True:
inp = input(f"#{idx}> ")
if len(inp.strip()) == 0:
continue
try:
lexed = lex(inp)
if _get_debug():
acc = " ".join([f"{l}" for l in lexed])
print(f" - LEX: {acc}")
parsed = parse(lexed)
if _get_debug():
acc = " ".join([f"{p}" for p in parsed])
print(f" - PARSE: {acc}")
inter = interpret(parsed)
print(f"=> {inter}")
idx += 1
except Exception as e:
print(f"panic! {e}")
if __name__ == "__main__":
main()
|