Linguagens de Programação

Documentos relacionados
Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 31. Instituto de C

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.

Elementos básicos das linguagens de programação

Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida)

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 30. Instituto de C

Linguagem de programação: Pascal

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;

Linguagens de Programação

Compiladores. Análise Léxica

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

Paradigmas de Linguagens

Função, interação com o compilador Especificação e reconhecimento de tokens Implementação Tratamento de erros. Prof. Thiago A. S.

Compiladores Análise Semântica

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior

Linguagem de Programação e Compiladores

DESENVOLVIMENTO DO COMPILADOR PARA A LINGUAGEM SIMPLE

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

Paradigmas de Programação

APÊNDICE A - FUNDAMENTOS DA LINGUAGEM DE PROGRAMAÇÃO PASCAL.

Compiladores. Introdução

Linguagem de Programação Pascal - Introdução

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18

Compiladores Análise Semântica

Como construir um compilador utilizando ferramentas Java

SSC304 Introdução à Programação Para Engenharias

Conceitos de Linguagens de Programação

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 10. Algoritmos e Programação. Enquanto (Teste no início) Repeat (Teste no final)

Capítulo 8. Estruturas de Controle no Nível de Sentença

Programação Introdução

PLANO DE UNIDADE DIDÁTICA- PUD

Introdução as Máquinas de Autômatos

Linguagem Computacional. Estruturas de Controle: Estruturas de Repetição. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves

Apostila de Fortran. É uma pseudo-linguagem a qual oferece recursos para que o programador possa codificar e testar os seus algoritmos.

Linguagens de Programação. Introdução. Carlos Bazilio

SEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end.

ao paradigma imperativo

Projeto de Compiladores

Aulas Anteriores. Detalhes da linguagem de programação

Paradigmas de Programação

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

Descrição da Linguagem Pascal Jr.

Histórico de Linguagens de Programação

Matemática Discreta para Ciência da Computação

Linguagens de Programação Conceitos e Técnicas. Amarrações

Introdução à Programação

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

Linguagens de Programação

Resumo 2 - Mapeamento Portugol-Pascal

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

DELPHI Curso Extensão. walter Prof. Walter Gima

LFA Aula 09. Gramáticas e Linguagens Livres de Contexto 18/01/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

Expressões e sentença de atribuição

Análise Sintática Introdução

Linguagem de Programação I. Linguagem Pascal

Aula 01 Algoritmos e lógica de programação e introdução ao C++

Python e sua sintaxe LNCC UFRJ

Estrutura geral de um compilador programa-fonte

INE5416 Paradigmas de Programação. Ricardo Azambuja Silveira INE CTC UFSC E Mail: URL:

Gramática. Prof. Yandre Maldonado e Gomes da Costa. Prof. Yandre Maldonado - 1

Sintaxe e Semântica. George Darmiton da Cunha Cavalcanti.

Gramática. Gramática. Gramática

Linguagem C estruturas de repetição

Aula 11: Desvios e Laços

Questões de Paradigmas de Programação Matéria: Prova 1 4ª EDIÇÃO

Linguagem Pascal. Definição e Tipos de Dados. Professora Lara Popov Zambiasi Bazzi Oberderder. Linguagem PASCAL 1

VARIÁVEIS NUMÉRICAS : integer - Números inteiros entre e real - Números reais de 11 algarismos significativos.

Transcrição:

Linguagens de Programação de Linguagens de Programação Bruno Lopes Bruno Lopes Linguagens de Programação 1 / 11

Propriedades desejáveis Legibilidade: A leitura do programa é facilmente compreendida? Redigibilidade: A implementação reflete o algoritmo? A redação é sucinta? onfiabilidade: É fácil detectar enganos do programador? Eficiência: Roda rápido? Facilidade de Aprendizado: É enxuta? Ortogonalidade: onceitos podem ser combinados livremente? Reusabilidade: É possível aproveitar partes em outros programas? Modificabilidade: É fácil alterar programas? Portabilidade: Roda da forma esperada em diferentes plataformas? Bruno Lopes Linguagens de Programação 2 / 11

