Guesslang detects the programming language of a given source code:
echo '
package main
import "fmt"
func main() {
fmt.Println("My mascot is a gopher and Google loves me. Who am I?")
}
' | guesslang
# Output: The source code is written in Go
Guesslang supports 20 programming languages
:
Languages | ||||
---|---|---|---|---|
C | C# | C++ | CSS | Erlang |
Go | HTML | Java | Javascript | Markdown |
Objective-C | PHP | Perl | Python | Ruby |
Rust | SQL | Scala | Shell | Swift |
With a guessing accuracy higher than 90%.
Chameledit is a simple web-editor that automatically highlights your code.
Pasta is a Slack bot that pretty pastes source code.
GG is a silly guessing game.
-
Guesslang documentation is available at https://guesslang.readthedocs.io/en/latest/
-
Guesslang language detection explained here https://guesslang.readthedocs.io/en/latest/how.html
-
Guesslang is based on Tensorflow machine learning framework
-
Python 3.6+ is required
-
Install the latest stable version:
pip3 install guesslang
- or install Guesslang from source code:
pip3 install .
- Windows specific
To run Tensorflow on Microsoft Windows you need to install Visual C++ runtime libraries, available on Microsoft website
- Show all available options
guesslang --help
- Detect the programming language of
/bin/which
:
guesslang -i /bin/which
# >>> The source code is written in Shell
- Detect the programming language of a given text:
echo '
/** Turn command line arguments to uppercase */
object Main {
def main(args: Array[String]) {
val res = for (a <- args) yield a.toUpperCase
println("Arguments: " + res.toString)
}
}
' | guesslang
# >>> The source code is written in Scala
- Detect the programming languages of a source code that embeds an other source code (sourcecodeception):
echo '
from __future__ import print_function
def dump_code(code):
print(code)
if __name__ == "__main__":
dump_code("""
#include<stdio.h>
int main(int argc, char** argv)
{
char* command = argv[0];
printf("%s - %d args\n", command, --argc);
return 0;
}
"""
)
' | guesslang --all
# >>> The source code is written in Python or C
- Guesslang can be used as a Python package. Package documentation available here
from guesslang import Guess
name = Guess().language_name("""
% Quick sort
-module (recursion).
-export ([qsort/1]).
qsort([]) -> [];
qsort([Pivot|T]) ->
qsort([X || X <- T, X < Pivot])
++ [Pivot] ++
qsort([X || X <- T, X >= Pivot]).
""")
print(name) # >>> Erlang
-
Guesslang icon created with AndroidAssetStudio
-
Guesslang — Copyright (c) 2017 Y. SOMDA, MIT License