#!/usr/bin/env python3 """calc.py — command-line arithmetic calculator. Usage: python calc.py "" """ import sys from calc.evaluator import EvalError, evaluate from calc.lexer import LexError, tokenize from calc.parser import ParseError, parse def main(): if len(sys.argv) != 2: print("Usage: calc.py ", file=sys.stderr) sys.exit(1) expr = sys.argv[1] try: tokens = tokenize(expr) ast = parse(tokens) result = evaluate(ast) print(result) except (LexError, ParseError, EvalError) as e: print(f"Error: {e}", file=sys.stderr) sys.exit(1) if __name__ == '__main__': main()