Skip to content

Commit ab8127a

Browse files
committed
Add CLI example
1 parent b85b1f1 commit ab8127a

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

examples/cli/main.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#
2+
# Monic Framework
3+
#
4+
# Copyright (c) 2024 Cognica, Inc.
5+
#
6+
7+
import monic
8+
9+
10+
def main():
11+
parser = monic.expressions.ExpressionsParser()
12+
interpreter = monic.expressions.ExpressionsInterpreter()
13+
14+
# Ctrl-D to exit
15+
while True:
16+
try:
17+
code = input("monic> ")
18+
if not code:
19+
continue
20+
except KeyboardInterrupt:
21+
print()
22+
continue
23+
except EOFError:
24+
print()
25+
break
26+
27+
try:
28+
tree = parser.parse(code)
29+
result = interpreter.execute(tree)
30+
if result is not None:
31+
print(result)
32+
except KeyboardInterrupt:
33+
print()
34+
continue
35+
except Exception as e: # pylint: disable=broad-except
36+
print(e)
37+
38+
39+
if __name__ == "__main__":
40+
main()

0 commit comments

Comments
 (0)