Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/oleksiygarnik/programming-language-translator

This project implements a compiler for a custom programming language featuring lexical and syntax analysis, intermediate representation in Polish Notation, and code generation.
https://github.com/oleksiygarnik/programming-language-translator

compiler compiler-design grammar intermediate-representation language-design lexical-analysis polish-notation syntax-analysis

Last synced: about 2 months ago
JSON representation

This project implements a compiler for a custom programming language featuring lexical and syntax analysis, intermediate representation in Polish Notation, and code generation.

Awesome Lists containing this project

README

        

# Compiler

## Overview

During the development of this compiler project, the following milestones were achieved:

1. **Grammar Design**
Developed the grammar for the specified programming language.

2. **Compiler Structure**
Defined the structure of the compiler.

3. **Functional Blocks**
Described and implemented the core functional blocks of the compiler.

4. **User Interface**
Designed and implemented an intuitive graphical user interface.

5. **Testing**
Tested the compiler by comparing the results of a test program with a semantically similar program in the object-oriented programming language C#.

## Components

The compiler includes the following key components:

1. **Lexical Analyzer**
Analyzes the source code and extracts tokens.

2. **Syntax Analyzer**
Processes tokens to construct a syntax tree and ensure adherence to syntax rules.

3. **Intermediate Representation**
Builds an intermediate form of the program—Polish Notation (PN).

4. **Execution of PN**
Executes the Polish Notation code.

The programming language supports assignment operators, input and output operations with a flexible structure, as well as conditional and looping operators designed for specific tasks.