{"id":13780604,"url":"https://github.com/tcort/tcbasic","last_synced_at":"2025-04-14T13:40:31.985Z","repository":{"id":27471729,"uuid":"30951027","full_name":"tcort/tcbasic","owner":"tcort","description":"tcbasic is a small BASIC Interpreter written in C.","archived":false,"fork":false,"pushed_at":"2022-06-02T10:13:46.000Z","size":292,"stargazers_count":17,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T02:45:58.170Z","etag":null,"topics":["basic","interpreter","tinybasic"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tcort.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2015-02-18T03:49:55.000Z","updated_at":"2025-03-23T00:04:51.000Z","dependencies_parsed_at":"2022-08-07T13:00:12.526Z","dependency_job_id":null,"html_url":"https://github.com/tcort/tcbasic","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tcort%2Ftcbasic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tcort%2Ftcbasic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tcort%2Ftcbasic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tcort%2Ftcbasic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tcort","download_url":"https://codeload.github.com/tcort/tcbasic/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248889816,"owners_count":21178302,"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":["basic","interpreter","tinybasic"],"created_at":"2024-08-03T18:01:17.735Z","updated_at":"2025-04-14T13:40:31.951Z","avatar_url":"https://github.com/tcort.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# tcbasic\n\ntcbasic is a small [BASIC](http://en.wikipedia.org/wiki/BASIC) Interpreter\nwritten in [C](http://en.wikipedia.org/wiki/C_%28programming_language%29).\n\n## Current Status\n\nThe \"basics\" are done and working. The interpreter implements the\n[Tiny BASIC](http://en.wikipedia.org/wiki/Tiny_BASIC) dialect of BASIC\nwith added support for floating point numbers and many of the built-in mathematical\nfunctions in [Dartmouth BASIC](http://en.wikipedia.org/wiki/Dartmouth_BASIC).\nDevelopment will continue with the goal of implementing successively more\ncomplete dialects of BASIC.\n\n## Requirements\n\n* C compiler and standard build tools (make, sh, ...).\n* [cmake](https://cmake.org/)\n\n## Building\n\nStandard cmake build (`make test` runs the test suite):\n\n    $ cd bin\n    $ cmake ..\n    $ make\n    $ make test\n    # make install\n\n## Using\n\nStart the interpreter in interactive mode:\n\n    $ tcbasic\n\nExecute a program from a file in batch mode:\n\n    $ tcbasic sample.bas\n\n## Example Program\n\n    10 REM Square Root Calculator using Newton's Method\n    \n    100 LET X = 1337\n    400 GOSUB 1000\n    500 PRINT \"The square root of \",X,\" is approximately \",Y\n    600 END\n    \n    1000 REM Calculate the square root of a given Number\n    1001 REM Expects input to be in X. Output will be in Y.\n    1002 REM Uses Z as a temporary variable.\n    1050 LET Y = 0.5 * X\n    1100 LET Z = Y\n    1200 LET Y = Y-(((Y^2)-X)/(2*Y))\n    1300 IF Z \u003c\u003e Y THEN GOTO 1100\n    1400 RETURN\n\n## Language Reference\n\nSee `LANG.md`\n\n## License\n\nSee `COPYING` for the full license. Here's a summary:\n\n    tcbasic - a small BASIC Interpreter written in C.\n    Copyright (C) 2015, 2016, 2017, 2018, 2020  Thomas Cort \u003clinuxgeek@gmail.com\u003e\n    \n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n    \n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n    \n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftcort%2Ftcbasic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftcort%2Ftcbasic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftcort%2Ftcbasic/lists"}