Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/oleksiygarnik/programming-language-translator
- Owner: oleksiygarnik
- Created: 2019-02-22T14:21:57.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-08-11T10:23:12.000Z (5 months ago)
- Last Synced: 2024-08-11T11:36:46.391Z (5 months ago)
- Topics: compiler, compiler-design, grammar, intermediate-representation, language-design, lexical-analysis, polish-notation, syntax-analysis
- Language: C#
- Homepage:
- Size: 87.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.