Você está na página 1de 21

PROJETO DE LINGUAGENS DE

PROGRAMAÇÃO – 60 HORAS

PROF: JULIANO RATUSZNEI.


EMAIL: JULIANO.RATUSZNEI@UNICID.EDU.BR
PLANO DE ENSINO - 2023 / 2º SEMESTRE
PLANO DE ENSINO - 2023 / 2º SEMESTRE
• EMENTA
• OBJETIVOS
• UNID. C/H CONTEÚDO
• ESTRATÉGIA DE ENSINO
• RECURSOS DISPONÍVEIS
• AVALIAÇÃO
• BIBLIOGRAFIA BÁSICA
• BIBLIOGRAFIA COMPLEMENTAR
EMENTA

• Estudo dos fundamentos teóricos e práticos que compõem os processos de


projeto, compilação e interpretação para linguagens de programação.
OBJETIVOS

Cognitivos - Compreender a teoria dos compiladores e suas abordagens de construção; -


Estudar os processos básicos de compilação e interpretação de linguagens regular e
livres de contexto; - Conhecer algoritmos clássicos adotados na compilação (Front
End) e interpretação de uma linguagem regular e livre de contexto.
Habilidades - Distinguir os processos básicos de compilação e interpretação de linguagens regular e
livres de contexto; - Identificar problemas em compilação e interpretação em vários
domínios de software; - Construir módulos de software voltados para as fases iniciais
dos processos de compilação e interpretação; - Generalizar os domínios a partir das
características apresentadas; - Aplicar o processo de compilação, desde o projeto até a
implementação, na solução de problemas práticos.
Atitudes - Ter visão crítica sobre os problemas e postura de decisão quanto à aplicação de
conceitos relacionados à compilação e interpretação de linguagens regulares e livres de
contexto; - Identificar possibilidades de extensão das técnicas aprendidas; - Ter atitude
participativa, colaborativa e pró-ativa; - Desenvolver bom senso e senso crítico.
UNID. C/H CONTEÚDO

UNID. C/H CONTEÚDO


Apresentação da Disciplina - Apresentação e discussão do Plano de Ensino,
focando objetivos, conteúdos, estratégias, avaliação e bibliografia;-
I 3
Fundamentos de compilação e interpretação: definição de linguagem
compilada, interpretada e híbrida.
Etapas da Compilação - Compilador Front End e Back End;- Etapas de
II 6
análises;- Aplicações.
Análise Léxica - Definição de token;- Tabelas de símbolos;- Estrutura de
III 9
dados;- Expressões regulares.
Autômato Finito - Definição de autômato finito determinístico e não
VI 3
determinístico;- Definição de grafo de estados.
Construção de Analisador Léxico - Prática com a ferramenta JFLEX para
V 6
implementação de analisadores léxicos.
UNID. C/H CONTEÚDO
UNID. C/H CONTEÚDO
Análise Sintática - Gramáticas;- Árvores sintáticas;- Análises recursivas
VI 6
descendente e ascendente;- Análise LL, LR.
Construção de Analisador Sintático - Prática com a ferramenta CUP para
VII 9
implementação de analisadores sintáticos.
Análise Semântica - Percurso em árvores sintáticas;- Tabela de símbolos;-
VIII 9 Verificação de tipos;- Prática com as ferramentas livres JFLEX e CUP para
implementação de analisadores semânticos.
Geração de Código - Geração direta e máquinas virtuais;- Assembly para o
processador MIPS (RISC);- Geração de código para operações aritméticas;-
Geração de código para atribuições;- Geração de código para comandos
IX 6
condicionais;- Geração de código para comandos de repetição;- Registros de
ativação;- Noções de geração de código para procedimentos;- Prática com
implementação de geração de código.
Avaliação Presencial - Provas (regimental e parciais) e atividades (trabalhos
X 3
ou listas de exercícios).
ESTRATÉGIA DE ENSINO

• Valoriza-se a relação dialógica entre a teoria e a prática, a aprendizagem


significativa, cooperativa e colaborativa, bem como a interdisciplinaridade, a
investigação e uso de ambientes virtuais de aprendizagem. Há ações de diagnóstico
da aprendizagem e, se for necessário, de retomada de conhecimentos em diferentes
momentos do processo: apresentação da disciplina, aulas teórico-práticas e pré/pós-
avaliações. A participação crítica e ativa do estudante é estimulada por meio de
metodologias ativas, para tanto, algumas das estratégias empregadas ao longo da
disciplina são: - Estudo com pesquisa; - Simulação; - Solução de problemas.
RECURSOS DISPONÍVEIS

• Para o desenvolvimento da disciplina serão utilizados recursos tecnológicos


como computador, dispositivos de som e/ou imagem. A comunicação entre
professor e aluno será feita por meio do Blackboard, espaço em que também
serão postados materiais para as aulas, listas de exercícios, indicação de
artigos científicos, entre outros. Utilizar-se-ão recursos quer disponíveis
fisicamente quer por meios digitais, para a realização de atividades que
visam a desenvolver competências e habilidades relativas aos conteúdos da
disciplina.
AVALIAÇÃO

