{"id":19594298,"url":"https://github.com/maxilevi/interprete-applesoft-basic","last_synced_at":"2025-07-05T17:05:17.143Z","repository":{"id":107431264,"uuid":"337179602","full_name":"maxilevi/interprete-applesoft-basic","owner":"maxilevi","description":null,"archived":false,"fork":false,"pushed_at":"2021-02-15T23:57:07.000Z","size":1315,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-09T07:12:57.125Z","etag":null,"topics":["applesoft","basic","clojure","interpreter"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxilevi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-02-08T19:02:27.000Z","updated_at":"2021-03-18T18:13:37.000Z","dependencies_parsed_at":"2023-05-17T11:15:11.407Z","dependency_job_id":null,"html_url":"https://github.com/maxilevi/interprete-applesoft-basic","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/maxilevi%2Finterprete-applesoft-basic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxilevi%2Finterprete-applesoft-basic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxilevi%2Finterprete-applesoft-basic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxilevi%2Finterprete-applesoft-basic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxilevi","download_url":"https://codeload.github.com/maxilevi/interprete-applesoft-basic/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240867751,"owners_count":19870469,"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":["applesoft","basic","clojure","interpreter"],"created_at":"2024-11-11T08:43:07.830Z","updated_at":"2025-02-26T14:20:49.964Z","avatar_url":"https://github.com/maxilevi.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Intérprete de Applesoft Basic\n\nEn este trabajo práctico se pide desarrollar, en el lenguaje Clojure, un intérprete de Applesoft BASIC.\n\nEl intérprete a desarrollar debe ofrecer los dos modos de ejecución de Applesoft BASIC: ejecución inmediata y ejecución diferida.\n\nDeberá estar basado en un REPL (read-eval-print-loop) que acepte, además de sentencias de Applesoft BASIC, dos comandos de Apple DOS 3.3 (LOAD y SAVE).\n\nNo será necesario utilizar espacios para separar los distintos símbolos del lenguaje.\nSoportará tres tipos de datos:\n* números enteros\n* números de punto flotante\n* cadenas de caracteres\n\n## Ejemplos de Applesoft BASIC\n\n### `SINE.BAS`\n```bas\n100 PRINT \"X\",\"SIN(X)\"\n110 PRINT \"---\",\"------\"\n120 FOR I = 1 TO 19 : PRINT \" \"; : NEXT I\n130 FOR A = 0 TO 8 * ATN(1) STEP 0.1\n140 PRINT \"*\"\n150 PRINT INT (A * 100) / 100, \"   \";INT (SIN(A) * 100000) / 100000\n160 FOR I = 1 TO 19 + SIN(A) * 20 : PRINT \" \"; : NEXT I,A\n170 PRINT \"*\" : A = 8 * ATN(1)\n180 PRINT INT (A * 100) / 100, \"   \";INT (SIN(A) * 100000) / 100000\n190 FOR I = 1 TO 19 : PRINT \" \"; : NEXT I : PRINT \"*\"\n```\n\n### `FIBO.BAS`\n```bas\n05 PRINT \"FIBONACCI NUMBERS\"\n10 LET M% = 5000 : LET C% = 0\n20 LET X% = 0 : LET Y% = 1\n30 IF X% \u003e M% GOTO 100\n40 PRINT \"F(\" C% \") = \" X% : C% = C% + 1\n50 X% = X% + Y%\n60 IF Y% \u003e M% GOTO 100\n70 PRINT \"F(\" C% \") = \" Y% : C% = C% + 1\n80 Y% = X% + Y%\n90 GOTO 30\n100 END\n```\n\nSe pueden encontrar mas ejemplos en la carpeta `samples`\n\n### Ejecución\n```bash\nclj\n\nuser=\u003e(load-file \"basic.clj\")\n\nuser=\u003e(driver-loop)\n\n] LOAD SINE.BAS\n\n] RUN\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxilevi%2Finterprete-applesoft-basic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxilevi%2Finterprete-applesoft-basic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxilevi%2Finterprete-applesoft-basic/lists"}