La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Lezione 2 Dagli editor di testo alla codifica di alto livello.

Presentazioni simili


Presentazione sul tema: "Lezione 2 Dagli editor di testo alla codifica di alto livello."— Transcript della presentazione:

1 Lezione 2 Dagli editor di testo alla codifica di alto livello

2 Il punto di partenza: Testo digitalizzato a livello di carattere (usando ASCII, ISO-Latin-1, o UNICODE) Le avventure di Pinocchio Capitolo I Come andò che Maestro Ciliegia, falegname, trovò un pezzo di legno, che piangeva e rideva come un bambino. C'era una volta... - Un re! - diranno subito i miei piccoli lettori. - No, ragazzi, avete sbagliato. C'era una volta un pezzo di legno. Non era un legno di lusso, ma un semplice pezzo da catasta, di quelli che d'inverno si mettono nelle stufe e nei caminetti per accendere il fuoco e per riscaldare le stanze. Non so come andasse, ma il fatto gli è che un bel giorno questo pezzo di legno capitò nella bottega di un vecchio falegname, il quale aveva nome mastr'Antonio, se non che tutti lo chiamavano maestro Ciliegia, per via della punta del suo naso, che era sempre lustra e paonazza, come una ciliegia matura.

3 Cosa intendiamo qui per testo? Testo: insieme di parole, dal latino textus, correlate tra loro per costituire un'unità logico-concettualeparolelatino Significato qui rilevante: una stringa di simboli che possa essere prodotta/letta direttamente da un essere umano. Ad esempio: Un brano in un qualche linguaggio naturale. Un insieme di dati leggibili (p.es. quelli di un elenco telefonico) Un passo di un codice di programmazione, Il file di configurazione di un software Ma non, ad esempio: Qualsiasi opera di ingegno umana (p.es. non un dipinto, una melodia fischiettata,…) Un file prodotto e interpretato esclusivamente da macchine (p.es. una parte di un programma eseguibile) Una sequenza casuale di simboli vago Criterio intrinsecamente vago

4 Elaborazione di un testo a livello carattere: 3 categorie di programmi Editor di testo: p.es. blocco note, Emacs, Scite, … Programmi di videoscrittura: Microsoft Word, WordPerfect, Openoffice Writer,… Programmi di Desktop publishing Adobe Pagemaker, Quark Xpress,…

5 Editor di testo Programmi per caricare, scrivere o modificare testi in formato ASCII (Latin-1 / UNICODE) Funzioni di stampa ridotte allosso (niente formattazione del carattere, paragrafo, …) Funzioni anche molto sofisticate di manipolazione del testo (ricerca/sostituzione avanzata, macro, …) Sensibili alla sintassi di vari tipi di file di testo (linguaggi di programmazione, HTML, …)

6 Editor di testo Blocco note (ingl. Notepad) di Windows. Editor minimalista, distribuito con Windows. Legge di base file con suffisso.txt Nessuna funzione sofisticata Nessuna sensibilità al tipo di file Conosce UNICODE Problemi nel trattamento di file non- windows

7 Blocco note / Notepad

8 Segni di fine linea Unix non riconosciuti (LF)

9 Blocco note (su un file binario.doc) Caratteri binari non stampabili Caratteri stampabili presenti nel file Word

10 Scite

11 Scite (su un file binario.doc, scritto da Word)

12 Scite (su un file.html)

13 Scite (su un file.c, un linguaggio di programmazione)

14 Scite (su un altro linguaggio, Python)

15 Emacs Probabilmente il più potente editor esistente. Può essere esteso dagli utenti per usi vari; modulare Sofisticata serie di comandi sul testo Gratuito, con codice a disposizione (open source) Due versioni: GNU Emacs (1976 Richard Stallman) e XemacsGNU Emacs Xemacs Disponibile per UNIX, Windows, Mac, …Windows Interfaccia prevalentemente non grafica; ben documentata ma difficile da imparare

16 Emacs: estensibilità Grazie a varie estensioni, oltre alle funzioni più comuni, Emacs consente di: Scrivere ed analizzare programmi in qualsiasi linguaggio Leggere la posta e le news Visualizzare pagine web Visualizzare alcuni tipi di immagini Trattare documenti multilingue Visualizzare calendari e agende di vario tipo Eseguire programmi esterni sul testo caricato Giocare, …

17 GNU Emacs (sul testo di Beccaria)

18 GNU Emacs (uso dei colori su un file in c)

19 GNU Emacs (calendario con festività varie)

20 GNU Emacs (fasi lunari, esempi di alfabeti)

21 Editing avanzato: sistemi di sicurezza anticrash (Emacs, Word) Salvataggio automatico ogni n caratteri battuti Mantenimento della versione precedente ogni volta che si salva un file (Copia di backup in Word) Possibilità di criptazione dei file Possibilità di lavorare su file diversi come se fossero uno stesso documento

22 Editing avanzato: comandi di alterazione/spostamento (Emacs) Con una singola combinazione di tasti è possibile: Trasporre due caratteri, due parole, due righe (teh the) Mettere in maiuscolo/minuscolo la parola che segue (tutta, o solo la lettera iniziale) Spostarsi di una frase/paragrafo/sezione… Cancellare fino a fine/inizio riga …

23 Editing avanzato: macro (Emacs, Word) Possibilità di registrare una sequenza di comandi mentre la si esegue La sequenza può essere poi salvata, modificata e riprodotta con una semplice combinazione di tasti Possibilità di eseguire una macro n volte Utile per velocizzare sequenze di operazioni ripetitive

