Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Python to JavaScript translator

branch: devel

This branch is 0 commits ahead and 0 commits behind devel

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 debian
Octocat-spinner-32 doc
Octocat-spinner-32 examples
Octocat-spinner-32 pyjaco
Octocat-spinner-32 tests
Octocat-spinner-32 testtools
Octocat-spinner-32 .gitignore
Octocat-spinner-32 AUTHORS
Octocat-spinner-32 LICENSE
Octocat-spinner-32 Makefile
Octocat-spinner-32 README.rst
Octocat-spinner-32 casetest
Octocat-spinner-32 htmltest.py
Octocat-spinner-32 pyjs.py
Octocat-spinner-32 pylint.conf
Octocat-spinner-32 run_tests.py
Octocat-spinner-32 setup.py
README.rst

Python to JavaScript translator.

Webpage: http://pyjaco.org

Mailinglist: http://groups.google.com/group/pyjaco

Installation

Execute the following:

git clone https://github.com/chrivers/pyjaco
cd pyjaco
make

Examples

firefox examples/gol.html

And the game of life should show in the browser. If it doesn't, it's a bug. You can generate that file using

python examples/gol.py > examples/gol.html

Tests

./run_tests.py

Will run all tests, that are supposed to work. If any test fails, it's a bug.

./run_tests.py foo

Will run all tests with "foo" in the name. Very useful for running a group of tests.

./run_tests.py -a

Will run all tests including those that are known to fail (currently). It should be understandable from the output.

./run_tests.py -x or ./run_tests.py --no-error

Will run tests but ignore if an error is raised by the test. This is not affecting the error generated by the test files in the tests directory.

For more flags then described here

./run_tests.py -h

Single test cases

With the "casetest" script you can keep comparing the output of pyjaco to the output of python on the same python script. It's very useful if you are debugging the compiler or standard library.

./casetest foo.py

Will run foo.py through python and pyjaco, and display the differences. It will then display a line of "#", and wait for you to press enter to do another iteration. When the files match, casetest will exit.

Usage

From source code:

import sys
    from pyjaco import Compiler
    code = open("tojs.py", "r")
    compiler = Compiler()
    compiler.append_string(code.read())
    print str(compiler)

Using the pyjs.py script:

./pyjs.py filename.py --output filename.js --watch

License

Free Software. See the LICENSE file for exact details.

Something went wrong with that request. Please try again.