.L

File L

Lex Language Source File
Fai una domanda
RISPOSTA RAPIDA

Un file L è un file sorgente Lex o Flex - una specifica in testo semplice per un analizzatore lessicale (tokenizer), utilizzato nello sviluppo di compilatori e interpreti. Può essere aperto in qualsiasi editor di codice; per compilare lo scanner, è necessario eseguire flex su di esso. L'estensione è utilizzata anche per i sorgenti Lisp e le pagine man di Unix, quindi è bene controllare il contenuto del file se non è chiaro.

Sviluppatore: Mike Lesk and Eric Schmidt (Lex, Bell Labs); Vern Paxson (Flex) Categoria: File di sviluppo Standard aperto MIME: text/plain
SI APRE SU Windows macOS Linux
Correlati: .DO · .MD · .HEX · .XSD

In questa pagina

19k+ estensioni indicizzate
Ultima revisione Sep 6, 2026

Non sei sicuro di cosa sia il tuo file?

Trascina qualsiasi file nel nostro identificatore - leggiamo solo i primi byte per dare un nome al formato.

Identifica un file

Che cos'è il formato di file L?

Un file .l è una specifica di un analizzatore lessicale in testo semplice scritta nel linguaggio Lex. Definisce come un flusso di caratteri in input debba essere suddiviso in token - il primo passo nella costruzione di un compilatore, un interprete o uno strumento di elaborazione testi.

Il formato è stato creato presso i Bell Labs nel 1975 da Mike Lesk ed Eric Schmidt come parte della toolchain Unix. Oggi, praticamente tutti i file .l vengono elaborati da Flex (Fast Lexical Analyzer), il successore open-source dell'era GNU sviluppato da Vern Paxson, sebbene la sintassi sorgente rimanga sostanzialmente la stessa.

Un file .l è diviso in tre sezioni separate da righe con il marcatore %%:

  • Definizioni - macro regex con nome e direttive %option
  • Regole - coppie di espressioni regolari e codice d'azione C che vengono eseguite in caso di corrispondenza
  • Codice utente - funzioni C ausiliarie opzionali aggiunte testualmente all'output

Un blocco opzionale %{ ... %} vicino all'inizio inietta dichiarazioni C direttamente nello scanner generato. Eseguendo flex yourfile.l (o lex yourfile.l) si produce lex.yy.c, un file sorgente C autonomo che implementa lo scanner come un automa a stati finiti deterministico. Tale output viene compilato con un compilatore C e tipicamente collegato a un file di grammatica Yacc/Bison per costruire un processore linguistico completo.

Si noti che .l è utilizzato anche per i file sorgente Lisp e i sorgenti delle pagine di manuale troff di Unix, quindi il contesto del file è fondamentale per identificarne il tipo.

Sicurezza e incolumità

RISCHIO: LOW

Un sorgente Lex .l è testo semplice e sicuro da aprire in un editor. L'unica cautela: le regole contengono codice d'azione C, e un file .l malevolo potrebbe incorporare codice C dannoso che viene eseguito una volta compilato. Esamina i file .l da fonti non attendibili prima di eseguire flex e compilarli.

Dettagli del formato

in sintesi
NOME COMPLETOLex Language Source Fileanche noto come Lex source, Flex source file
SVILUPPATOREMike Lesk and Eric Schmidt (Lex, Bell Labs); Vern Paxson (Flex)dal Lex, 1975 (Unix); standardized in POSIX (lex utility)
TIPO MIMEtext/plain
TIPOSpecifica di analizzatore lessicale in testo semplice (codice sorgente)
STANDARDAperto · royalty-free
Questa estensione è usata anche da…
  • File sorgente Lisp (.l) - Alcuni dialetti/implementazioni Lisp usano .l per il codice sorgente; testo semplice, ma un linguaggio diverso da Lex.
  • Sorgente pagina man Unix / troff (.l) - Pagine di manuale della Sezione-l (locale) in sorgente nroff/troff; documentazione, non una specifica di lexer.
  • Libreria Interleaf / WordPerfect (.l) - File di libreria o elenco in vecchi sistemi di documenti; raro.

Programmi che aprono file L

Windows3 apps
Notepad Open-source Apri direttamente per visualizzare o modificare la specifica del lexer.
Visual Studio Code Gratuito Apri il file .l per leggere/modificare; installa un'estensione di sintassi Lex/Flex per l'evidenziazione.
Flex (win_flex via WinFlexBison) Open-source Esegui «win_flex file.l» per generare il sorgente dello scanner C su Windows.
macOS1 app
TextEdit / VS Code Gratuito Apri per leggere/modificare; esegui «flex file.l» nel Terminale per compilare lo scanner.
Linux2 apps
Flex Open-source Esegui «flex file.l» per generare lex.yy.c, quindi compila con cc.
GNU Emacs / Vim / gedit Open-source Apri il file .l in qualsiasi editor per leggere o modificare le regole del lexer.

