Python to RPN converter
06-28-2018, 08:04 PM
Post: #38
 Thomas Klemm Senior Member Posts: 2,006 Joined: Dec 2013
RE: Python to RPN converter
While the syntax of hy is similar to Clojure we can still use a while-loop and mutate local variables.
This makes the translation from Python straight forward.
We can even break out of a loop.

I've translated a few of the other examples:

Celsius to Fahrenheit
Code:
(defn fahrenheit [celsius]   (+ (/ (* 9 celsius) 5) 32))

Code:
(defn qe [a b c]   (setv     p (/ b a -2)     q (/ c a)     D (sqrt (- (** p 2) q)))   [(+ p D) (- p D)])

Greatest Common Divisor
Code:
(defn gcd [a b]   (while (!= b 0)     (setv        r (% a b)       a b       b r))   a)

Factors of a Number
Code:
(defn factor [n]   (setv p 2)   (while (> n 1)     (if (> (** p 2) n)       (do         (print n)         (break)))     (while (= (% n p) 0)       (do         (print p)         (setv n (// n p))))     (setv p (+ p 1))))

Circumference of an Ellipse
Code:
(defn ellipse [a b]   (setv     u 1     v (/ b a)     s (/ (+ 1 (** v 2)) 2)     t 1)   (while (= 0 0)     (setv m (/ (+ u v) 2))     (if (= m u)       (break))     (setv       w (/ (- u v) 2)       v (sqrt (* u v))       u m       s (- s (* t (** w 2)))       t (* t 2)))   (/ (* 2 pi a s) u))

It appears that print is handled as a function in hy.
Thus I had to extend the compiler a bit.
Otherwise translating the factor function would lead to errors.

It is mapped to AVIEW:
Code:
function = {     # built-in     'abs' : 'ABS',     'int' : 'INT',     'round' : 'RND',     'print' : 'AVIEW',     # math (...)
 « Next Oldest | Next Newest »

 Messages In This Thread Python to RPN converter - tcab - 02-16-2018, 05:27 AM RE: Python to RPN converter - pier4r - 02-16-2018, 06:26 AM RE: Python to RPN converter - salvomic - 02-16-2018, 09:47 AM RE: Python to RPN converter - rprosperi - 02-16-2018, 02:34 PM RE: Python to RPN converter - charger73 - 02-16-2018, 02:38 PM RE: Python to RPN converter - Nigel (UK) - 02-16-2018, 03:04 PM RE: Python to RPN converter - tcab - 02-16-2018, 11:06 PM RE: Python to RPN converter - compsystems - 02-17-2018, 01:06 AM RE: Python to RPN converter - Massimo Gnerucci - 02-17-2018, 08:42 AM RE: Python to RPN converter - StephenG1CMZ - 02-18-2018, 09:21 AM RE: Python to RPN converter - tcab - 02-18-2018, 10:27 AM RE: Python to RPN converter - StephenG1CMZ - 02-18-2018, 02:32 PM RE: Python to RPN converter - tcab - 02-18-2018, 09:25 PM RE: Python to RPN converter - Thomas Okken - 02-18-2018, 12:59 PM RE: Python to RPN converter - tcab - 02-18-2018, 01:13 PM RE: Python to RPN converter - StephenG1CMZ - 02-19-2018, 07:16 AM RE: Python to RPN converter - tcab - 02-19-2018, 07:29 AM RE: Python to RPN converter - StephenG1CMZ - 02-19-2018, 07:48 AM RE: Python to RPN converter - tcab - 02-19-2018, 08:17 AM RE: Python to RPN converter - pier4r - 02-19-2018, 11:15 AM RE: Python to RPN converter - StephenG1CMZ - 02-19-2018, 07:36 PM RE: Python to RPN converter - StephenG1CMZ - 02-20-2018, 02:28 PM RE: Python to RPN converter - tcab - 02-20-2018, 10:39 PM RE: Python to RPN converter - MikeOShea - 06-01-2018, 01:39 AM RE: Python to RPN converter - Thomas Klemm - 06-23-2018, 10:33 PM RE: Python to RPN converter - tcab - 06-24-2018, 10:56 PM RE: Python to RPN converter - Thomas Klemm - 06-25-2018, 05:00 PM RE: Python to RPN converter - Vincent Weber - 06-25-2018, 07:13 AM RE: Python to RPN converter - Thomas Klemm - 06-28-2018, 04:07 PM RE: Python to RPN converter - Thomas Klemm - 06-28-2018 08:04 PM RE: Python to RPN converter - tcab - 11-02-2018, 04:43 AM RE: Python to RPN converter - Namir - 11-03-2018, 07:32 PM RE: Python to RPN converter - tcab - 11-04-2018, 06:06 AM RE: Python to RPN converter - Thomas Okken - 11-04-2018, 02:02 PM RE: Python to RPN converter - tcab - 11-04-2018, 10:25 PM RE: Python to RPN converter - Namir - 11-04-2018, 08:07 PM RE: Python to RPN converter - tcab - 11-04-2018, 09:59 PM RE: Python to RPN converter - cdmackay - 12-11-2018, 07:05 PM RE: Python to RPN converter - tcab - 12-11-2018, 10:46 PM RE: Python to RPN converter - cdmackay - 12-11-2018, 11:27 PM RE: Python to RPN converter - pascal.jakobs - 05-22-2020, 05:53 PM RE: Python to RPN converter - compsystems - 06-09-2020, 04:12 PM RE: Python to RPN converter - Eddie W. Shore - 06-12-2020, 03:05 PM RE: Python to RPN converter - tcab - 06-12-2021, 03:42 AM RE: Python to RPN converter - tcab - 06-12-2021, 03:54 AM RE: Python to RPN converter - tcab - 09-15-2023, 11:09 AM RE: Python to RPN converter - dm319 - 09-29-2023, 08:26 PM RE: Python to RPN converter - Thomas Klemm - 02-16-2024, 02:35 PM

User(s) browsing this thread: 1 Guest(s)