Shodan BASIC is a .NET Core application to interpreter the BASIC (Beginners' All-purpose Symbolic Instruction Code) programming language.

This language is easy to learn and flexible enough to offer a great entry in to programming. Shodan is still in active development and required Microsoft .NET Core 3.1 or greater to run. Newer version from require .NET 5.0 or greater.

Currently Shodan is in very early alpha. As such only limited functionality has been implemented


Version - Migrated to .NET 5.0

    Shodan BASIC V0.0.1.0

Version - Initial limited alpha build.

    Shodan BASIC V0.0.0.1

Supported Keywords

LET - assigns a value (which may be the result of an expression to a variable.

LET myVal = 10

FOR repeat a section of code a given number of times. A variable that acts as a counter is available within the loop.

FOR myVal = 1 to 10 REM "Do something here"
NEXT myVal

PRINT- displays a message on the screen or other output device. Print accept the use of variables when used outside of quotation marks.

PRINT "This is a test."
PRINT Another Test
LET myVal = "Example"

REM- holds a programmer's comment or REMark; often used to give a title to the program and to help identify the purpose of a given section of code.

REM "This is an example comment"

INPUT - asks the user to enter the value of a variable. The statement may include a prompt message.

INPUT "How old are you?", myVal

System Commands

The following commands are not specific to the BASIC language but are used to operate features of the interpreter. All commands and keywords can be entered in to the application with and without prefixing a number. In the event a number is not prefixed, representing the line number, the system will append the new line to the end of the code. If a line number is prefixed and that line exists, the current line will be replaced. If a line is entered with a prefix number, but without a keyword, the line is removed from code. The above can also be used in insert code by prefixing a number not currently in use, between the numbers already in RAM.

LOAD - Loads a saved code file in to RAM and clears current buffer.

LOAD mycode.bas

SAVE - Saves the current buffer to file.

SAVE mycode.bas

LIST - Displays the lines of code currently in the buffer

LIST                Lists all lines.
LIST 10           Only the line 10 of this program is listing on screen.
LIST -10          All lines until line 10 of this program are listing on screen.
LIST 10-          All lines beginning with line 10 of this program are listing on screen

NEW - Clear the buffer and the display and restarts the session.


CLEAR - Clears display, but keeps code in RAM.


SHOW - Displays information about different systems.

SHOW Registry        Show the variables in RAM.

RUN - Execute the code in RAM.


EXIT - Exits the application.