Kielentunnistin

Liitä koodinpätkä ja saadaan heti sen todennäköisimmän kielen — tunnistin pisteyttää avainsanojen käytön, erottavat syntaksimerkit, kommenttityylin ja valinnaisen tiedostonimen tunnisteita vastaan 27 yleisellä kielellä (Python, JavaScript, Java, C/C++, C#, Go, Rust, SQL, HTML/CSS ja muut). Kolme parasta arvausta näytetään täsmällisine täsmäävine vihjeineen. Heuristinen, paikallinen ja yksityisyyttä kunnioittava: mitään ei poistu selaimesta.
Miten se toimii ja rajoitukset. Tunnistus on heuristinen: se laskee erottavat avainsanat, syntaksimerkit (esim. , def , package main), kommenttityylit ja tiedostopäätteen ja järjestää 27 tunnistetta paremmuusjärjestykseen. Lyhyet tai yleiset pätkät voivat olla moniselitteisiä (esim. import on yhteinen Pythonille ja Go:lle), ja paras arvaus voi olla väärä sekoitetulle tai voimakkaasti katkaistulle koodille — käsittele tulosta ehdotuksena. Tuettuja: 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.
Miten koodin kielentunnistus toimii?

Tunnistaminen on luokittelutehtävä, jossa on kaksi laajaa lähestymistapaa: korpuksiin koulutetut tilastolliset mallit (tokenien frekvenssit, n-grammit) ja käsin rakennettu tunnistevertailu — mitä tämä sivu tekee. Jokaisella kielellä on oma tunnisteprofiilinsa erottavista vihjeistä: avainsanoista, joita vain se käyttää (def, fn, public static void), syntaksimerkeistä, kuten kommenttityylit tai <?php, ja tiedostopäätteistä. Tunnistin laskee, mitkä vihjeet esiintyvät pätkässä, ja järjestää parhaiten täsmäävät tunnisteet näyttäen tarkan todisteen, jotta voidaan arvioida sitä itse.

Lyhyet pätkät ovat luonnostaan moniselitteisiä — pelkkä import esiintyy Pythonissa, Go:ssa ja Javassa — joten tunnistimen järjestys (ja vihjelista) on informatiivisempi kuin sen yksittäinen paras arvaus.