.L

L-fil

Lex Language Source File
Stil et spørgsmål
HURTIGT SVAR

En L-fil er en Lex- eller Flex-kildefil - en almindelig tekstspecifikation for en leksikalsk analysator (tokenizer), der bruges i udvikling af compilere og interpretere. Åbn den i en hvilken som helst kodeeditor; for at bygge scanneren skal du køre flex på den. Filtypen bruges også til Lisp-kildekode og Unix man-sider, så tjek filindholdet, hvis det er uklart.

Udvikler: Mike Lesk and Eric Schmidt (Lex, Bell Labs); Vern Paxson (Flex) Kategori: Udviklerfiler Åben standard MIME: text/plain
ÅBNER PÅ Windows macOS Linux
Relateret: .DO · .MD · .HEX · .XSD

På denne side

19k+ filtyper indekseret
Sidst gennemset Sep 6, 2026

Er du ikke sikker på, hvad din fil er?

Træk en fil over i vores identifikator - vi læser kun de første bytes for at navngive formatet.

Identificer en fil

Hvad er L-filformatet?

En .l-fil er en leksikalsk analysator-specifikation i almindelig tekst skrevet i Lex-sproget. Den definerer, hvordan en indgående tegnstrøm skal opdeles i tokens - det første skridt i opbygningen af en compiler, interpreter eller et tekstbehandlingsværktøj.

Formatet blev skabt hos Bell Labs i 1975 af Mike Lesk og Eric Schmidt som en del af Unix-værktøjskæden. I dag behandles stort set alle .l-filer af Flex (Fast Lexical Analyzer), den open source-efterfølger fra GNU-æraen udviklet af Vern Paxson, selvom kildesyntaksen stort set er den samme.

En .l-fil er opdelt i tre sektioner adskilt af %%-markeringslinjer:

  • Definitioner - navngivne regex-makroer og %option-direktiver
  • Regler - par af regulære udtryk og C-handlingskode, der aktiveres ved et match
  • Brugerkode - valgfrie hjælpefunktioner i C, der tilføjes ordret til outputtet

En valgfri %{ ... %}-blok nær toppen indsætter C-erklæringer direkte i den genererede scanner. Kørsel af flex dinfil.l (eller lex dinfil.l) producerer lex.yy.c, en selvstændig C-kildefil, der implementerer scanneren som en deterministisk endelig automat. Dette output compiles med en C-compiler og linkes typisk med en Yacc/Bison-grammatikfil for at bygge en komplet sprogprocessor.

Bemærk, at .l også bruges til Lisp-kildefiler og Unix troff-manualsider, så filkonteksten er vigtig, når typen skal identificeres.

Sikkerhed og tryghed

RISIKO: LOW

En .l Lex-kilde er almindelig tekst og sikker at åbne i en editor. Den eneste advarsel: reglerne indeholder C-handlingskode, og en ondsindet .l-fil kan indeholde skadelig C, der kører, når den er compiled. Gennemse .l-filer fra upålidelige kilder, før du kører flex og bygger dem.

Formatdetaljer

kort fortalt
FULDSTÆNDIGT NAVNLex Language Source Fileogså kendt som Lex source, Flex source file
UDVIKLERMike Lesk and Eric Schmidt (Lex, Bell Labs); Vern Paxson (Flex)siden Lex, 1975 (Unix); standardized in POSIX (lex utility)
MIME-TYPEtext/plain
TYPELeksikalsk analysator-specifikation i almindelig tekst (kildekode)
STANDARDÅben · royaltyfri
Dette filtypenavn bruges også af…
  • Lisp-kildefil (.l) - Nogle Lisp-dialekter/implementeringer bruger .l til kildekode; almindelig tekst, men et andet sprog end Lex.
  • Unix man-side / troff-kilde (.l) - Sektion-l (lokale) manualsider i nroff/troff-kilde; dokumentation, ikke en lexer-specifikation.
  • Interleaf / WordPerfect-bibliotek (.l) - Ældre biblioteks- eller listefiler i ældre dokumentsystemer; sjælden.

Programmer der åbner L-filer

Windows3 apps
Notepad Open-source Åbn direkte for at se/redigere lexer-specifikationen.
Visual Studio Code Gratis Åbn .l for at læse/redigere; installer en Lex/Flex-syntaksudvidelse for fremhævning.
Flex (win_flex via WinFlexBison) Open-source Kør «win_flex file.l» for at generere C-scanner-kilden på Windows.
macOS1 app
TextEdit / VS Code Gratis Åbn for at læse/redigere; kør «flex file.l» i Terminal for at bygge scanneren.
Linux2 apps
Flex Open-source Kør «flex file.l» for at generere lex.yy.c, og compilér derefter med cc.
GNU Emacs / Vim / gedit Open-source Åbn .l i en hvilken som helst editor for at læse eller ændre lexer-reglerne.

