Skip to content
Neşe Nefise Çiftçioğlu edited this page Jun 7, 2023 · 4 revisions
Unknown
  1. What Is Sigun?
  2. Who Is Sigun For?
  3. What Is The Motivation of Sigun?
  4. How Does Sigun Reach Its Goals?

What Is Sigun?

Sigun could be defined as a programming language that executes basic statements in Turkish syntax. Sigun is an agglutinative language due to the syntax of the Turkish language, which involves placing suffixes at the end of the word and having the verb at the end of the sentence.

Who Is Sigun For?

The main issue that inspired the creation of this project is the language barrier that arises when learning programming. To be more specific, learning a programming language takes longer for a non-native speaker than for someone born and raised in an English-speaking country. This situation not only wastes time but also makes teaching Turkish children basic programming languages more challenging. In other words, we see a language inequality during coding if your native language is Turkish. That is why, our target audience can simply be described as elementary school students or people whose native language is Turkish and who want to start learning a programming language.

What Is The Motivation of Sigun?

The motivation for this project is to remove the language barrier mentioned above for people who want to learn programming but whose native language is Turkish. The most effective solution to the mentioned problem is to create a programming language with the same structure as the logic structure of Turkish and simpler commands than other languages such as Java or Python, bringing elementary school students to a level where they can learn other programming languages over time. One of the most important characteristics of the programming language we intend to create is that the words used in command sentences are in Turkish, and the sentence structure sounds natively Turkish used in everyday language while coding.

How Does Sigun Reach Its Goals?

We created a basic language for executing simple instructions. There are four files that we need for this purpose. Jflex file for lexer, CUP file for the parser, sigun file, and main java file for executing the input code.

  • JFlex is a lexical analyzer generator for Java, written in Java. It takes an input as a specification with a set of regular expressions and corresponding actions. It generates a program (a lexer) that reads input, matches the input against the regular expressions in the specific file, and runs the corresponding action if the regular expression matches.

  • The CUP stands for Construction of Useful Parsers and is an LALR parser generator for Java. It implements standard LALR parser generation. As a parser author, you specify the symbols of your grammar.

  • We have a sigun file where the user writes their code in Sigun Programming Language. In order to parse that file we need to first compile our Jflex and CUP files.

  • In the main java file, we specify the corresponding actions.

Clone this wiki locally