• O processo avaliativo compreenderá: - Avaliação Regimental (A1) no valor


de 0,0 a 5,0. - Avaliações parciais e processuais (A2) no valor de 0,0 a 5,0. A
Nota Final (NF) resulta da soma destas duas notas (A1 A2). É considerado
aprovado na disciplina o aluno que obtiver Nota Final (NF) igual ou superior
a 6,0 (seis) e que tenha, no mínimo, 75% (setenta e cinco por cento) de
frequência às atividades acadêmicas. Mais informações sobre o processo
avaliativo podem ser obtidas: a) nos ordenamentos institucionais; b) no
Manual do Aluno; c) com os respectivos professores das disciplinas.
MÉTODOS DE AVALIAÇÃO

• A1 – 5,0 Pontos
• Avaliação (A1) no valor de 0,0 a 5,0 prova de múltipla escolha com 14 questões e 1 questão discursiva.
(27/11 a 02/12)

• A2 – 5,0 Pontos
• Prova A2 parte 1 - 2,0 Pontos: Prova Múltipla escolha por meios digitais (18/09 a 22/09).
• Prova A2 parte 2 - 2,0 Pontos: Prova Múltipla escolha por meios digitais (23/10 a 27/10).
• 1,0 Pontos: Lista de exercício. A serem entregues no BlackBoard (30/09).
• AF - 5,0 Pontos
• Prova de recuperação para discentes que não atingiram 6,0 pontos de média. (08/12 a 18/12)
BIBLIOGRAFIA BÁSICA

• AHO, A. V. et al. Compiladores: princípios, técnicas e ferramentas. 2. ed. São


Paulo: Pearson, 2008 (e-book).
• JOSÉ NETO, J. Introdução à compilação. 2. ed. Rio de Janeiro: Elsevier,
2016 (e-book).

• SANTOS, P. R.; LANGLOIS, T. Compiladores: da teoria à prática. Rio de


Janeiro: LTC, 2018 (e-book).
BIBLIOGRAFIA COMPLEMENTAR

• BROOKSHEAR, J. G. Ciência da Computação: uma visão abrangente. 11. ed. Porto Alegre:
Bookman, 2013 (e-book).
• GRUNE, D. Projeto moderno de compiladores: implementação e aplicações. Rio de Janeiro:
Campus, 2001.
• LOUDEN, K. C. Compiladores: princípios e práticas. São Paulo: Pioneira Thomson Learning, 2004
(e-book).
• MENEZES, P. B. Linguagens formais e autômatos. 6. ed. São Paulo: Bookman, 2010 (e-book).
• PRICE, A. M. A. Implementação de linguagens de programação: compiladores. 2. ed. Porto Alegre:
Sagra Luzzato, 2001.
FIM DO PLANO DE ENSINO - 2023 / 2º
SEMESTRE
FUNDAMENTOS DE COMPILAÇÃO E
INTERPRETAÇÃO: DEFINIÇÃO DE LINGUAGEM
COMPILADA, INTERPRETADA E HÍBRIDA.
FUNDAMENTOS DE COMPILAÇÃO E
INTERPRETAÇÃO: DEFINIÇÃO DE LINGUAGEM
COMPILADA, INTERPRETADA E HÍBRIDA.
FUNDAMENTOS DE COMPILAÇÃO E
INTERPRETAÇÃO: DEFINIÇÃO DE LINGUAGEM
COMPILADA, INTERPRETADA E HÍBRIDA.
• O que é uma Linguagem Interpretada?
• O que é uma Linguagem Compilada?
FUNDAMENTOS DE COMPILAÇÃO E
INTERPRETAÇÃO: DEFINIÇÃO DE LINGUAGEM
COMPILADA, INTERPRETADA E HÍBRIDA.
• O que é uma Linguagem Interpretada?
A interpretação ocorre quando o uso (comumente a execução) do
código se dá junto à análise do mesmo.
FUNDAMENTOS DE COMPILAÇÃO E
INTERPRETAÇÃO: DEFINIÇÃO DE LINGUAGEM
COMPILADA, INTERPRETADA E HÍBRIDA.
• O que é uma linguagem compilada?

• A compilação é o processo de análise e possivelmente


transformação do código fonte em código
intermediário, ou seja, o uso (execução, por exemplo)
se dá em processo separado posterior a analise léxica e
semântica.
FUNDAMENTOS DE COMPILAÇÃO E
INTERPRETAÇÃO: DEFINIÇÃO DE LINGUAGEM
COMPILADA, INTERPRETADA E HÍBRIDA.
• O que é uma linguagem híbrida?

• São aquelas que implementam as duas formas, compilado e interpretado.


FUNDAMENTOS DE COMPILAÇÃO E
INTERPRETAÇÃO: DEFINIÇÃO DE LINGUAGEM
COMPILADA, INTERPRETADA E HÍBRIDA.

Perguntas ?

Você também pode gostar