.L

L-fil

Lex Language Source File
Ställ en fråga
SNABBT SVAR

En L-fil är en Lex- eller Flex-källkodsfil - en specifikation i klartext för en lexikalisk analysator (tokenizer), som används vid utveckling av kompilatorer och tolkar. Öppna den i valfri kodredigerare; för att bygga scannern kör du flex på den. Filändelsen används även för Lisp-källkod och Unix-manualsidor, så kontrollera filinnehållet om det är oklart.

Utvecklare: Mike Lesk and Eric Schmidt (Lex, Bell Labs); Vern Paxson (Flex) Kategori: Utvecklarfiler Öppen standard MIME: text/plain
ÖPPNAS PÅ Windows macOS Linux
Relaterat: .DO · .MD · .HEX · .XSD

På denna sida

19k+ filtillägg indexerade
Senast granskad Sep 6, 2026

Osäker på vad din fil är?

Släpp valfri fil i vår identifierare - vi läser bara de första byten för att namnge formatet.

Identifiera en fil

Vad är filformatet L?

En .l-fil är en specifikation för en lexikalisk analysator i klartext skriven i språket Lex. Den definierar hur en inström av tecken ska delas upp i tokens - det första steget i att bygga en kompilator, tolk eller ett textbehandlingsverktyg.

Formatet skapades vid Bell Labs 1975 av Mike Lesk och Eric Schmidt som en del av Unix-verktygskedjan. Idag bearbetas praktiskt taget alla .l-filer av Flex (Fast Lexical Analyzer), den öppna källkods-efterföljaren från GNU-eran utvecklad av Vern Paxson, även om källkodssyntaxen förblir i stort sett densamma.

En .l-fil är uppdelad i tre sektioner separerade av %%-markeringar:

  • Definitioner - namngivna regex-makron och %option-direktiv
  • Regler - par av reguljära uttryck och C-kod (actions) som körs vid en matchning
  • Användarkod - valfria hjälpfunktioner i C som läggs till ordagrant i utdata

Ett valfritt %{ ... %}-block nära toppen injicerar C-deklarationer direkt i den genererade scannern. Genom att köra flex dinfil.l (eller lex dinfil.l) skapas lex.yy.c, en fristående C-källkodsfil som implementerar scannern som en deterministisk finit automat. Denna utdata kompileras med en C-kompilator och länkas vanligtvis med en Yacc/Bison-grammatikfil för att bygga en komplett språkprocessor.

Observera att .l även används för Lisp-källkodsfiler och Unix troff-manualsidor, så filens sammanhang är viktigt vid identifiering.

Säkerhet & trygghet

RISK: LOW

En .l Lex-källkod är klartext och säker att öppna i en redigerare. Den enda varningen: reglerna innehåller C-kod, och en skadlig .l-fil kan innehålla skadlig C-kod som körs när den väl kompilerats. Granska .l-filer från okända källor innan du kör flex och bygger dem.

Formatdetaljer

i ett nötskal
FULLSTÄNDIGT NAMNLex Language Source Fileäven känd som Lex source, Flex source file
UTVECKLAREMike Lesk and Eric Schmidt (Lex, Bell Labs); Vern Paxson (Flex)sedan Lex, 1975 (Unix); standardized in POSIX (lex utility)
MIME-TYPtext/plain
TYPSpecifikation för lexikalisk analysator i klartext (källkod)
STANDARDÖppen · royaltyfri
Detta filtillägg används också av…
  • Lisp-källkodsfil (.l) - Vissa Lisp-dialekter/implementeringar använder .l för källkod; klartext, men ett annat språk än Lex.
  • Unix manualsida / troff-källkod (.l) - Sektion-l (lokala) manualsidor i nroff/troff-källkod; dokumentation, inte en lexerspecifikation.
  • Interleaf / WordPerfect-bibliotek (.l) - Äldre biblioteks- eller listfiler i äldre dokumentsystem; sällsynt.

Program som öppnar L-filer

Windows3 apps
Notepad Öppen källkod Öppna direkt för att visa/redigera lexerspecifikationen.
Visual Studio Code Gratis Öppna .l för att läsa/redigera; installera ett Lex/Flex-syntaxtillägg för färgkodning.
Flex (win_flex via WinFlexBison) Öppen källkod Kör «win_flex fil.l» för att generera C-källkod för scannern på Windows.
macOS1 app
TextEdit / VS Code Gratis Öppna för att läsa/redigera; kör «flex fil.l» i Terminalen för att bygga scannern.
Linux2 apps
Flex Öppen källkod Kör «flex fil.l» för att generera lex.yy.c, kompilera sedan med cc.
GNU Emacs / Vim / gedit Öppen källkod Öppna .l i valfri redigerare för att läsa eller ändra lexer-reglerna.

