Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trabalho Linguagens Formais e Autômatos - FNC

Descrição

Este projeto consiste em um trabalho prático da disciplina Linguagens Formais e Autômatos, ministrada pelo professor Ricardo Terra. O objetivo é criar um programa que lê uma Gramática Livre de Contexto (GLC) e a transforma na Forma Normal de Chomsky (FNC).

Os participantes do projeto são:

  • Mateus Mendes da Silva
  • Matheus Piassi de Carvalho
  • Bernardo Coelho Pavani Marinho

Objetivo

O programa converte uma GLC em FNC seguindo os passos aprendidos no curso. Ele executa algoritmos para remoção de recursão inicial, tratamento de variáveis "nullable", eliminação de cadeias, e outras transformações necessárias para a FNC.

Instalação

Clone o repositório:

git clone https://github.com/MatheusPiassiC/TrabLFA
cd TrabLFA

Como Compilar e Executar

Pré-requisitos

  • Compilador C++ (recomendado: g++ versão 7.5 ou superior)

Compilação

No terminal, use o seguinte comando para compilar o código:

g++ -o fnc main.cpp

E após compilado, para executar é necessário inserir:

./fnc "ArquivoGramatica.txt"

– Variáveis: [A-Z] (as variáveis criadas pelo seu algoritmo podem ser T1, T2, T3, etc.)

– Terminais: [a-z]

– Operador de definição: ->

– Separador de regras: |

– Lambda: .

Exemplo de Formato:

S -> Sa | bA
A -> Ab | Bc
B -> Aa | .

Contribuidores :

https://github.com/BernardoPavani

https://github.com/MatheusPiassiC

https://github.com/MateusMendes0

About

Trabalho acadêmico da matéria Linguagens Formais e Autômatos, com o objetivo de transformar uma gramática livre de contexto na forma normal de Chomsky

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages