Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,14 @@
|
|||
#lang racket
|
||||
|
||||
(define (calculate-RPN expr)
|
||||
(for/fold ([stack '()]) ([token expr])
|
||||
(printf "~a\t -> ~a~N" token stack)
|
||||
(match* (token stack)
|
||||
[((? number? n) s) (cons n s)]
|
||||
[('+ (list x y s ___)) (cons (+ x y) s)]
|
||||
[('- (list x y s ___)) (cons (- y x) s)]
|
||||
[('* (list x y s ___)) (cons (* x y) s)]
|
||||
[('/ (list x y s ___)) (cons (/ y x) s)]
|
||||
[('^ (list x y s ___)) (cons (expt y x) s)]
|
||||
[(x s) (error "calculate-RPN: Cannot calculate the expression:"
|
||||
(reverse (cons x s)))])))
|
||||
|
|
@ -0,0 +1 @@
|
|||
(calculate-RPN (in-port read (open-input-string "3.0 4 2 * 1 5 - 2 3 ^ ^ / +")))
|
||||
Loading…
Add table
Add a link
Reference in a new issue