Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nymacro/tentcl
A hand-parsed Tcl [subset] interpreter.
https://github.com/nymacro/tentcl
Last synced: 2 months ago
JSON representation
A hand-parsed Tcl [subset] interpreter.
- Host: GitHub
- URL: https://github.com/nymacro/tentcl
- Owner: nymacro
- License: zlib
- Created: 2015-11-18T12:09:52.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2021-01-11T07:14:30.000Z (about 4 years ago)
- Last Synced: 2024-04-24T16:14:53.291Z (9 months ago)
- Language: C
- Size: 214 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- AwesomeInterpreter - tentcl
README
# Tentcl
Tentcl is a small hand-parsed Tcl interpreter. This project was undertaken
to better my understanding of the parsing and interpretation of programming
languages.It is an old project which was started in 2006. It is by no means complete;
nor is it well-written. It is extremely inefficient in its execution, uses
only lexical variables, and does not support much of the syntax of the Tcl
l anguage.For license details, see LICENSE
Aaron Marks
nymacro *AT* gmail *DOT* com## BUILD REQUIREMENTS
In additional to the Tentcl source code, you will also need the `mathexpr`
source code, which must be placed in the Tentcl root directory. e.g.```
tentcl
|- src/
|- mathexpr/
|- dstructs/
|- lineread/
|- Makefile
```## BUILDING
To build the `tclsh` program, run the following. Run `./tclsh` to run a Tcl REPL, or
`./tclsh --help` for other execution options.```sh
cd tentcl
make all
```## TESTING
```sh
make test
```## LIMITATIONS
* Terrible runtime.
* Terrible spaghetti-code parsing.
* No non-numerical comparisons for conditionals (`expr` uses `mathexpr`, which does not
support non-`int` types)
* Inefficient.
* Not thoroughly tested.
* Other things.