Need help with guesslang?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

yoeo
153 Stars 29 Forks MIT License 98 Commits 6 Opened issues

Description

Detect the programming language of a source code

Services available

!
?

Need anything else?

Contributors list

No Data

Guesslang Build Status Documentation Status

Guesslang

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

⟶ Programming language: Go

Guesslang supports

30 programming languages
:

| Languages | | | | | |----------------|---------------|--------------------|--------|--------------| |

Batchfile
|
C
|
C#
|
C++
|
CSS
| |
CoffeeScript
|
Erlang
|
Go
|
HTML
|
Haskell
| |
Java
|
JavaScript
|
Jupyter Notebook
|
Lua
|
Markdown
| |
Matlab
|
Objective-C
|
PHP
|
Perl
|
PowerShell
| |
Python
|
R
|
Ruby
|
Rust
|
SQL
| |
Scala
|
Shell
|
Swift
|
TeX
|
TypeScript
|

With a guessing accuracy higher than 90%.

Apps powered by Guesslang

Chameledit

Chameledit is a simple web-editor that automatically highlights your code.

Pasta

Pasta is a Slack bot that pretty pastes source code.

Watch the demo here

GG

GG is a silly guessing game.

Documentation

  • 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

Installation

  • 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

Guesslang command line

  • Show all available options
guesslang --help
  • Detect the programming language of
    /bin/which
    :
guesslang /bin/which

⟶ Programming language: 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 
  • Show the detection probabilities for a given source code:
echo "
def qsort(items):
    if not items:
        return []
    else:
        pivot = items[0]
        less = [x for x in items if x <  pivot]
        more = [x for x in items[1:] if x >= pivot]
        return qsort(less) + [pivot] + qsort(more)


if name == 'main': items = [1, 4, 2, 7, 9, 3] print(f'Sorted: {qsort(items)}')

" | guesslang --probabilities

Language name Probability

Python 80.53%

Batchfile 6.16%

CoffeeScript 2.18%

Markdown 1.66%

JavaScript 1.47%

...

Guesslang Python package

from guesslang import Guess


guess = Guess()

name = guess.language_name(""" % Quick sort

-module (recursion).
-export ([qsort/1]).

qsort([]) -&gt; [];
qsort([Pivot|T]) -&gt;
      qsort([X || X = Pivot]).

""")

print(name) # ⟶ Erlang

License and credits

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.