Ανιχνευτής γλώσσας

Επικόλληση αποσπάσματος κώδικα και άμεση λήψη της πιθανότερης γλώσσας του — ο ανιχνευτής βαθμολογεί τη χρήση λέξεων-κλειδιών, χαρακτηριστικούς δείκτες σύνταξης, στυλ σχολίων και το προαιρετικό όνομα αρχείου έναντι υπογραφών για 27 κοινές γλώσσες (Python, JavaScript, Java, C/C++, C#, Go, Rust, SQL, HTML/CSS και άλλες). Εμφανίζονται οι τρεις κορυφαίες εκτιμήσεις με τα ακριβή τεκμήρια που ταίριαξαν. Ευρετικό, τοπικό και φιλικό προς την ιδιωτικότητα: τίποτα δεν φεύγει από το πρόγραμμα περιήγησης.
Πώς λειτουργεί & περιορισμοί. Η ανίχνευση είναι ευρετική: μετρά χαρακτηριστικές λέξεις-κλειδιά, δείκτες σύνταξης (π.χ. , def , package main), στυλ σχολίων και την επέκταση αρχείου, και στη συνέχεια κατατάσσει τις 27 υπογραφές. Τα σύντομα ή γενικά αποσπάσματα μπορεί να είναι διφορούμενα (π.χ. το import είναι κοινό σε Python και Go), και η κορυφαία εκτίμηση μπορεί να είναι λανθασμένη για μικτό ή έντονα περικομμένο κώδικα — το αποτέλεσμα αντιμετωπίζεται ως πρόταση. Υποστηρίζονται: 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.
Πώς λειτουργεί η ανίχνευση γλώσσας κώδικα;

Η ανίχνευση είναι πρόβλημα ταξινόμησης με δύο γενικές προσεγγίσεις: στατιστικά μοντέλα εκπαιδευμένα σε σώματα κειμένων (συχνότητες διακριτικών, n-grams) και χειροκατασκευασμένη αντιστοίχιση υπογραφών — αυτό κάνει η σελίδα. Κάθε γλώσσα έχει μια υπογραφή από χαρακτηριστικά στοιχεία: λέξεις-κλειδιά που χρησιμοποιεί μόνο αυτή (def, fn, public static void), δείκτες σύνταξης όπως στυλ σχολίων ή <?php, και επεκτάσεις αρχείων. Ο ανιχνευτής μετρά ποια στοιχεία εμφανίζονται στο απόσπασμα και κατατάσσει τις υπογραφές που ταιριάζουν καλύτερα, δείχνοντας τα ακριβή τεκμήρια ώστε να μπορεί να κρίνει το αποτέλεσμα ο ίδιος.

Τα σύντομα αποσπάσματα είναι εγγενώς διφορούμενα — το import μόνο του υπάρχει σε Python, Go και Java — οπότε η κατάταξη του ανιχνευτή (και η λίστα τεκμηρίων) είναι πιο κατατοπιστική από την μοναδική κορυφαία εκτίμησή του.