Skip to content

Programming language recognizer based on Neural networks

Notifications You must be signed in to change notification settings

mimol91/NN-lang-recognizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

This module tries to recognize programming language using neural network.

How to generate learning data

For each programming language create separate directory in dataset, where name of directory is a extension of file which should be analysed. Inside this directories put your learning data files.

Example:

+---dataset
|   \---java
|       |---testFile.java
|       \---test.java
|   \---js
|       \---test.js

Currently application supports only java, js, php, python but adding a new language is extremely easy:

  • Create a new file named as a programming language and save into src/keywords/langs (for example src/keywords/langs/c.js)
  • Export array of keywords which is used by given language.

To generate learning data:

node --harmony-async-await filesData.js - to generate data required to train neural network.

It generates filesData.json which is required to train neural network.

How to train neural network

To train neural network simply type:

node --harmony-async-await train.js

It generates netData.json which store neural network data and is used to determine programming language.

How to test results

To test your neural network type:

node --harmony-async-await tester.js filePath

Where filePath is path to test file.

Requirements

  • Node v7
  • yarn install to install dependencies

About

Programming language recognizer based on Neural networks

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published