24 Editing avanzato:trova/sostituisci tramite espressioni regolari Il linguaggio delle espressioni regolari (regular expressions) consente di descrivere in modo astratto gruppi di caratteri. Esempio (sintassi di Emacs) Espress.Significato aIl carattere a.Qualsiasi carattere (\. trova il punto) [a-z]Un carattere compreso tra a e z minuscole [^a-z]Ogni carattere tranne quelli in [a-z] ba?b o ba (a occorre 0 o 1 volte) ba+ba, baa, baaa, baaaa, … (1 o più volte) ba*b, ba, baa, baaa … (0 o più volte) \(da\)+da, dada, dadada, … \(in\|ne\)in oppure ne (alternativa) \(.+\) \1Gruppo di uno o più caratteri ripetuto con 1 spazio in mezzo (alto alto, caldo caldo)

25 Editing avanzato Memoria nelle espressioni regolari: \( testo1 \) \( testo2 \) memorizza testo1 e testo2 nelle variabili \1 e \2 \1 restituisce testo1 \2 restituisce testo2 Utile nelle ricerche di espressioni regolari e nella sostituzione Consente di trovare ripetizioni di uno stesso elemento testuale, qualunque esso sia.

26 Editing avanzato:trova/sostituisci tramite espressioni regolari Trova: \(.\)\(.\)\(.\) e sostituisci con: \3\2\1 Trova qualsiasi terna di caratteri, assegnagli i numeri \1, \2 e \3 …e riscrivili in ordine inverso Esempio: abc \1 = a, \2 = b, \3 = ccba Trova: \(io\|lui\) e sostituisci con: \1 \1 io io io ; lui lui lui

27 Editing avanzato:trova/sostituisci tramite espressioni regolari Trova: \([^.?!]\) +\([A-Z]\(\.\|[a-z]+\)\) +\([A-Z][a-z]+\) e sostituisci con: \1 \4, \2 Dopo un carattere che non sia il punto fermo, esclamativo o interrogativo, trova un nome maiuscolo o una iniziale puntata, seguito dopo uno o più spazi da un cognome, e … …inverti il nome o liniziale, con il cognome, marcandoli con e rispettivamente, separati da, Esempio: Marco Tullio Tullio, Marco M. Tullio Tullio, M.. Ecce Homo! Non fa nulla (non otteniamo Homo Ecce )

28 Editor avanzati Pro. Utilissimi: Per elevati volumi di scrittura, o frequenti cicli di correzione (uso rapido dei tasti invece del mouse) Quando laspetto del documento stampato è irrilevante o viene delegato ad altri (p.es. una casa editrice) o a un software specifico Quando si devono modificare elevate quantità di dati simili (elenchi di nomi, numeri telefonici, errori sistematici in un documento lungo) Per testi particolari (programmi, file tecnici), se leditor può marcare automaticamente la sintassi, e/o correggere sviste. In genere gratuiti, e disponibili su ogni S.O.

29 Editor avanzati Contra. Mancanza di formattazione tipo WYSIWYG (What You See Is What You Get) Ripida curva di apprendimento per poter utilizzare i programmi al di là delle funzioni di base. Il trova/sostituisci con le espressioni regolari può fare gravi danni in un testo (importanza del backup!) Compatibilità parziale con programmi che richiedono o si aspettano testo formattato (Word)

30 Per saperne di più Sito principale di Emacs: Manuale in italiano di Emacs online: Espressioni regolari: Sez. 4.2 del Lenci, Montemagni, Pirrella Testo e Computer Manuale online di Emacs, sez. sulle espressioni regolari: #sintassi-delle-espressioni-regolari #sintassi-delle-espressioni-regolari

31 Elaborazione di un testo a livello carattere: categorie di programmi Editor di testo: p.es. blocco note, Emacs, Scite, … Programmi di videoscrittura: Microsoft Word, WordPerfect, Openoffice Writer,… Programmi di Desktop publishing Adobe Pagemaker, Quark Xpress,…

32 Programmi di videoscrittura Consentono una gestione globale del documento Composizione, modifica, revisione Definizione struttura (metodo degli stili) Formattazione e stampa Più limitati nelle funzioni di editing rispetto agli editor avanzati, e nelle funzioni di composizione e stampa rispetto ai veri programmi di Desktop Publishing Problemi di interoperatività (Word/altri, vecchie/nuove versioni, Windows/Mac)

33 Programmi di videoscrittura Le funzioni di formattazione e stampa messe a disposizione da un programma come Word sono già il riflesso di una (spesso non esplicita o coerente) strutturazione del testo che va al di là della codifica di livello 0 Grassetto enfasi (?) Corsivo citazione (?) / enfasi (?) / … Centratura titolo (di testo/sezione,…?)

34 Formato grafico e codifica Luso del formato grafico per rappresentare una codifica di alto livello è insufficiente Non sufficientemente esplicito (cosa significa un corsivo ?) Difficilmente combinabile (corsivo+grassetto+apice+… = illegibilità) Non applicabile a certi elementi (p.es. fine pagina) o legato a determinate realizzazioni del testo (video a colori, stampa,…) Esteticamente debole


Scaricare ppt "Lezione 2 Dagli editor di testo alla codifica di alto livello."

Presentazioni simili


Annunci Google