a-teammate / pseudogen

A tool to automatically generate pseudo-code from source code.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pseudogen

A tool to automatically generate pseudo-code from source code.

Demo

Installation

Requirements

  $ sudo apt-get install git libboost-all-dev autoconf automake autotools-dev libtool zlib1g-dev cmake
  $ pip install nltk

for Mac OS X users: GIZA++ is written for Linux, so you may need to do some modifications to install. http://catherinegasnier.blogspot.jp/2014/04/install-giza-107-on-mac-osx-1092.html

  $ git clone https://github.com/delihiros/pseudogen.git
  $ cd pseudogen
  $ ./tool_setup.sh

Usage

Download and extract corpus from annotated Django source code.

  $ mkdir data
  $ cd data
  $ wget -O- http://ahclab.naist.jp/pseudogen/en-django.tar.gz | tar zxvf -
  $ mv en-django/all.* .
  $ ./../train-pseudogen.sh -p all.code -e all.anno
  $ ./../run-pseudogen.sh -f tune/travatar.ini
  $ # input Python code you want to translate
  $ # in some environments, you may need to press Ctrl+D few times in order to start tranlating

How does Pseudogen work?

Papers

Tools Used

  • GIZA++ to make alignment
  • Travatar to train Tree-to-String machine translation model
  • mteval to evaluate

Contributors

About

A tool to automatically generate pseudo-code from source code.


Languages

Language:Python 64.6%Language:Shell 35.4%