Tekniska detaljer

djup specifikation
FormattypSpecifikation för lexikalisk analysator i klartext (källkod)
KodningASCII / UTF-8 klartext; ingen binär header eller filsignatur
FilstrukturTre sektioner separerade av `%%`: definitioner, regler och användar-C-kod
Sektion 1 - DefinitionerNamngivna regex-makron och `%option`-direktiv (t.ex. `%option noyywrap`)
Sektion 2 - ReglerPar av reguljära uttryck och C-kodblock som körs vid matchning
Sektion 3 - AnvändarkodValfria C-hjälpfunktioner som kopieras ordagrant till den genererade utdatafilen
C-kodsinjektionsblock`%{ ... %}`-prolog nära toppen injicerar C-deklarationer i den genererade scannern
Primär utdata`lex.yy.c` - en C-källkodsfil som implementerar en DFA-baserad scanner
MIME-typ`text/plain` (informellt alias: `text/x-lex`)
Bearbetningsverktyg`lex` (AT&T/POSIX), `flex` (GNU), `win_flex` (Windows via WinFlexBison)
Typisk filstorlek1 KB - 100 KB
Scanner-algoritmKompilerar regex-regler till en deterministisk finit automat (DFA) vid byggtid
Vanlig kombinationKombineras med en `.y` Yacc- eller Bison-grammatikfil för att bygga en komplett kompilator-frontend
PlattformsstödUnix, Linux, macOS inbyggt; Windows via MSYS2, Cygwin eller WinFlexBison
Filändelsens tvetydighet`.l` används även för Lisp-källkodsfiler och Unix troff-manualsidor - filkontext krävs
SläpptLex, 1975 (Unix); standardized in POSIX (lex utility)
Senaste versionFlex 2.6.4 (2017) is the de-facto current implementation reading .l files
Öppen standardJa · royaltyfri
Specifikationpubs.opengroup.org

L-konverteringar

Frågor & svar

frågat av användare
Ställ en snabb fråga
Få hjälp från personer som arbetar med L-filer. Var specifik - inkludera ditt system och programversion.
Inget konto behövs · svar vanligtvis inom en dag

Inga frågor än - bli den första att fråga om L-filer.

Vanliga frågor

Vad är en .L-fil?
Det är en Lex/Flex-källkodsfil - en specifikation i klartext för en lexikalisk analysator (tokenizer). Flex kompilerar den till C-källkod för en scanner. «.l» används även för Lisp och manualsidor.
Hur öppnar jag en .l-fil?
Öppna den i valfri kodredigerare (VS Code, Notepad++, Vim, Emacs). Det är ren text.
Hur kör eller kompilerar jag en .l-fil?
Kör «flex dinfil.l» för att generera lex.yy.c, kompilera sedan den C-filen (t.ex. «cc lex.yy.c -lfl»). På Windows använder du win_flex från WinFlexBison.
Vad är skillnaden mellan en .l- och en .y-fil?
«.l» är en Lex/Flex-lexerspecifikation (tokenisering); «.y» är en Yacc/Bison-grammatik (parsning). De används vanligtvis tillsammans för att bygga en kompilator.
Är .l samma sak som en Lisp-fil?
Inte nödvändigtvis. Vissa Lisp-dialekter använder .l för källkod, men inom kompilatorverktyg betyder .l nästan alltid en Lex/Flex-lexerspecifikation. Kontrollera filinnehållet.
Används Lex fortfarande, eller är det Flex nu?
Flex är den moderna, underhållna implementeringen och läser samma .l-filer; den ursprungliga AT&T Lex är främst historisk, men källkodsformatet .l förblir standard.

Referenser

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

Fortsätt utforska

genom databasen

Populära filtillägg denna vecka

1.AQQAQQ Instant Messenger File
2.BINCD/DVD Disc Image (BIN/CUE)
3.PARTPartial Download File
4.MDMarkdown Document
5.RPMSGRestricted Permission Message
6.CRDOWNLOADChrome Partial Download File
7.NOMEDIAAndroid No-Media Marker File
8.PRDXSoftMaker Presentations Document
9.PRO6XProPresenter 6 Bundle File
10.SWFSmall Web Format (Shockwave Flash)

Relaterade filtillägg

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

Gratis filverktyg

En filidentifierare och bildkonverterare direkt i webbläsaren - allt körs på din enhet.

Öppna verktygslådan

Bläddra bland filtillägg A-Ö