Skip to content

isabeldevr/MINI_SI_CProject

Repository files navigation

☁️ MINI_SI - A simple programming language ☁️

The concept

This language is designed to facilitate programming to beginners with no coding background. It includes a set of basic commands to perform simple tasks like printing a message or carrying out mathematics operations.

MINI_SI_DEMO.mov

Requirements for compiling the code

C compiler (Such as GCC provided by MSyS2).
Any IDE to edit the code such as VSC.
The CMakeList for the language has been included to configure the code compilation.

Requirements for running the code 🏃

Please write your code in a text file under the name code.mini_si.
If you wish to use a different name please change the input file name in the main.c file.

Supported Commands ✔️

  • PRINT: This command prints a message to the console.
  • SET: This command sets a variable to a value.
  • ADD: This command performs addition between two integers.
  • SUBSTRACT: This command performs substraction between two integers.
  • MULTIPLY: This command performs multiplication between two integers.
  • DIVIDE: This command performs division between two integers.
  • IFEQUAL: This command checks if two integers are equal.
  • IFGREATERTHAN: This command checks if the integer on the right is greater than another integer (at the left)
  • IFLESSTHAN: This command checks if the integer on the right is less than another integer (at the left)
  • COMPLAIN: This command generates a random complaint message.

Other tokens like MESSAGE and ARGUMENT are used as values or arguments for the above commands.

The code also handles unknown commands and prints an error message when encountered.

Please note that the actual behavior of these commands depends on the specific input provided in the input file and the implementation of the functions perform_complain(), perform_print(), perform_set(), perform_add(), and perform_isequal() etc.

GRAMMAR

You may find the general grammar definition of our language by following this link: BNF

Please note 🌱 repo history can be viewed here: Original Github Repo

About

Programming language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published