다음 BNF(Backus Naur Form)에 가까운 문법으로 만들어진 수식의 값을 계산하는 프로그램을 작성한다.
expr ::= term | expr '+' term | expr '-' term
unary_op ::= '+' term | '-' term
term ::= '(' expr ')' | '(' unary_op ')' | literal
literal ::= [0-9]
수식 안에 공백은 없다. 수식은 (, ), +, -와 숫자 0부터 9까지로만 이루어진다. 입력으로 주어지는 수식은 모두 이 문법에 맞다고 가정해도 된다.
입력은 한 줄에 수식 하나씩 주어지고, 각 줄은 줄바꿈으로 끝난다. 수식의 길이는 200을 넘지 않는다. 빈 줄은 없으며, 입력은 파일 끝까지 이어진다.
각 수식마다 그 값을 정수로 한 줄에 하나씩 출력한다.