Skip to content

arikrak/java_visualize

 
 

Repository files navigation

java_visualize: visualization for java
David Pritchard (daveagp@gmail.com), created May 2013

This is the frontend for a Java version of Philip Guo's Python visualizer.
Try it at: 
      http://cscircles.cemc.uwaterloo.ca/java_visualize/

Whereas the OPT repo contains both a frontend and backend, the setup
to make this work in Java consists of entirely replacing the backend,
and then tweaking the frontend only where needed.

INSTALLATION

We assume you have already installed (requires root access):
https://github.com/cemc/safeexec
https://github.com/daveagp/java_jail 
See the instructions therein for details.

Next, in some folder accessible to your web server,

git clone https://github.com/daveagp/java_visualize
cd java_visualize
git clone https://github.com/marijnh/CodeMirror CodeMirror3
git clone https://github.com/cemc/OnlinePythonTutor

(alternatively, install CodeMirror3, OnlinePythonTutor as symlinks or subrepos.
note the name CodeMirror*3* and the *version* of the PythonTutor used.)

At this point, visiting
http://url-referencing-java_visualize/
should give you a beautiful (but non-working) frontend, and
http://url-referencing-java_visualize/java_safe_ram_maketrace.php
should give you a "http mangling" error.

Finally, edit the first few lines of
java_safe_ram_maketrace.php
(or use .cfg.php as described therein)
to indicate where you installed safeexec and java_jail

Now try the visualizer out!

MORE INFO

What's inside this directory:
 -- index.html is a modified version of visualize.html 
 -- jv-frontend.js is a modified version of opt-frontend.js
 -- java_safe_ram_maketrace.php connects the frontend to the backend
 -- example-code is a directory full of example Java files to visualize

Note that in the entire frontend, only java_safe_ram_maketrace.php is a file
written in a server-side language. Everything else we use is static,
although OnlinePythonTutor has some server-side files that this Java
version does not use.

====

The modified files (index.html, jv-frontend.js) retain the MIT license 
under which they were published in the OnlinePythonTutor repo. 

The other files (java_safe_ram_maketrace.php, example-code/*) are released under
the GNU Affero General Public License, versions 3 or later. See LICENSE
or visit: http://www.gnu.org/licenses/agpl.html

About

Visualization for Java, using the Online Python Tutor frontend

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 49.7%
  • Java 35.7%
  • PHP 14.5%
  • Python 0.1%