.L

L-fil

Lex Language Source File
Still et spørsmål
HURTIGSVAR

En L-fil er en Lex- eller Flex-kildefil - en spesifikasjon i ren tekst for en leksikalsk analysator (tokenizer), brukt i utvikling av kompilatorer og tolker. Åpne den i et hvilket som helst kodeverktøy; for å bygge skanneren, kjør flex på den. Filendelsen brukes også for Lisp-kildekode og Unix-manualsider, så sjekk filinnholdet hvis det er uklart.

Utvikler: Mike Lesk and Eric Schmidt (Lex, Bell Labs); Vern Paxson (Flex) Kategori: Utviklerfiler Åpen standard MIME: text/plain
ÅPNES PÅ Windows macOS Linux
Relatert: .DO · .MD · .HEX · .XSD

På denne siden

19k+ filendelser indeksert
Sist vurdert Sep 6, 2026

Usikker på hva filen din er?

Slipp hvilken som helst fil inn i vår identifikator - vi leser bare de første bytene for å navngi formatet.

Identifiser en fil

Hva er L-filformatet?

En .l-fil er en spesifikasjon for en leksikalsk analysator skrevet i ren tekst i språket Lex. Den definerer hvordan en strøm av inngangstegn skal deles opp i tokens - det første steget i å bygge en kompilator, tolk eller et tekstbehandlingsverktøy.

Formatet ble laget ved Bell Labs i 1975 av Mike Lesk og Eric Schmidt som en del av Unix-verktøykjeden. I dag blir nesten alle .l-filer behandlet av Flex (Fast Lexical Analyzer), den åpen kildekode-baserte etterfølgeren fra GNU-æraen utviklet av Vern Paxson, selv om syntaksen forblir stort sett den samme.

En .l-fil er delt inn i tre seksjoner separert av %%-markører:

  • Definisjoner - navngitte regex-makroer og %option-direktiver
  • Regler - par av regulære uttrykk og C-kodehandlinger som utløses ved treff
  • Brukerkode - valgfrie C-hjelpefunksjoner som legges til uendret i utdatafilen

En valgfri %{ ... %}-blokk nær toppen injiserer C-deklarasjoner direkte inn i den genererte skanneren. Ved å kjøre flex yourfile.l (eller lex yourfile.l) genereres lex.yy.c, en selvstendig C-kildefil som implementerer skanneren som en deterministisk endelig automat. Denne utdatafilen kompileres med en C-kompilator og lenkes vanligvis med en Yacc/Bison-grammatikkfil for å bygge en komplett språkprosessor.

Merk at .l også brukes for Lisp-kildefiler og Unix troff-manualsider, så filkonteksten er viktig når man identifiserer typen.

Sikkerhet og trygghet

RISIKO: LOW

En .l Lex-kilde er ren tekst og trygg å åpne i et redigeringsprogram. Den eneste advarselen: reglene inneholder C-kode, og en ondsinnet .l-fil kan inneholde skadelig C-kode som kjøres når den er kompilert. Se gjennom .l-filer fra upålitelige kilder før du kjører flex og bygger dem.

Formatdetaljer

i et nøtteskall
FULLT NAVNLex Language Source Fileogså kjent som Lex source, Flex source file
UTVIKLERMike Lesk and Eric Schmidt (Lex, Bell Labs); Vern Paxson (Flex)siden Lex, 1975 (Unix); standardized in POSIX (lex utility)
MIME-TYPEtext/plain
TYPESpesifikasjon for leksikalsk analysator i ren tekst (kildekode)
STANDARDÅpen · royalty-fri
Denne filendelsen brukes også av…
  • Lisp-kildefil (.l) - Noen Lisp-dialekter/implementasjoner bruker .l for kildekode; ren tekst, men et annet språk enn Lex.
  • Unix man-page / troff-kilde (.l) - Seksjon-l (lokale) manualsider i nroff/troff-kilde; dokumentasjon, ikke en skannerspesifikasjon.
  • Interleaf / WordPerfect-bibliotek (.l) - Eldre biblioteks- eller listefiler i gamle dokumentsystemer; sjelden.

Programmer som åpner L-filer

Windows3 apps
Notepad Åpen kildekode Åpne direkte for å se/redigere skannerspesifikasjonen.
Visual Studio Code Gratis Åpne .l for å lese/redigere; installer en Lex/Flex-syntaksutvidelse for utheving.
Flex (win_flex via WinFlexBison) Åpen kildekode Kjør 'win_flex file.l' for å generere C-skannerkildekode på Windows.
macOS1 app
TextEdit / VS Code Gratis Åpne for å lese/redigere; kjør 'flex file.l' i Terminal for å bygge skanneren.
Linux2 apps
Flex Åpen kildekode Kjør 'flex file.l' for å generere lex.yy.c, og kompiler deretter med cc.
GNU Emacs / Vim / gedit Åpen kildekode Åpne .l i et hvilket som helst redigeringsprogram for å lese eller endre skannerreglene.

