Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tcort/tcbasic
tcbasic is a small BASIC Interpreter written in C.
https://github.com/tcort/tcbasic
basic interpreter tinybasic
Last synced: 26 days ago
JSON representation
tcbasic is a small BASIC Interpreter written in C.
- Host: GitHub
- URL: https://github.com/tcort/tcbasic
- Owner: tcort
- License: gpl-3.0
- Created: 2015-02-18T03:49:55.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2022-06-02T10:13:46.000Z (over 2 years ago)
- Last Synced: 2024-08-03T18:15:13.802Z (3 months ago)
- Topics: basic, interpreter, tinybasic
- Language: C
- Homepage:
- Size: 285 KB
- Stars: 13
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: COPYING
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
- AwesomeInterpreter - tcbasic
README
# tcbasic
tcbasic is a small [BASIC](http://en.wikipedia.org/wiki/BASIC) Interpreter
written in [C](http://en.wikipedia.org/wiki/C_%28programming_language%29).## Current Status
The "basics" are done and working. The interpreter implements the
[Tiny BASIC](http://en.wikipedia.org/wiki/Tiny_BASIC) dialect of BASIC
with added support for floating point numbers and many of the built-in mathematical
functions in [Dartmouth BASIC](http://en.wikipedia.org/wiki/Dartmouth_BASIC).
Development will continue with the goal of implementing successively more
complete dialects of BASIC.## Requirements
* C compiler and standard build tools (make, sh, ...).
* [cmake](https://cmake.org/)## Building
Standard cmake build (`make test` runs the test suite):
$ cd bin
$ cmake ..
$ make
$ make test
# make install## Using
Start the interpreter in interactive mode:
$ tcbasic
Execute a program from a file in batch mode:
$ tcbasic sample.bas
## Example Program
10 REM Square Root Calculator using Newton's Method
100 LET X = 1337
400 GOSUB 1000
500 PRINT "The square root of ",X," is approximately ",Y
600 END
1000 REM Calculate the square root of a given Number
1001 REM Expects input to be in X. Output will be in Y.
1002 REM Uses Z as a temporary variable.
1050 LET Y = 0.5 * X
1100 LET Z = Y
1200 LET Y = Y-(((Y^2)-X)/(2*Y))
1300 IF Z <> Y THEN GOTO 1100
1400 RETURN## Language Reference
See `LANG.md`
## License
See `COPYING` for the full license. Here's a summary:
tcbasic - a small BASIC Interpreter written in C.
Copyright (C) 2015, 2016, 2017, 2018, 2020 Thomas Cort
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .