input format
a problem we avoided
- all our interpreters so far have taken s-expressions as input
- parens gave nested list structure
- REP loop parses s-expressions into nested lists for us
example
- consider the expression
‘((y := 2) (x := (y + 1)) (print (x + y)))
- parsed by REP as a list of lists [draw BPD]
- corresponds to this abstract syntax tree