Språkdetektor

Klistra in en kodsnutt och få omedelbart dess mest sannolika språk — identifieraren poängsätter nyckelordsanvändning, särpräglade syntaxmarkörer, kommentarstil och ett eventuellt filnamn mot signaturer för 27 vanliga språk (Python, JavaScript, Java, C/C++, C#, Go, Rust, SQL, HTML/CSS med flera). De tre främsta gissningarna visas tillsammans med de exakta ledtrådar som matchade. Heuristisk, lokal och integritetsvänlig: ingenting lämnar webbläsaren.
Så fungerar det och begränsningar. Identifieringen är heuristisk: den räknar särpräglade nyckelord, syntaxmarkörer (t.ex. , def , package main), kommentarstilar och filändelsen, och rangordnar sedan de 27 signaturerna. Korta eller generiska snuttar kan vara tvetydiga (t.ex. delas import av Python och Go), och första gissningen kan vara fel för blandad eller kraftigt trunkerad kod — betrakta resultatet som ett förslag. Stöds: JavaScript, TypeScript, Python, Java, C, C++, C#, Go, Rust, Ruby, PHP, Swift, Kotlin, Objective-C, Bash, Perl, PowerShell, SQL, HTML, CSS, JSON, YAML, XML, Markdown, Scala, R, Lua.
Hur fungerar språkidentifieringen för kod?

Identifiering är ett klassificeringsproblem med två breda ansatser: statistiska modeller tränade på korpusar (tokenfrekvenser, n-gram) och handbyggd signaturmatchning — vad den här sidan gör. Varje språk har en signatur av särpräglade ledtrådar: nyckelord som bara det använder (def, fn, public static void), syntaxmarkörer som kommentarstilar eller <?php, och filändelser. Identifieraren räknar vilka ledtrådar som förekommer i snuttan och rangordnar de signaturer som matchar bäst, och visar de exakta belägg så att man kan bedöma det själv.

Korta snuttar är i sig tvetydiga — import finns ensamt i Python, Go och Java — så en identifierares rangordning (och ledtrådslistan) är mer informativ än dess enskilda främsta gissning.