Tekniske detaljer

dyb specifikation
Format-typeLeksikalsk analysator-specifikation i almindelig tekst (kildekode)
KodningASCII / UTF-8 almindelig tekst; ingen binær header eller magic bytes
FilstrukturTre sektioner adskilt af `%%`: definitioner, regler og bruger-C-kode
Sektion 1 - DefinitionerNavngivne regex-makroer og `%option`-direktiver (f.eks. `%option noyywrap`)
Sektion 2 - ReglerPar af regulære udtryksmønstre og C-handlingskodeblokke, der udføres ved match
Sektion 3 - BrugerkodeValgfrie C-hjælpefunktioner kopieret ordret ind i den genererede outputfil
C-kode-injektionsblok`%{ ... %}` prolog nær toppen indsætter C-erklæringer i den genererede scanner
Primært output`lex.yy.c` - en C-kildefil, der implementerer en DFA-baseret scanner
MIME-type`text/plain` (uformelt alias: `text/x-lex`)
Behandlingsværktøjer`lex` (AT&T/POSIX), `flex` (GNU), `win_flex` (Windows via WinFlexBison)
Typisk filstørrelse1 KB - 100 KB
Scanner-algoritmeCompilerer regex-regler til en deterministisk endelig automat (DFA) ved byggetid
Almindelig parringKombineret med en `.y` Yacc- eller Bison-grammatikfil for at bygge en komplet compiler-frontend
PlatformunderstøttelseUnix, Linux, macOS indfødt; Windows via MSYS2, Cygwin eller WinFlexBison
Udvidelses-tvetydighed`.l` bruges også til Lisp-kildefiler og Unix troff man-side-kilde - filkontekst påkrævet
UdgivetLex, 1975 (Unix); standardized in POSIX (lex utility)
Seneste versionFlex 2.6.4 (2017) is the de-facto current implementation reading .l files
Åben standardJa · royaltyfri
Specifikationpubs.opengroup.org

L-konverteringer

Fællesskabets Q&A

spurgt af brugere
Stil et hurtigt spørgsmål
Få hjælp fra folk, der arbejder med L-filer. Vær specifik - medtag dit system og din softwareversion.
Ingen konto nødvendig · svar normalt inden for en dag

Ingen spørgsmål endnu - vær den første til at spørge om L-filer.

Ofte stillede spørgsmål

Hvad er en .L-fil?
Det er en Lex/Flex-kildefil - en specifikation i almindelig tekst af en leksikalsk analysator (tokenizer). Flex compilerer den til C-kildekode for en scanner. «.l» bruges også til Lisp og man-sider.
Hvordan åbner jeg en .l-fil?
Åbn den i en hvilken som helst kodeeditor (VS Code, Notepad++, Vim, Emacs). Det er almindelig tekst.
Hvordan kører eller compilerer jeg en .l-fil?
Kør «flex dinfil.l» for at generere lex.yy.c, og compilér derefter den C-fil (f.eks. «cc lex.yy.c -lfl»). På Windows skal du bruge win_flex fra WinFlexBison.
Hvad er forskellen på en .l- og en .y-fil?
.l er en Lex/Flex-lexer-specifikation (tokenisering); .y er en Yacc/Bison-grammatik (parsing). De bruges normalt sammen til at bygge en compiler.
Er .l det samme som en Lisp-fil?
Ikke nødvendigvis. Nogle Lisp-dialekter bruger .l til kildekode, men i compiler-værktøjer betyder .l næsten altid en Lex/Flex-lexer-specifikation. Tjek filindholdet.
Bruges Lex stadig, eller er det Flex nu?
Flex er den moderne, vedligeholdte implementering og læser de samme .l-filer; den originale AT&T Lex er i høj grad historisk, men .l-kildeformatet forbliver standard.

Referencer

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

Udforsk mere

på tværs af databasen

Populære filtyper i denne uge

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.DATProgram Data File (generic)
4.PARTPartial Download File
5.EXEWindows Executable (Portable Executable)
6.RPMSGRestricted Permission Message
7.BINCD/DVD Disc Image (BIN/CUE)
8.DLLDynamic Link Library
9.JPGJPEG Image
10.M4AMPEG-4 Audio File

Relaterede filtyper

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

Gratis filværktøjer

En fil-identifikator og billedkonverter direkte i browseren - alt kører på din enhed.

Åbn værktøjskassen

Gennemse filtyper A-Å