The Meta-Environment Márcio Coelho PG16046 André Rocha PG12345.

Slides:



Advertisements
Apresentações semelhantes
Programação Funcional
Advertisements

Tipos Explícitos e Tipos Polimórficos para LF1
Creating an Eclipse-based IDE for the D programming language
Pesquisa de Informação
Creating IDEs for the Eclipse Platform Survey de Introdução à Investigação.
Uma linguagem de programação para o ambiente Virtuosi
Universidade Federal do Pará Serviço Público Federal Centro de Ciências Exatas e Naturais Departamento de Informática Abril/2001.
Introdução à Compilação Prof. Leandro Magno Slides adaptados a partir do material cedido pelos professores Heloise Manica Paris Teixeira, Yandre M. G.
PThreads MO801/MC972.
JavaCC e JJTree Geração de compiladores implementados em Java
LIFE: predicados, funções e sorts built-in Jacques Robin Paulo Oliva Leonardo Lemos DI-UFPE.
Rafael Pinto Frederico Corrêa
Linguagens de programação
YACC.
Construção de Compiladores
7 Abstração Genérica Unidades genéricas e instanciação.
Laboratório de Programação de Computadores I
Robson Godoi / Sandra Siebra
João Lucas de Oliveira Torres
LISTAS DUPLAMENTE ENCADEADAS
Análise léxica e sintática
Sub-programas. Mecanismo de composição de programas Sub-programa está para peça de LEGO assim como um programa está para a construção.
Definição de tipos - LF3Definição de tipos - LF3 PLP - Apresentação 1.
DEFINIÇÃO DE TIPOS – LF3 PLP – Apresentação 2. Equipe Felype Santiago Maria Carolina Paola Rodrigues Rodrigo Cardoso.
Ferramentas para a Construção de Compiladores: Lex & Yacc
Compiladores, Aula Nº 9 João M. P. Cardoso
Compiladores, Aula Nº 10 João M. P. Cardoso
Bags n Servem para armazenar a repetição de elementos n Tal qual conjuntos, a ordem dos elementos não importa n Por isso, também recebem a designação de.
Teoria e Implementação de Linguagens Computacionais – IF688
Sintaxe e Semântica Prof.: Gláucya Carreiro Boechat
©André Santos, Programação Funcional Classes em Haskell André Santos.
Prof. Manoel Eusebio Prof. Abel Guilhermino
Análises léxica e sintática
Geração de Código Intermediário
Mayerber Carvalho Neto
Linguagem Pascal Prof. Sérgio Rodrigues.
Aula 14 1 Análise Sintáctica Compiladores, Aula Nº 14 João M. P. Cardoso.
Semântica de Ações Especificação Completa de Specimen, Actress, Projeto RAT, Considerações Finais.
Sistema de Transformação para a linguagem OO1 Adeline Sousa Gustavo Santos.
Programação Orientada a Objetos - Java
Estruturas de Dados Aula 7: Tipos Estruturados 23/04/2014.
Aula 12 1 Análise Sintáctica Compiladores, Aula Nº 12 João M. P. Cardoso.
Compiladores.
Tradução Dirigida por Sintaxe
Semáforos n Variáveis compartilhadas são globais n Acesso a variáveis ocorre em procedimentos, mas podem estar espalhados pelo programa n Exige consulta.
Laboratório I Mateus Raeder. Mateus Raeder – maio de 2010 Arrays unidimensionais  Arrays unidimensionais são objetos que permitem ao programador armazenar.
5COP101 Linguagens de Programação
Linguagens de Programação II
Laboratório I Mateus Raeder. Mateus Raeder – maio de 2010 Arrays  Variável: armazena apenas um valor  Como criar em uma única variável, espaço para.
AST no ANTLR Teoria e Implementação de Linguagens Computacionais - IF688 Allan J. Souza
Shared Variables Analyser (SVA) Ferramenta desenvolvida pelo Computing Laboratory (Oxford University) Analisa programas concorrentes com variáveis compartilhadas.
Trabalho Computacional Mecânica de Fluidos Ambiental Guillaume Riflet, Pedro Pina, Luís Fernandes.
Aula 4©João M. P. Cardoso 1 Anatomia de um Compilador Compiladores, Aula Nº 4 João M. P. Cardoso.
Haskell Programação Funcional Diego Lima Rubem Moreira.
Uma Infraestrutura para a
Um Tradutor Dirigido por Sintaxe Simples
Computação Eletrônica Variáveis Reais e Booleanas.
Semântica de Linguagens de Programação
FuzBlock Paradigmas de Linguagens Computacionais Bruno Edson Flavio Gondim Marcelo Rodrigues Pablo de Santana.
Arquivos. Motivação Imagine dar entrada (digitar), a cada execução do programa, em todos os dados de um sistema. por exemplo, todos os registro de livros.
Modificadores Programação II.
©André Santos, Programação Funcional Tipos Abstratos de Dados André Santos.
Paradigmas de Linguagens de Programação BNF e Interpretador da Linguagem Orientada a Objetos Augusto Sampaio e Paulo Borba Gustavo Pinto Marcelo Queiroz.
Análise Semântica e Representação Intermédia
1 Programação – JAVA Unidade 3 – Loops e Lógica Prof. Aparecido V. de Freitas Curso de Ciência da Computação.
MATA56 Tipos, Verificação de Tipos Agenda Objetivo desta aula: Introduzir os principais aspectos semânticos de variáveis Palavras-chave – nomes.
Estrutura de Dados Prof. André Cypriano M. Costa
PROGRAMANDO SEM POO EM JAVA Dilvan Moreira (baseado no livro Big Java)
Transcrição da apresentação:

The Meta-Environment Márcio Coelho PG16046 André Rocha PG12345

ASF - Algebraic Specification Formalism SDF - Syntax Definition Formalism Rascal

ASF Algebraic Specification Formalism Permite rescrita de termos e travessia de arvores genéricas

SDF Syntax Definition Formalism SDF é mais rica que BNF

module basic/Booleans exports sorts Boolean context-free start-symbols Boolean context-free syntax "true" -> Boolean "false" -> Boolean lhs:Boolean "|" rhs:Boolean -> Boolean {left} lhs:Boolean "&" rhs:Boolean -> Boolean {left} "not" "(" Boolean ")" -> Boolean "(" Boolean ")" -> Boolean context-free priorities Boolean "&" Boolean -> Boolean > Boolean "|" Boolean -> Boolean

Operações Parser Análise de código Transformação de código Criação, implementação e compilação de DSL

IDE

Anatomia

Estrutura de um Modulo module ModuleName ImportSection* ExportOrHiddenSection* equations ConditionalEquation*

Exemplo ASF+SDF

Import MyBooleans imports basic/Whitespace imports basic/Booleans exports context-free syntax Boolean xor Boolean --> Boolean hiddens context-free start-symbols Boolean

Equations [xor-1] true xor true = false [xor-2] true xor false = true [xor-3] false xor true = true [xor-4] false xor false = false

CMinus

module Desktop/Cminus/Types exports sorts TYPE context-free syntax "char" -> TYPE "int" -> TYPE "nil-type" -> TYPE module Desktop/Cminus/Iden exports sorts ID lexical syntax [a-z][a-zA-Z0-9]* -> ID context-free restrictions ID -/- [a-zA-Z0-9]

context-free syntax DECLARATION+ -> PROGRAM context-free syntax VARIABLE -> DECLARATION FUNCTION -> DECLARATION context-free syntax TYPE ID ";" -> VARIABLE context-free syntax TYPE ID "(" ( FORMALPARAMETER ("," FORMALPARAMETER)* )? ")" BLOCK -> FUNCTION context-free syntax TYPE ID -> FORMALPARAMETER context-free syntax "{" VARIABLE* STAT* "}" -> BLOCK