Dettagli tecnici

specifiche approfondite
Tipo di formatoSpecifica di analizzatore lessicale in testo semplice (codice sorgente)
CodificaTesto semplice ASCII / UTF-8; nessun header binario o magic bytes
Struttura del fileTre sezioni separate da `%%`: definizioni, regole e codice C utente
Sezione 1 - DefinizioniMacro regex con nome e direttive `%option` (es. `%option noyywrap`)
Sezione 2 - RegoleCoppie di pattern di espressioni regolari e blocchi di codice d'azione C eseguiti al match
Sezione 3 - Codice utenteFunzioni ausiliarie C opzionali copiate testualmente nel file di output generato
Blocco di iniezione codice CIl prologo `%{ ... %}` vicino all'inizio inietta dichiarazioni C nello scanner generato
Output primario`lex.yy.c` - un file sorgente C che implementa uno scanner basato su DFA
Tipo MIME`text/plain` (alias informale: `text/x-lex`)
Strumenti di elaborazione`lex` (AT&T/POSIX), `flex` (GNU), `win_flex` (Windows via WinFlexBison)
Dimensione tipica del file1 KB - 100 KB
Algoritmo dello scannerCompila le regole regex in un automa a stati finiti deterministico (DFA) al momento della build
Accoppiamento comuneCombinato con un file di grammatica Yacc o Bison `.y` per costruire un front-end completo del compilatore
Supporto piattaformaUnix, Linux, macOS nativamente; Windows tramite MSYS2, Cygwin o WinFlexBison
Ambiguità dell'estensione`.l` è usato anche per i file sorgente Lisp e i sorgenti delle pagine man troff di Unix - è richiesto il contesto del file
RilasciatoLex, 1975 (Unix); standardized in POSIX (lex utility)
Ultima versioneFlex 2.6.4 (2017) is the de-facto current implementation reading .l files
Standard aperto · royalty-free
Specificapubs.opengroup.org

Conversioni L

Domande e risposte della community

chiesto dagli utenti
Fai una domanda veloce
Ottieni aiuto da persone che lavorano con i file L. Sii specifico - includi il tuo sistema e la versione del software.
Nessun account necessario · risposte solitamente entro un giorno

Ancora nessuna domanda - sii il primo a chiedere informazioni sui file L.

Domande frequenti

Che cos'è un file .L?
È un file sorgente Lex/Flex - una specifica in testo semplice di un analizzatore lessicale (tokenizer). Flex lo compila in sorgente C per uno scanner. «.l» è usato anche per Lisp e pagine man.
Come si apre un file .l?
Può essere aperto in qualsiasi editor di codice (VS Code, Notepad++, Vim, Emacs). Si tratta di testo semplice.
Come si esegue o si compila un file .l?
Esegui «flex yourfile.l» per generare lex.yy.c, quindi compila quel file C (es. «cc lex.yy.c -lfl»). Su Windows usa win_flex da WinFlexBison.
Qual è la differenza tra un file .l e un file .y?
.l è una specifica per lexer Lex/Flex (tokenizzazione); .y è una grammatica Yacc/Bison (parsing). Di solito vengono usati insieme per costruire un compilatore.
Il formato .l è uguale a un file Lisp?
Non necessariamente. Alcuni dialetti Lisp usano .l per il codice sorgente, ma negli strumenti per compilatori .l significa quasi sempre una specifica di lexer Lex/Flex. Controlla il contenuto del file.
Si usa ancora Lex o ora si usa Flex?
Flex è l'implementazione moderna e mantenuta e legge gli stessi file .l; l'originale Lex di AT&T è in gran parte storico, ma il formato sorgente .l rimane lo standard.

Riferimenti

1POSIX lex utility specificationpubs.opengroup.org
2Flex - The Fast Lexical Analyzergithub.com

Continua a esplorare

nel database

Migliori estensioni della settimana

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.MDMarkdown Document
4.BINCD/DVD Disc Image (BIN/CUE)
5.RPMSGRestricted Permission Message
6.PARTPartial Download File
7.NOMEDIAAndroid No-Media Marker File
8.EXEWindows Executable (Portable Executable)
9.AVIFAV1 Image File Format (AVIF)
10.DBSQLite Database File

Estensioni correlate

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Strumenti file gratuiti

Un identificatore di file e convertitore di immagini nel browser - tutto viene eseguito sul tuo dispositivo.

Apri la cassetta degli attrezzi

Sfoglia le estensioni dei file A-Z