TCL PAD: UN EDITOR DI TESTO ESTENDIBILE, INCORPORABILE E CON INTERFACCE DI TEXT-PROCESSING

Documenti analoghi
Tecnologie dei Sistemi di Automazione

Linguaggi dinamici: quando nascono?

Java: un linguaggio per applicazioni di rete

Linguaggi di Programmazione

Strumenti per l automazione del testing di applicazioni web Javascript-based

Sviluppo di strumenti grafici su una Web Application per il data mining

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione

Traduzione e interpretazione

Introduzione a Java Server Pages (JSP) (estratto) SAPIENZA Università di Roma Corso di Architetture Software Orientate ai Servizi

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

Python Start. Docente: M. Chiara Debernardi. Lingua del corso. Descrizione del corso e obiettivi. Destinatari. Italiano

Ambienti di Sviluppo. Linguaggi compilati

Metodi e Tecniche per il Riuso di componenti in Applicazioni Android

Introduzione al Linguaggio C ed all IDE DEV-C++

Sviluppo di applicazioni mobili su piattaforma Maemo

Studio di buffer overflow in ambiente Win32

Laboratorio - Programmazione

D B M G Il linguaggio HTML

Programmazione Web D B M G. Il linguaggio HTML

Iniziare a programmare in C++

@2011 Politecnico di Torino 1

Analisi di strumenti e tecniche per lo sviluppo di applicazioni Ajax.

Componenti di una applicazione. Esempio: Microsoft Word

TESI DI LAUREA IN INFORMATICA

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC.

Linguistica Computazionale: esercitazioni

Un architettura orientata ai servizi per la localizzazione di dispositivi mobili

Prima Prova (Traccia 1)

Calcolo numerico e programmazione Programmazione

Java e i Tipi di dati primitivi. Parte 3

Multigroup Chat in Python hosted on Raspberry PI. a cura di Raimondi Cominesi Simone & Voltolini Pietro

Progetto e sviluppo di un applicazione Android per il controllo di reti di sensori senza filo

Linguaggi di programmazione

Il Web come Interfaccia Utente di un Sistema Informativo

Python Start. Docente: M. Chiara Debernardi. Lingua del corso. Descrizione del corso e obiettivi. Destinatari. Prerequisiti.

Sistemi Informativi Aziendali. Programma del corso

Base. Come realizzare applicazioni di web mapping

Gestione dei vincoli in ambiente Wiki

Lezione 2. Massimiliano Palese IEEE Student Member

Programmazione lato client. JavaScript. Applicazioni di Rete M. Ribaudo - DISI. JavaScript

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche

Programmazione modulare

Sistema Operativo Chrome: Analisi degli aspetti peculiari.

Concetti introduttivi

Testing di applicazioni flex: uso dello strumento FlexUnit

MVC - Principio. MVC Model View Controller. MVC - Terminologia. MVC - Funzionamento. Richiesta. Controller. Model. Risposta. View

Sistemi Di Elaborazione Dell informazione

Università degli Studi di Napoli Federico II

A mia moglie Ilaria ed ai miei familiari

Macchine astratte, linguaggi, interpretazione, compilazione

Parte 6 JSON, Web Storage API, funzioni JavaScript e user script

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript

Parte 6 JSON, Web Storage API, funzioni JavaScript e user script

Elaborazione di documenti XML

Introduzione al Linguaggio C ed all IDE DEV-C++

Indice. Come è strutturato il sistema HMI HIGHLIGHTS. ASEM Premium HMI 4 ARCHITETTURA

Tesi di laurea: Realizzazione di Strumenti per la valutazione di accessibilità di pagine Web

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

Strumenti per lo sviluppo e la gestione di Ontologie

Introduzione al Sistema Operativo MS-Windows ed all Uso dell IDE DEV-C++

Solution Integrator 18/06/16.

MapServer. Marco Negretti

