Skip to content

Compilador para la clase de Seminario de Traductores de Lenguajes 2

Notifications You must be signed in to change notification settings

ismaelg-avilag/compiler

Repository files navigation

Compiler Project

This is a compiler project developed as part of the Compiler Construction course at Universidad de Guadalajara. The project is divided into three main stages: Lexical Analyzer, Syntax Analyzer, and Semantic Analyzer. It is implemented in C# using the .NET 6.0 framework.

Table of Contents

Project Overview

The goal of this project is to build a compiler for educational purposes, covering the essential components of a compiler, including lexical analysis, syntax analysis, and semantic analysis. Each stage of the compiler is implemented sequentially, with each stage building upon the previous one.

Lexical Analyzer

  • Description: The Lexical Analyzer is responsible for scanning the source code and converting it into a stream of tokens. It identifies keywords, operators, identifiers, and other language constructs.

Syntax Analyzer

  • Description: The Syntax Analyzer takes the stream of tokens generated by the Lexical Analyzer and checks whether the source code adheres to the specified grammar rules. It builds a syntax tree for the input program.

Semantic Analyzer

  • Description: The Semantic Analyzer performs semantic checks on the syntax tree to ensure that the program follows the language's semantics. It also generates intermediate code or performs other semantic tasks as required.

Participants

Project Reports

As part of the project evaluation, reports for each development stage have been created and are available in PDF format. You can access these reports through the following links:

Feel free to click on the links above to review the detailed reports for each stage of the project.

Prerequisites

Before you begin, ensure you have met the following requirements:

Getting Started

To get started with this project, follow these steps:

  1. Clone this repository to your local machine:

    git clone https://github.com/yourusername/compiler-project.git
  2. Open the project in Visual Studio 2022.

  3. Build the project to ensure that all dependencies are resolved.

  4. Start implementing or experimenting with the various components of the compiler (Lexical Analyzer, Syntax Analyzer, and Semantic Analyzer).

Contributing

Contributions are welcome! If you'd like to contribute to this project, please follow these steps:

  1. Fork the repository on GitHub.

  2. Clone your fork locally.

  3. Create a new branch for your feature or bug fix.

  4. Make your changes and commit them with clear and concise commit messages.

  5. Push your changes to your fork on GitHub.

  6. Create a pull request from your fork to the main repository.

  7. Your pull request will be reviewed, and once approved, your changes will be merged.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Compilador para la clase de Seminario de Traductores de Lenguajes 2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages