File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 55;; S-Expr -> Expr
66(define (parse s)
77 (match s
8- [(? integer?) (Int s)]
9- [_ (error "Parse error " )]))
8+ [(? exact- integer?) (Int s)]
9+ [_ (error "Parse error " )]))
Original file line number Diff line number Diff line change 55;; S-Expr -> Expr
66(define (parse s)
77 (match s
8- [(? integer?) (Int s)]
8+ [(? exact- integer?) (Int s)]
99 [(list (? op1? o) e) (Prim1 o (parse e))]
1010 [_ (error "Parse error " )]))
1111
Original file line number Diff line number Diff line change 55;; S-Expr -> Expr
66(define (parse s)
77 (match s
8- [(? integer?) (Int s)]
8+ [(? exact- integer?) (Int s)]
99 [(list (? op1? o) e) (Prim1 o (parse e))]
1010 [(list 'if (list 'zero? e1) e2 e3)
1111 (IfZero (parse e1) (parse e2) (parse e3))]
Original file line number Diff line number Diff line change 55;; S-Expr -> Expr
66(define (parse s)
77 (match s
8- [(? integer?) (Int s)]
8+ [(? exact- integer?) (Int s)]
99 [(? boolean?) (Bool s)]
1010 [(? char?) (Char s)]
1111 [(list (? op1? o) e) (Prim1 o (parse e))]
Original file line number Diff line number Diff line change 55;; S-Expr -> Expr
66(define (parse s)
77 (match s
8- [(? integer?) (Int s)]
8+ [(? exact- integer?) (Int s)]
99 [(? boolean?) (Bool s)]
1010 [(list (? op1? o) e) (Prim1 o (parse e))]
1111 [(list 'if e1 e2 e3)
Original file line number Diff line number Diff line change 66(define (parse s)
77 (match s
88 ['eof (Eof)]
9- [(? integer?) (Int s)]
9+ [(? exact- integer?) (Int s)]
1010 [(? boolean?) (Bool s)]
1111 [(? char?) (Char s)]
1212 [(list (? op0? o)) (Prim0 o)]
Original file line number Diff line number Diff line change 55;; S-Expr -> Expr
66(define (parse s)
77 (match s
8- [(? integer? s) (Int s)]
8+ [(? exact- integer? s) (Int s)]
99 [(? boolean? s) (Bool s)]
1010 [(? char? s) (Char s)]
1111 ['eof (Eof)]
Original file line number Diff line number Diff line change 55;; S-Expr -> Expr
66(define (parse s)
77 (match s
8- [(? integer?) (Int s)]
8+ [(? exact- integer?) (Int s)]
99 [(? boolean? s) (Bool s)]
1010 [(? char? s) (Char s)]
1111 ['eof (Eof)]
Original file line number Diff line number Diff line change 55;; S-Expr -> Expr
66(define (parse s)
77 (match s
8- [(? integer?) (Int s)]
8+ [(? exact- integer?) (Int s)]
99 [(? boolean?) (Bool s)]
1010 [(? char?) (Char s)]
1111 [(? string?) (Str s)]
Original file line number Diff line number Diff line change 55;; S-Expr -> Expr
66(define (parse s)
77 (match s
8- [(? integer?) (Int s)]
8+ [(? exact- integer?) (Int s)]
99 [(? boolean?) (Bool s)]
1010 [(? char?) (Char s)]
1111 ['eof (Eof)]
You can’t perform that action at this time.
0 commit comments