Università degli Studi di Enna Kore Facoltà di Ingegneria ed Architettura

JavaScript. Caratteristiche del JavaScript. Javascript consente di rendere dinamiche le pagine HTML

MapServer. Marco Negretti. Politecnico di Milano Polo Regionale di Como

La fase di Implementazione

Fondamenti di Informatica. Ingegneria elettronica

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016

Programmazione Web D B M G. Il linguaggio HTML

Solution Integrator 28/12/16.

Il Web. Struttura e servizi

Corso Programmazione Java Standard

Informatica B. Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti. Prof. Marco Masseroli

Corso di JavaScript. Prerequisiti. A1 - Introduzione. Conoscenza HTML Architettura client-server. M. Malatesta A1-Introduzione-01 14/05/2012

Tesi di Laurea Triennale in Ingegneria Informatica REALIZZAZIONE DI UN APPLICATIVO PER LA GESTIONE DI FOGLI DI LAVORO INTEGRATO IN OUTLOOK 2010

Sul mac: Fai File -> Salva. immetti il nome esempio1 sotto la voce formato file clicca sulla freccina e scegli Pagina Web (.html)

Macchine astratte, linguaggi, interpretazione, compilazione

Tecnologie di Sviluppo per il Web

Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste. Basi di Dati e Web. Credits to: Prof. M. Di Felice UniBO

Javascript e CSS nelle pagine WEB

Le novità di QGIS 3 Cosa cambierà nel più utilizzato software GIS Open Source. Valerio Noti - TerreLogiche srl

Concetti introduttivi

FONDAMENTI DI INFORMATICA

Linguaggi di alto livello, compilatori e interpreti

A. Ferrari. informatica. introduzione a Java. Alberto Ferrari Informatica

Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano)

Linguaggi di alto livello, compilatori e interpreti

Prof. Pagani corrado JAVA

Realizzazione di un software per la gestione di apparecchiature biomedicali Anno Accademico 2010/2011

Linee di programmazione

Un sistema di identificazione basato sulla tecnologia RFID

Tesi di Laurea: Uno strumento per l estrazione di sessioni utente per applicazioni web JavaScript-based Anno Accademico: 2005/2006

Introduzione al linguaggio Python

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Race condition in applicazioni web

Architettura di un linguaggio dinamico

Basi di Dati Architetture Client/Server

La tecnologia per le applicazioni Web

Transcript:

Tesi di Laurea Triennale in Ingegneria Informatica TCL PAD: UN EDITOR DI TESTO ESTENDIBILE, INCORPORABILE E CON INTERFACCE DI TEXT-PROCESSING Relatore: Prof. SERGIO FLESCA Laureando: ANTONIO BONIFATI MATR. 76515

Indice 2 Indice........................... 2 1 Tcl/Tk 3 Scripting......................... 4 Perché Tcl?....................... 6 Tk............................. 8 2 Tcl pad (tpad) 9 Caratteristiche..................... 10 Esempio di editor.................... 11 Esempio di plugin................... 12 Riuso........................... 13

Tcl pad: un editor di testo estendibile, incorporabile e con interfacce di text-processing Cap. 1 Tcl/Tk Università della Calabria

Scripting 4

Scripting 4 Linguaggi di sistema (C/C++, Java): basso/medio livello fortemente tipati compilati codice e dati separati 5-10 istruzioni macchina/linea codice Linguaggi di script (Perl, Python, Tcl): alto livello senza tipi interpretati codice e dati intercambiabili 100-1000 istruzioni macchina/linea codice

Scripting 5 Uso dei linguaggi di sistema: sviluppo applicazioni da zero strutture dati e algoritmi complessi elaborazione di grosse quantità di dati applicazioni con funzioni ben definite Uso dei linguaggi di script: integrazione componenti o applicazioni esistenti (RAD) GUI ed elaborazione delle stringhe funzionalità che evolvono rapidamente richiesta estendibilità e personalizzazione portabilità

