Sartomiki.net

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Esercizi Jflex e CUP Esercizio 1 - JFlex - Scanner di PathName

Esercizio 1 - JFlex - Scanner di PathName

E-mail Stampa PDF
Valutazione attuale: / 0
ScarsoOttimo 

Testo
Date le seguenti definizioni regolari relative alla descrizione di un filename con eventuale path (secondo il formato DOS) scrivere, utilizzando il programma JFLEX, un scanner in grado di riconoscere un pathname corretto.

Definizioni Regolari
PathFileName  → ( Drive : )? (\)? (PathName \ )* FileName (. FileType)?
Drive → letter
PathName → id
FileName → id
FileType → id
Id → (letter | digit )( letter | digit )*
letter: tutte le lettere dell’alfabeto e i caratteri speciali tranne: slash, backslash, due punti, asterisco, punto interrogativo, doppie virgolette, minore, maggiore, simbolo OR.
digit: le cifre da 0 a 9

Esempi
Stringhe di caratteri riconosciute dall'analizzatore lessicale come FileName:
- A:\DIR1\DIR2\FILE1.EXE
- E:\FILE1.BAT - DIR1\DIR2\FILE2
- \UNIX\FILE.C
- A:README.TXT
- PIPPO

Soluzione
%%

%class e1
%standalone

pathfilename = ({drive}\:)?(\\)?({pathname}\\)*{filename}(\.{filetype})?
drive = {letter}
pathname = {id}
filename = {id}
filetype = {id}
id = ({letter}|{digit})+
letter = [^0-9\/\\\:\*\"\?\<\>\|\r\n]
digit = [0-9]

%%

{pathfilename} { System.out.println("Trovato: " + yytext()); }


blog comments powered by Disqus
 

http://sartomiki.net/modules/mod_fuofb/assets/it/find-us-on-facebook-1.png

Follow me

Amici

Chi è online

 9 visitatori online

Siti amici

Web4Web.IT - Low Cost Hosting

Notizie flash

Sono online un po' di appunti! A partire da calcolatori elettronici, proseguendo per introduzione alle reti telematiche e passando infine per sistemi operativi. Scrivetemi se trovate qualche errore... A breve saranno aggiunti nuovi appunti e completati quelli attuali!

PUBBLICITA'