Giter Site home page Giter Site logo

domamaric / ppj Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 530 KB

Python solutions for Programming Language Translation laboratory exercies.

License: MIT License

Python 98.08% Lex 1.92%
lexical-analyzer syntax-analyzer semantic-analyzer compiler ll1-grammar ll1-parser

ppj's Introduction

Programming Language Translation Course Project

This repository contains my solutions for the laboratory exercises in the Programming Language Translation course at the Faculty of Electrical Engineering and Computing.

Laboratory Exercises Overview

Laboratory Exercise 1: Lexical Analyzer Construction

Overview

The first laboratory exercise focuses on the construction of a lexical analyzer. The goal is to implement a tool capable of recognizing and tokenizing the lexical elements of a programming language.

Implementation

  • Lexical Analyzer: Construct a lexical analyzer to identify and tokenize keywords, identifiers, operators, and other lexical elements.

Laboratory Exercise 2: Syntax Analysis

Overview

The second laboratory exercise delves into syntax analysis. The task involves building a parser that can analyze the structure of a program and identify its syntactic elements.

Implementation

  • Parser: Develop a syntax analyzer capable of parsing the grammatical structure of a program and generating an appropriate parse tree.

Laboratory Exercise 3: Semantic Analysis

Overview

The third laboratory exercise focuses on semantic analysis. The objective is to implement a tool that can analyze and check the meaning of a program in terms of its semantic correctness.

Implementation

  • Semantic Analyzer: Construct a semantic analyzer to perform checks on the program's meaning and identify potential semantic errors.

Laboratory Exercise 4 (Incomplete): Code generator for FRISC

Overview

The topic of the fourth laboratory exercise is code generation. The task is to programmatically realize the generator of the FRISC processor mnemonic code for the PJ language.

Implementation

  • Unfortunately: This laboratory exercise is not implemented because I already had satisfactory grade ๐Ÿ˜.

Getting Started

  1. Clone the repository:

    git clone https://github.com/domamaric/PPJ.git
    cd PPJ/
    

TO-DO

  • Add docstring for second laboratory exercise.

ppj's People

Contributors

domamaric avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.