Scripting 5 Uso dei linguaggi di sistema: sviluppo applicazioni da zero strutture dati e algoritmi complessi elaborazione di grosse quantità di dati applicazioni con funzioni ben definite Uso dei linguaggi di script: integrazione componenti o applicazioni esistenti (RAD) GUI ed elaborazione delle stringhe funzionalità che evolvono rapidamente richiesta estendibilità e personalizzazione portabilità Sono complementari!

Perché Tcl? 6

Perché Tcl? 6 Tool Command Language. Prof. John Ousterhout, U.C. Berkeley, 1987-88.

Perché Tcl? 6 Tool Command Language. Prof. John Ousterhout, U.C. Berkeley, 1987-88. Caratteristiche principali: linguaggio colla, di scripting e per estensioni interprete incorporabile in C/C++, Java

Perché Tcl? 6 Tool Command Language. Prof. John Ousterhout, U.C. Berkeley, 1987-88. Caratteristiche principali: linguaggio colla, di scripting e per estensioni interprete incorporabile in C/C++, Java vantaggi configurabilità semplicità personalizzazione programmabilità cooperazione estendibilità uniformità

Perché Tcl? 7 lightweight; implementato in C compilazione al volo; bytecode portabile open-source (non ristretto) sintassi semplice; parametri con nome

Perché Tcl? 7 lightweight; implementato in C compilazione al volo; bytecode portabile open-source (non ristretto) sintassi semplice; parametri con nome implementazioni: UNIX, Windows, Macintosh (completa) PalmOS, VMS, OS/2 (manca Tk)

lightweight; implementato in C compilazione al volo; bytecode portabile open-source (non ristretto) sintassi semplice; parametri con nome implementazioni: UNIX, Windows, Macintosh (completa) PalmOS, VMS, OS/2 (manca Tk) ubiquo: shell applicazioni stand-alone scripting lato-client plugin per browser web HTML scripting scripting lato-server Perché Tcl? 7

Tk 8

Tk 8 estensione di Tcl per le GUI: toolkit ad alto livello tempi di turn-around brevi GUI e resto del programma separati widget nativi; geometry manager

Tk 8 estensione di Tcl per le GUI: toolkit ad alto livello tempi di turn-around brevi GUI e resto del programma separati widget nativi; geometry manager basata sul modello ad eventi ciclo degli eventi e priorità: window events I/O su file e socket timer idle events Logo

Tcl pad: un editor di testo estendibile, incorporabile e con interfacce di text-processing Cap. 2 Tcl pad (tpad) Università della Calabria

Caratteristiche 10

Caratteristiche 10 libreria per creare editor di testo estende il widget text di Tk comandi scritti in Tcl dynamic loading nessun limite sul testo modalità sola lettura struttura object-based supporto multilingua (I18N/L10N) espressioni regolari architettura per plugin

Esempio di editor 11

Esempio di editor 11 solo 215 linee di codice!

Esempio di plugin 12

Esempio di plugin 12

Riuso 13

Riuso 13 Tre modalità di riuso: Interfaccia a riga di comando Intercomunicazione tra applicazioni API

Riuso 13 Tre modalità di riuso: Interfaccia a riga di comando Intercomunicazione tra applicazioni API Integrazione con altre applicazioni: in finestra separata (modale e non) nella finestra principale

Riuso 13 Tre modalità di riuso: Interfaccia a riga di comando Intercomunicazione tra applicazioni API Integrazione con altre applicazioni: in finestra separata (modale e non) nella finestra principale Sorgente del testo: file permanente o temporaneo variabile di memoria Tcl

Riuso 13 Tre modalità di riuso: Interfaccia a riga di comando Intercomunicazione tra applicazioni API Integrazione con altre applicazioni: in finestra separata (modale e non) nella finestra principale Sorgente del testo: file permanente o temporaneo variabile di memoria Tcl http://tclpad.sourceforge.net

Fine