Skip to content

Online Java Compiler with AST Visualization | Flask + Graphviz + Java

License

Notifications You must be signed in to change notification settings

gdvtramarao/Javex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📘 Java Compiler with AST Visualization and Fraud Detection

This project presents a Java compiler web application designed to assist teachers in testing students’ Java programs and help students practice coding interactively. It provides lexical analysis, syntax analysis, time complexity estimation, fraud detection, and AST visualization through a clean HTML/Flask interface.


📦 Requirements

Before running the project, make sure you have the following installed:

  • Python 3.8+
  • Java JDK (javac, java must be in PATH)
  • Graphviz (system tool, for AST visualization)

🚀 Project Demo (Screenshots)

demo1 demo2 demo3

✨ Features

  • 🖊️ Online editor for typing Java code
  • 🔍 Lexical & syntax analysis with error reporting
  • ⏱️ Time complexity estimation
  • 🛡️ Fraud detection (detects direct answer-printing and invalid tokens)
  • 🌳 AST (Abstract Syntax Tree) visualization using Graphviz
  • 📊 Performance profiling of student programs
  • 🎨 User-friendly web interface for both teachers and students

🎯 Objective

  • For Educators → Faster evaluation of students’ assignments with analysis, fraud detection, and code correctness metrics
  • For Students → Interactive platform to practice Java coding, analyze logic, and learn debugging

🌐 Deployment

  • You can deploy on
  • → Heroku (via Procfile)
  • → Render / Railway
  • → Docker (optional Dockerfile setup)

📜 Research Context

  • This compiler was designed in line with academic needs:

  • Lexical & syntax analysis → ensures correctness of code

  • Fraud detection → identifies direct hardcoded outputs and invalid tokens

  • Time complexity analysis → evaluates performance of algorithms

  • Summarization → provides structured feedback to both students & teachers


About

Online Java Compiler with AST Visualization | Flask + Graphviz + Java

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published