Rilevatore di linguaggi

Incolli un frammento di codice e ottenga subito il linguaggio più probabile — il rilevatore valuta l'uso delle parole chiave, i marcatori di sintassi distintivi, lo stile dei commenti e il nome del file facoltativo, confrontandoli con le firme di 27 linguaggi comuni (Python, JavaScript, Java, C/C++, C#, Go, Rust, SQL, HTML/CSS e altri). Vengono mostrate le prime tre ipotesi con gli indizi esatti che hanno trovato corrispondenza. Metodo euristico, locale e rispettoso della privacy: nulla lascia il suo browser.
Come funziona e limiti. Il riconoscimento è euristico: conta le parole chiave distintive, i marcatori di sintassi (ad es. , def , package main), gli stili dei commenti e l'estensione del file, poi ordina le 27 firme. I frammenti brevi o generici possono essere ambigui (ad es. import è condiviso da Python e Go), e l'ipotesi principale può essere sbagliata per codice misto o molto troncato — consideri il risultato un suggerimento. Supportati: 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.
In che modo funziona il riconoscimento del linguaggio di codice?

Il riconoscimento è un problema di classificazione con due approcci generali: modelli statistici addestrati su corpora (frequenze dei token, n-grammi) e confronto con firme costruite a mano — ciò che fa questa pagina. Ogni linguaggio ha una firma di indizi distintivi: parole chiave che solo lui usa (def, fn, public static void), marcatori di sintassi come lo stile dei commenti o <?php, ed estensioni di file. Il rilevatore conta quali indizi compaiono nel frammento e ordina le firme che corrispondono meglio, mostrando le prove esatte così può giudicare da sé.

I frammenti brevi sono intrinsecamente ambigui — import da solo esiste in Python, Go e Java — quindi la classifica del rilevatore (e l'elenco degli indizi) è più informativa della sua singola ipotesi principale.