Benvenuto, gentile lettore.
Se avete già programmato, almeno un po', in ambiente UNIX, avrete incontrato i mistici programmi Lex & YACC, o come sono conosciuti dagli utenti di GNU/Linux di tutto il mondo, Flex & Bison, dove Flex è un'implementazione di Lex di Vern Paxson e Bison la versione GNU di YACC. Questi programmi saranno chiamati d'ora in poi Lex e YACC - le nuove versioni sono compatibili con le vecchie, quindi Flex e Bison possono essere usati per provare gli esempi qui forniti.
Questi programmi sono immensamente utili, ma come per il compilatore C, la loro pagina di manuale non spiega il linguaggio da usare con loro, e neppure come usarli. YACC è realmente impressionante se utilizzato in combinazione con Lex, ciò non di meno, la pagina di manuale di Bison non dice come integrare il codice generato da Lex con Bison.
Ci sono parecchi libri ben fatti che trattano di Lex & YACC. Siete invitati a leggerli se vi servissero maggiori informazioni. Contengono molte pi$ugrave; informazioni di quelle che si possono trovare qua. Vedere la sezione 'Letture ulteriori' in fondo a questo documento. Questo documento ha lo scopo di permettervi di iniziare a usare Lex & YACC in modo da permettervi di creare i vostri primi programmi.
La documentazione fornita insieme a Flex e BISON è eccellente ma non è un tutorial. Comunque completa molto bene il mio HOWTO. Potete trovare i riferimenti ad essa, sempre alla fine di questo documento.
Non sono per nulla un esperto di YACC/Lex. All'inizio della stesura di questo documento, avevo esattamente due giorni di esperienza. Il mio solo obiettivo è quello di rendere pi$ugrave; facili a voi quei due giorni.
Non ci si aspetti neppure che l'HOWTO possieda un buono stile YACC e Lex. Gli esempi sono stati mantenuti il pi$ugrave; possibile semplici e ci possono essere maniere migliori per scriverli. Se ne conoscete, siete pregati di comunicarmelo.
Si noti che è possibile scaricare tutti gli esempi qui mostrati [quelli originali in inglese], che sono in formato leggibile dalle macchine. Si veda la homepage per i dettagli. Gli esempi in italiano tradotti in italiano si possono scaricare dal sito ILDP.
Copyright (c) 2001 bert hubert. Questo materiale può essere distribuito solo entro i termini e condizioni enunciate nella Open Publication License, vX.Y o successive (l'ultima versione è attualmente disponibile presso http://www.opencontent.org/openpub/).