Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LittleBasic

A toy BASIC-like language implemented using Antlr4 and Java.

It's just an excuse to play with Antlr and language creation. It's small and simple but it has most constructs used in structured programming.

Syntax

Check the grammar file src/main/antlr4/basic/LittleBasic.g4 and the test files src/test/resources/*.bas

Example:

REM Greatest common divisor
INPUT "A=" ain
INPUT "B=" bin
a = VAL(ain)
b = VAL(bin)

WHILE b > 0
    t = a MOD b
    a = b
    b = t
END

PRINT "GCD=" + a

Output:

A= 36
B= 27
GCD=9

Building

It's built with Maven, so simply execute this in the project directory:

mvn install

You'll find the jar in the /target directory.

Running

In the console:

java -jar LittleBasic.jar /path/to/MyAwesomeProgram.bas

Limitations/TODO

  • Limited data types - only integers and strings
  • No functions and subroutines
  • Variables have global scope only
  • No file I/O
  • Only a few built-in functions
  • No support for drawing
  • No interactive mode

Enjoy!

About

A toy BASIC language in Java

Topics

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages