Interpreter and Compiler Project

Programming Like It's 1975!

Welcome to Damian Gareth Walker's Tiny BASIC Portal! Tiny BASIC is a subset of the BASIC programming language, originally developed in 1975 by Dennis Allison and others. It was designed for hobbyists who couldn't afford the cost of a full Microsoft BASIC package, or didn't have enough memory to run it. It was meant to be easily extensible, and people extended it from pretty early on.

While very simple and easy to learn, it isn't an ideal teaching language any more. It's limited, and lacks many of the structural elements necessary to teach good programming practice. But it's a fun little language for hobbyists to play around with. It would be great for a JAM or a Hackathon, providing a challenge to programmers to create something useful or entertaining with such a simple language.

The site will be centred around Damian Gareth Walker's implementation of Tiny BASIC from 2019. This version sticks mainly to the original specification by Dennis Allison. It adds just two things: a REM statement for comments, and more versatile line numbering, making line numbers optional and allowing higher line numbers than the original 255.

On here you'll find downloads for Tiny BASIC itself, some programs and subroutines, documentation, news and blog posts and hopefully some discussion as time goes on. If you have any questions you can submit a comment, or send me an email using the link below.

Have fun!


Really interesting to see a compiler and interpreter for an old language, it will take me a bit to understand how it works though.

Dotan Krispin - 14:03, 22/10/2019

Thanks, Dotan! Luckily Tiny BASIC is an easy language to understand. And I hope that the copious comments I've put in the C source makes the compiler itself reasonably easy to follow, even for those who don't know C that well.

Damian Gareth Walker - 05:40, 25/10/2019

A great project! Well done!

James - 15:31, 10/12/2019

Thanks for your feedback James, I really appreciate it!

Damian Gareth Walker - 15:40, 10/12/2019

Hey! Cool little language. When you're stuck with only a few variable names, a single integer data type, and just four operations it's still amazing how much you can get done.

I happened to stumble upon Tiny BASIC at Rosetta Code and wrote a few examples for it. I hope they're useful

thebigh - 01:35, 14/10/2020

Thanks, thebigh! I appreciate your additions tot he Rosetta Code site, too! You'll be pleased to know that the bug you reported on another page is now fixed, and Tiny BASIC 1.0.3 is available for download if you're still playing around with it.

Damian Gareth Walker - 04:58, 09/02/2021

How come I didn't know about this until now? Tiny Basic inspired some of my best work, and here we have a wonderful resource. Thank you!

Felix - 13:22, 13/03/2022

New Comment

Yes No