Skip to content

ComprosoftCEO/Insanity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Insanity

An esoteric programming language that consists of single symbol commands.


About

Insanity is an Esoteric Programming Language designed by Bryan McClain. Similar to assembly, Insanity uses single-symbol commands such as < + and $ to represent simple operations. Although Insanity should be thought of as a full-blown computer (with registers, memory, and a stack), this C program is an Insanity interpreter that simulates the computer. With this program, Insanity programs are compiled to bytecode, then run through the Insanity bytecode interpreter.

The Insanity interpreter is designed to use terminal colors when running the program. To make it cross-platform, several versions of the code exist:

  • Insanity.c - Runs on any platform and does no color output
  • Insanity-Windows.c - Designed to run on Windows. Color is handled through Window OS calls.
  • Insanity-Linux.c - Designed to run on Linux-based platforms. Color is handled by terminal escape codes.

Compiling

Compiling on Linux

Compile with the GCC compiler:

gcc Insanity_Linux.c -o Insanity.exe

Compiling on Windows

  1. Install MinGW for Windows, which includes the GCC compiler and other necessary components.
  2. Compile with the command:
gcc Insanity_Windows.c -o Insanity.exe

Note: requires access to conio.h and windows.h


Usage

Insanity.exe <Program1> <Program2> ...

Insanity programs should be stored in text documents, and passed as parameters into the program. Insanity can run any number of programs, one after another.



Insanity Programming Language

To read about writing programs for Insanity, please check out the official language definition.