程式碼語言識別

貼上一段程式碼,立即得到它的最可能語言 — 識別器會根據關鍵字用法、獨特的語法標記、註釋風格以及您可選填寫的檔名,與 27 種常見語言的特徵進行打分(Python、JavaScript、Java、C/C++、C#、Go、Rust、SQL、HTML/CSS 等)。排名前三的猜測會連同命中的具體線索一併顯示。純啟發式、本地執行、保護隱私:沒有任何內容離開您的瀏覽器。
工作原理與侷限。識別是啟發式的:它統計獨特關鍵字、語法標記(如 <?php、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-gram)和手工構建的特徵匹配 — 本頁採用後者。每種語言都有一組獨特線索作為特徵:只有它使用的關鍵字(def、fn、public static void)、註釋風格或 <?php 這類語法標記,以及檔名副檔名。識別器統計片段中出現了哪些線索,並對匹配度最高的特徵排序,同時把命中的證據一併列出,方便您自行判斷。

過短的片段天然存在歧義 — import 在 Python、Go 和 Java 中都有 — 因此識別器給出的排序(以及線索列表)比單一的首選結果更有參考價值。