Skip to content

Nevith/slovenC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

slovenC

A general purpose programming language with slovenian syntax.


For my diploma at FERI UM, I decided to try to create my own programming language.
I set out to build a general purpose programming language and decided to make it with Slovene syntax as a gimmick.
To force myself to learn modern C++ I decided to use C++17 standard and make my language compilable and runnable on Windows and Linux.
I wanted to support class inheritance and implement some predefined classes and functions.

  • Using: antlr4 for my lexer and parser.
  • Primarily using the Visitor pattern.

For the sake of time and complexity I had to decide to abandon some features such as method overriding and specific super constructor calls, etc. Missing features or limitations might get implemented later if I decide to continue working on this project after my diploma.

Planned features and limitations:

Features:

  • Basic for loop
  • Basic while loop
  • If-else statements
  • Exit statements (break, continue)
  • Class Inheritance
  • Predefined classes (generic list, string, double, boolean, int, void, object)
  • A very basic IDE that will support syntax highlighting, project treeview, run button.
  • A print function
  • Might add more later...

Limitations:

  • Unable to call specific super constructors
  • Unable to override super methods (only hide them)
  • ...