Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. Utilizzando Flex si genera uno scanner lessicale da cui è possibile ottenere una sequenza di token, da
  2. utilizzare durante l’analisi sintattica. Flex permette di dividere il file .fl in tre sezioni. Ho utilizzato la prima
  3. sezione per inserire un segmento di codice C racchiuso tra %{ e %}, dove ho incluso alcune librerie utili
  4. al file lex.yy.c generato dal comando Flex. In particolare ho incluso la libreria “string.h” per utilizzare la
  5. funzione strstr(char*,char*) e “Progetto.tab.h” che è un file header generato dal comando Bison.
  6. Nella seconda sezione invece vengono inserite le regole che definiscono i pattern dei token e le relative
  7. azioni, in particolare per ogni espressione regolare si utilizza il comando return(nome_token) per
  8. generare un token. L’unica eccezione è l’espressione [ \t\n] dove non viene eseguita alcuna azione in
  9. modo da eliminare i vari tipi di spazi bianchi dal file di output.
  10. Una difficoltà che ho affrontato è quella posta dal token PREZZO, infatti questo deve esser letto in input
  11. come un decimale con la virgola, mentre il linguaggio C legge i reali con il carattere punto, tramite la
  12. funzione strstr(char*,char*) ho quindi individuato il carattere virgola e l’ho trasformato in un punto. Questo
  13. mi ha permesso quindi di convertire correttamente la stringa in double.
  14. La terza sezione infine è opzionale e viene utilizzata per inserire funzioni ausiliarie in c, nel mio caso non
  15. è stato necessario utilizzarla.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement