{"id":15693601,"url":"https://github.com/qequ/retruco","last_synced_at":"2025-05-08T04:41:50.688Z","repository":{"id":115065187,"uuid":"367963414","full_name":"qequ/retruco","owner":"qequ","description":"An Interpreter and Virtual Machine for the TIMBA language","archived":false,"fork":false,"pushed_at":"2021-10-21T00:03:42.000Z","size":179,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-08T04:41:39.816Z","etag":null,"topics":["language","timba","virtual-machine"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qequ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-16T19:01:44.000Z","updated_at":"2024-01-07T04:34:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"e86c3479-09e9-466f-bbd6-1dbe80f48c58","html_url":"https://github.com/qequ/retruco","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qequ%2Fretruco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qequ%2Fretruco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qequ%2Fretruco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qequ%2Fretruco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qequ","download_url":"https://codeload.github.com/qequ/retruco/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253002793,"owners_count":21838636,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["language","timba","virtual-machine"],"created_at":"2024-10-03T18:46:21.298Z","updated_at":"2025-05-08T04:41:50.645Z","avatar_url":"https://github.com/qequ.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Retruco\n\n![Retroco_logo](/src/logo/timba.png)\n\nA virtual machine and interpreter for the [TIMBA](http://dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ddafb-timba-2018.pdf) language.\n\n\nUn intérprete para el lenguaje de programación [TIMBA](http://dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ddafb-timba-2018.pdf)\n\n# Prerequisites\n\n1. Python3\n2. Tkinter (if you want to use the gui)\n\nTo install Tkinter;\n```\npip install tk\n```\n\n# Usage \n\n```\npython retruco.py\n```\n\n# Example programs\n\n## Hello Timba\nThe language can't handle strings so the most basic program is taking a card from a stack;\n\n```\nUCP EJECUTE CON LAS SIGUIENTES CARTAS\nLA PILA HOLATIMBA TIENE 1 DE ESPADAS BOCA ARRIBA;\n\nDEFINICION DE PROGRAMA\nTOME UNA CARTA DE LA PILA HOLATIMBA\n\n```\n\n## Sorting a stack\n\n```\nUCP EJECUTE CON LAS SIGUIENTES CARTAS\nLA PILA INPUT TIENE       10 DE BASTOS BOCA ARRIBA -\n                          7 DE BASTOS BOCA ARRIBA -\n                          1 DE ESPADAS BOCA ARRIBA -\n                          5 DE OROS BOCA ARRIBA -\n                          11 DE COPAS BOCA ARRIBA -\n                          2 DE COPAS BOCA ARRIBA -\n                          6 DE ESPADAS BOCA ARRIBA,\n\nLA PILA TMPSTACK NO TIENE CARTAS,\nLA PILA AUXILIAR NO TIENE CARTAS,\nLA PILA AUXILIAR2 NO TIENE CARTAS;\n\n\nDEFINICION DE PROGRAMA\nMIENTRAS LA PILA INPUT NO ESTA VACIA\n\n    TOME UNA CARTA DE LA PILA INPUT\n\n    MIENTRAS LA PILA TMPSTACK NO ESTA VACIA\n        SI LA CARTA ES DE MENOR O IGUAL VALOR QUE TOPE DE PILA TMPSTACK\n            # TOMAR EL TOPE DE PILA DE TMPSTACK Y PONERLO EN STACK DE INPUT\n            # ANTES DEPOSITAR LA CARTA TMP EN AUXILIAR\n            DEPOSITE LA CARTA EN PILA AUXILIAR\n\n            TOME UNA CARTA DE PILA TMPSTACK\n            DEPOSITE LA CARTA EN PILA INPUT\n            TOME UNA CARTA DE PILA AUXILIAR\n\n\n        SINO\n            # NO HAY BREAK ASI QUE HAY QUE SACAR TODAS LAS CARTAS DE TMPSTACK ASI SE ROMPE EL WHILE\n\n            #depositamos tmp en auxiliar \n            DEPOSITE LA CARTA EN PILA AUXILIAR\n\n            MIENTRAS LA PILA TMPSTACK NO ESTA VACIA\n                TOME UNA CARTA DE PILA TMPSTACK\n                DEPOSITE LA CARTA EN PILA AUXILIAR2\n            REPITA\n\n            # recuperamos temp\n            TOME UNA CARTA DE PILA AUXILIAR\n        NADA MAS\n\n    REPITA\n\n    DEPOSITE LA CARTA EN PILA AUXILIAR\n\n    # caso de romper el while antes\n    SI LA PILA TMPSTACK ESTA VACIA Y LA PILA AUXILIAR2 NO ESTA VACIA\n        MIENTRAS LA PILA AUXILIAR2 NO ESTA VACIA\n            TOME UNA CARTA DE PILA AUXILIAR2\n            DEPOSITE LA CARTA EN PILA TMPSTACK\n        REPITA\n    SINO\n    NADA MAS\n\n    TOME UNA CARTA DE PILA AUXILIAR\n    DEPOSITE LA CARTA EN PILA TMPSTACK\n\nREPITA\n\n```\n\n# TODO\n- [ ] A setup script\n\n# License\nMIT License Copyright (c) 2021 Alvaro Frias\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqequ%2Fretruco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqequ%2Fretruco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqequ%2Fretruco/lists"}