Si dica in quale modo la trasformazione di Thompson, TF, può essere considerata come definente un compilatore. In particolare, si dica: –a) chi sono il.

Slides:



Advertisements
Presentazioni simili
I Linguaggi di programmazione
Advertisements

Automi temporizzati.
Fondamenti di Informatica I a.a Fondamenti di Informatica I Presentazione del corso Docenti Monica Bianchini Monica Bianchini Dipartimento di.
Teorema di Clausius le proprietà di una trasformazione ciclica a due temperature sono descritte soddisfacentemente dal teorema di Carnot ma in una generica.
INTRODUZIONE Il framework.NET. Un po di storia Sin dalla prima versione del sistema operativo Windows (1990 circa), nacque la necessità di far comunicare.
Code::Blocks Ambiente di sviluppo.
Classe III A A.s – 2011 Programma di Informatica 5 ore settimanali (3 laboratorio) Docenti –Prof. Alberto Ferrari –Prof. Alberto Paganuzzi.
I linguaggi di programmazione

Analizzatori Lessicali con JLex
Sintassi (prima parte)
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Linguaggi Regolari e Linguaggi Liberi
Linguaggi di Programmazione e compilatori
Linguaggi di programmazione
XSLT (eXtensible Stylesheet Language Transformation) Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
Algebra parziale con predicati
Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.
Generalità Linguaggio e Macchina Astratta
Fondamenti di Informatica
Concetti di base: header file, funzione main(),set caratteri C++, token, operatori, espressioni etc. Flusso di controllo, cicli, costrutti.
Programmazione Procedurale in Linguaggio C++
TRADUZIONE DEL PROGRAMMA Una volta che un programma sia stato scritto in C, esso non può essere eseguito senza unulteriore traduzione. Ciò perché qualsiasi.
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
XML Prof. Barbara Pernici Politecnico di Milano aggiornato 10/12/2002.
Terza parte: Programmazione ad oggetti in Java. Cosè Java Linguaggio di programmazione definito dalla Sun Obiettivo: sviluppo di applicazioni sicure,
Laboratorio di Linguaggi lezione IV Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Specifiche senza JML: uso delle asserzioni. 2 Asserzioni in Java Dal jdk 1.4 (da Febbraio 2002) cè meccanismo per gestire asserzioni Asserzione: espressione.
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Fondamenti di Informatica
Unità Didattica 2 I Linguaggi di Programmazione
9) If e else. Lab.Calc.I AA2002/03 - cap.92 espressione.
Istruzioni di selezione (If/else/switch)
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Ambienti di programmazione Stefano Cagnoni e Monica Mordonini.
Vettori e Funzioni 3 Maggio Esercizio 1 Si scriva un programma in linguaggio C che, dopo aver acquisito il contenuto di un vettore di interi da.
INSIEMI NUMERABILI L’analisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere “contati” ossia che possiede.
Java Contardi Carlo A.S. 2008/09.
CAP. 2 ANALISI LESSICALE 2.1 Il ruolo dell'analizzatore lessicale
PROGRAMMAZIONE: linguaggi
PROGRAMMARE IN C Un ambiente di sviluppo `e un software che serve per scrivere ed eseguire programmi. Generalmente integra almeno 3 funzionalita’: Editor:
Verso lo spazio profondo
In molti casi è utile assegnare a degli identificatori dei valori che restino costanti durante tutto il programma e che non possano essere cambiati nemmeno.
Lo sviluppo del software e i linguaggi di programmazione
Realizzato da Roberto Savino
Linguaggi per COMUNICARE
Lezione 3 Struttura lessicale del linguaggio
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Tecnica della programmazione(primaparte) anno accademico 2010/11
Dal problema all’ algoritmo
TEORIE E TECNICHE DEL RICONOSCIMENTO
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
LINGUAGGI DI PROGRAMMAZIONE Per comunicare comandi e dati ad un computer occorre un particolare linguaggio detto LINGUAGGIO MACCHINA, che è un insieme.
Linguaggi di programmazione: panoramica Linguaggi di programmazione ad alto livello: – –Programmazione procedurale – –Programmazione object oriented –
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
1 Macchine astratte, linguaggi, interpretazione, compilazione.
Espressioni regolari (1)
Automi temporizzati.
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
Programmazione dei Calcolatori Elettronici
Linguaggi, stringhe e alfabeti. Linguaggi e grammatiche Un linguaggio è un sistema di comunicazione tra persone che permette di trasmettere informazioni.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
GLI AUTOMI INGRESSIUSCITE Un Automa è un sistema con le seguenti caratteristiche: 1.Dinamico : evolve nel tempo; 2.Invariante : la risposta del sistema.
Esercizi.
Esercizio: componiamo trasformazioni
Analisi Lessicale: esercizi
Transcript della presentazione:

Si dica in quale modo la trasformazione di Thompson, TF, può essere considerata come definente un compilatore. In particolare, si dica: –a) chi sono il source, 0, e l’object, 1 –b) si formalizzino 0 e 1 come linguaggi (sintassi, semantica) –c) si mostri la struttura del compilatore rispetto la sottostante macchina, ovvero si dica chi è il meta e il suo esecutore mostrando il relativo diagramma e la relazione che preserva la semantica. Esercizio: Compiliamo le espressioni regolari

Soluzione a)Il linguaggio delle espressioni regolari è il source 0, il linguaggio degli automi a stati finiti è l’object 1. b) Il linguaggio delle espressioni regolari è definito dalla coppia: (E , [-]: E  ->   2  * ) Il linguaggio degli automi a stati finiti è definito dalla coppia: (FSA, =>*: (  *xS) x (  *xS)) c) metalinguaggio EL 2 FT 0->1|2 E  FSA e  E  FT(e)  FSA oggetto per L 1sorgente di L 0 Macchina Host (language FSA) E FSA Macchina Target RTS FT(e), n {success,failure} 0->1|2 L2 -FT 0->1|2 è la trasformazione di Thompson scritta in L2  -n è ora una stringa di caratteri di  -{success,failure} -{success,failure} oppure {token,null}

metalinguaggio EL 2 FT 0->1|2 E  FSA e  E  FT(e)  FSA oggetto per L 1sorgente di L 0 Macchina Host (language FSA) E FSA Macchina Target RTS FT(e), n {success,failure} (Linguaggio C) E C Macchina Target FT+ (I,R) (e) n FT+ (I,R) 0->C|C E  C FSA e  E  FT+ (I,R) (e)  C FSA dipende da R -FT+(I,R) -FT+(I,R) è LEX -I -I è un esecutore per FSA (descritte in accordo a date regole) -R -R include il Run-Time Support e altre funzionalità di I/O LEX:- un generatore di scanners