From 20deea66150e38a6c71989884b2ef2c0eb6b034a Mon Sep 17 00:00:00 2001 From: CrossNox Date: Tue, 29 Nov 2022 06:29:49 -0300 Subject: [PATCH] add chr --- src/rustint/core.clj | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/rustint/core.clj b/src/rustint/core.clj index 1ec3e97..4fefd6a 100644 --- a/src/rustint/core.clj +++ b/src/rustint/core.clj @@ -2093,6 +2093,16 @@ ; regs-de-act (se elimina el ultimo de ellos), cont-prg (pasa a ser el ultimo valor en la pila) y pila (se quita de ella el nuevo cont-prg). RETN (recur cod (pop regs-de-act) (last pila) (pop pila) mapa-regs) + ; CHR: Incrementa cont-prg en 1, quita de la pila dos elementos (un string y un indice), selecciona el char del string indicado por el indice y lo coloca al final de la pila. + CHR (let [ + next_cont_prg (inc cont-prg), + args (take-last 2 pila), + s (first args), + idx (second args), + ch (nth s idx) + next_pila (conj (vec (drop-last 2 pila)) ch), + ] (recur cod regs-de-act next_cont_prg next_pila mapa-regs) + ) ) ) )