.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.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.EXEWindows Executable (Portable Executable)
5.JSONJavaScript Object Notation file
6.TAGDataFlex Query Tag Name File
7.ICSiCalendar data file
8.M4AMPEG-4 Audio File
9.DATProgram Data File (generic)
10.JPGJPEG Image

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-Ö