Plano de Ensino

Ciência da Computação

Página do Curso

Plano de Ensino | URI Câmpus de Erechim

PLANO DE ENSINO

DEPARTAMENTO DE ENGENHARIAS E CIÊNCIA DA COMPUTAÇÃO

Disciplina: Linguagens Formais

Código: 30-474

Carga Horária: 80h (60h Teórica + 20h Prática)

Nº de Créditos: 04

 

EMENTA

Gramáticas, Linguagens e formalismo, Autômatos e Reconhecedores.

 

OBJETIVOS

Compreender e identificar gramáticas gerativas, construir máquinas reconhecedoras baseadas em autômatos e classificar as linguagens de acordo com a hierarquia de Chomsky. Capacitar o aluno para construir analisadores léxicos baseados em autômatos finitos.

 

CONTEÚDOS CURRICULARES

Classes de Solucionabilidade de Problemas

Problema Solucionável

Problema Não-Solucionável

Problema Parcialmente Solucionável ou Computável

Problema Não-Solucionável ou Não-Computável

Definições de Linguagens Formais

O que é uma Linguagem Formal

Símbolo

Alfabeto

Cadeia

Linguagem

Hierarquia de Chomsky

Linguagens Regulares

Expressões Regulares

Gramática Gerativa

Elementos de uma Gramática

Notação Backus-Naur Form para Gramáticas

Derivação de Gramáticas

Tipos de Gramáticas

Gramáticas Regulares

Reconhecedores

Autômatos Finitos Determinísticos e Não Determinísticos

Determinização de Autômatos Finitos Não Determinísticos

Minimização de Autômatos Finitos

Gramáticas Livres do Contexto

Ambiguidade

Simplificações

Eliminação de Símbolos Inúteis e Inalcançáveis

Eliminação de Épsilon Produções

Eliminação de Produções Unitárias

Fatoração

Eliminação de Recursão à Esquerda

 

METODOLOGIA

Os alunos desenvolverão Trabalhos Discente Efetivos (TDE) no total de 20h, de acordo com o planejamento do professor: estudos de caso, pesquisas bibliográficas, resolução de problemas e lista de exercícios.

O desenvolvimento dos conteúdos será feito através de aulas expositivas no quadro, acompanhada da apostila da disciplina para a discussão dos itens de cunho teórico. A seguir, dar-se-á a realização de exercícios práticos para fixação do conteúdo estudado.

A resolução de exercícios será seguida da correção dos mesmos pelo professor, com a participação dos alunos, a fim de demonstrar e fixar os conceitos estudados.

No decorrer do semestre, serão utilizadas metodologias ativas com o objetivo de potencializar o processo de ensino-aprendizagem.

 

AVALIAÇÃO

Para esta disciplina a avaliação semestral deve considerar a média ponderada entre as notas, que serão definidas através das seguintes avaliações:

Parte da avaliação da disciplina, com peso 20%, será referente às atividades desenvolvidas nas TDEs, conforme previsto pelas regras da graduação Ativa da URI;

Comporá também uma das notas da disciplina a avaliação do aluno conforme o projeto integrador, com peso a ser definido pelo professor de acordo com o tema norteador e projeto aplicado no semestre;

O restante das notas consistirá em provas e trabalhos (teóricos e/ou práticos), com assuntos específicos da disciplina.

A atribuição de notas para a avaliação do desempenho do acadêmico, segue o prescreve o Regimento Geral da Universidade, Art. 88 a 92.

 

BIBLIOGRAFIA

BIBLIOGRAFIA BÁSICA

PRICE, A. M. A. Implementação de Linguagens de Programação: Compiladores. São Paulo: Bookman. 2007.

HOPCROFT, J.; ULLMAN, J. MOTWANI, R. Introdução à Teoria de Autômatos, Linguagens e Computação. Edição Traduzida. São Paulo: Campus.

Menezes, P. B. Blauth. Linguagens Formais e Autômatos. 6. ed. Porto Alegre: Bookman, 2011. (Biblioteca Virtual).

 

BIBLIOGRAFIA COMPLEMENTAR

AHO, A. V.; Sethi, R.; LAM, Monica S. e ULLMAN, J. D. Compiladores: Princípios, Técnicas e Ferramentas. 2. ed. São Paulo: Prentice Hall. 2010.

RAMOS, M. V., JOSÉ NETO, J., VEJA, I. S. Linguagens Formais: Teoria, Modelagem e Implementação. Porto Alegre: Bookman, 2011. (Biblioteca Virtual).

DELAMARO, Márcio Eduardo. Como construir um compilador utilizando ferramentas Java. São Paulo: Novatec, 2004.

GRUNE, Dick (Et al.). Projeto moderno de compiladores: implementação e aplicações. Rio de Janeiro: Campus, 2001.

LOUDEN, Kenneth C. Compiladores: princípios e prática. São Paulo: Pioneira Thomson Learning, 2004.