Tekniske detaljer

dyp spesifikasjon
Format-typeSpesifikasjon for leksikalsk analysator i ren tekst (kildekode)
KodingASCII / UTF-8 ren tekst; ingen binær header eller magic bytes
FilstrukturTre seksjoner separert av `%%`: definisjoner, regler og bruker-C-kode
Seksjon 1 - DefinisjonerNavngitte regex-makroer og `%option`-direktiver (f.eks. `%option noyywrap`)
Seksjon 2 - ReglerPar av regulære uttrykk og C-kodeblokker som utføres ved treff
Seksjon 3 - BrukerkodeValgfrie C-hjelpefunksjoner kopiert uendret inn i den genererte utdatafilen
C-kode injeksjonsblokk`%{ ... %}`-prolog nær toppen injiserer C-deklarasjoner i den genererte skanneren
Primær utdata`lex.yy.c` - en C-kildefil som implementerer en DFA-basert skanner
MIME-type`text/plain` (uformelt alias: `text/x-lex`)
Behandlingsverktøy`lex` (AT&T/POSIX), `flex` (GNU), `win_flex` (Windows via WinFlexBison)
Typisk filstørrelse1 KB - 100 KB
SkanneralgoritmeKompilerer regex-regler til en deterministisk endelig automat (DFA) ved bygging
Vanlig paringKombineres med en `.y` Yacc- eller Bison-grammatikkfil for å bygge en komplett kompilator-frontend
PlattformstøtteUnix, Linux, macOS innebygd; Windows via MSYS2, Cygwin eller WinFlexBison
Endelses-ambiguitet`.l` brukes også for Lisp-kildefiler og Unix troff-manualsider - filkontekst er nødvendig
UtgittLex, 1975 (Unix); standardized in POSIX (lex utility)
Siste versjonFlex 2.6.4 (2017) is the de-facto current implementation reading .l files
Åpen standardJa · royalty-fri
Spesifikasjonpubs.opengroup.org

L-konverteringer

Spørsmål og svar fra fellesskapet

spurt av brukere
Still et raskt spørsmål
Få hjelp fra folk som jobber med L-filer. Vær spesifikk - inkluder systemet ditt og programvareversjon.
Ingen konto nødvendig · svar vanligvis innen en dag

Ingen spørsmål ennå - vær den første til å spørre om L-filer.

Ofte stilte spørsmål

Hva er en .L-fil?
Det er en Lex/Flex-kildefil - en spesifikasjon i ren tekst for en leksikalsk analysator (tokenizer). Flex kompilerer den til C-kildekode for en skanner. '.l' brukes også for Lisp og manualsider.
Hvordan åpner jeg en .l-fil?
Åpne den i et hvilket som helst kodeverktøy (VS Code, Notepad++, Vim, Emacs). Det er ren tekst.
Hvordan kjører eller kompilerer jeg en .l-fil?
Kjør 'flex yourfile.l' for å generere lex.yy.c, og kompiler deretter den C-filen (f.eks. 'cc lex.yy.c -lfl'). På Windows, bruk win_flex fra WinFlexBison.
Hva er forskjellen mellom en .l- og en .y-fil?
.l er en Lex/Flex-skannerspesifikasjon (tokenisering); .y er en Yacc/Bison-grammatikk (parsing). De brukes vanligvis sammen for å bygge en kompilator.
Er .l det samme som en Lisp-fil?
Ikke nødvendigvis. Noen Lisp-dialekter bruker .l for kildekode, men i kompilatorverktøy betyr .l nesten alltid en Lex/Flex-skannerspesifikasjon. Sjekk filinnholdet.
Brukes Lex fortsatt, eller er det Flex nå?
Flex er den moderne, vedlikeholdte implementasjonen og leser de samme .l-filene; den originale AT&T Lex er i stor grad historisk, men .l-kildeformatet forblir standard.

Referanser

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

Utforsk videre

på tvers av databasen

Populære filendelser denne uken

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

Relaterte filendelser

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

Gratis filverktøy

En filidentifikator og bildekonvertering i nettleseren - alt kjører på din enhet.

Åpne verktøykassen

Bla i filendelser A-Å