Produção de documentos que descrevem a linguagem Formal Precisa, Matemática, Não ambígua Automatizável Permite construir provadores de propriedades de programas Informal Bruno Lopes Linguagens de Programação 3 / 11

Produção de documentos que descrevem a linguagem Formal Precisa, Matemática, Não ambígua Automatizável Permite construir provadores de propriedades de programas Informal Bruno Lopes Linguagens de Programação 3 / 11

Produção de documentos que descrevem a linguagem Formal Precisa, Matemática, Não ambígua Automatizável Permite construir provadores de propriedades de programas Informal Bruno Lopes Linguagens de Programação 3 / 11

Produção de documentos que descrevem a linguagem Formal Precisa, Matemática, Não ambígua Automatizável Permite construir provadores de propriedades de programas Informal Bruno Lopes Linguagens de Programação 3 / 11

Produção de documentos que descrevem a linguagem Formal Precisa, Matemática, Não ambígua Automatizável Permite construir provadores de propriedades de programas Informal Bruno Lopes Linguagens de Programação 3 / 11

Produção de documentos que descrevem a linguagem Formal Precisa, Matemática, Não ambígua Automatizável Permite construir provadores de propriedades de programas Informal Bruno Lopes Linguagens de Programação 3 / 11

léxica sintática semântica Bruno Lopes Linguagens de Programação 4 / 11

Léxica Regra para definir Identificadores Expressões Regulares Autômatos Finitos Bruno Lopes Linguagens de Programação 5 / 11

Sintática BNF <programs> ::= { <comandos> } <comandos> ::= <comando> <comandos> <comando> <comando> ::= <atribuiç~ao> <condicional> <loop> <atribuiç~ao> ::= <identificador> = <express~ao> <condicional> ::= if <express~ao> { <comandos> } if <express~ao> { <comandos> } else { <comandos> } <loop> ::= while <express~ao> { <comandos> } <express~ao> ::= <identificador> <número> (<express~ao>) <express~ao> <operador> <express~ao> Bruno Lopes Linguagens de Programação 6 / 11

Léxica em BNF BNF <operador> ::= + - * / = <> < > <= >= <identificador> ::= <identificador> <letra> <identificador> <dígito> <letra> <número> ::= <dígito> < número > <dígito> <dígito> ::= 0 1 2 3 4 5 6 7 8 9 <letra> ::= a b c d e f g l m n o p q r s t u v x z Bruno Lopes Linguagens de Programação 7 / 11

Sintaxe Abstrata X Sintaxe oncreta Sintaxe Abstrata: estrutura sintática, Sintaxe oncreta: estrutura sintática e itens léxicos while (x!= y) {... } Pascal while x <> y do begin... end Bruno Lopes Linguagens de Programação 8 / 11

Sintaxe Abstrata X Sintaxe oncreta Sintaxe Abstrata: estrutura sintática, Sintaxe oncreta: estrutura sintática e itens léxicos while (x!= y) {... } Pascal while x <> y do begin... end Bruno Lopes Linguagens de Programação 8 / 11

Pragmática e Sintaxe oncreta Legibilidade Redigibilidade Bruno Lopes Linguagens de Programação 9 / 11

Linguagem Tiny Variáveis inteiras Declaração a partir da atribuição de valores ontrole com if e repeat if termina com end e tem um else opcional omentários entre chaves Expressões aritméticas e booleanas Bruno Lopes Linguagens de Programação 10 / 11

{Exemplo de programa em Tiny - Fatorial} read x; {inteiro de entrada} if x > 0 then {express~ao booleana} fact := 1; repeat fact := fact * x; x := x + 1; until x = 0; write fact; end Bruno Lopes Linguagens de Programação 11 / 11