Skip to content

[Project] Visual Turing Machine & Automata Compiler Simulator #473

@MistryVishwa

Description

@MistryVishwa

Project name

Visual Turing Machine & Automata Compiler Simulator

One-line description

[Project] Visual Turing Machine & Automata Compiler Simulator

One-line description

🧠 An interactive visual compiler simulator to build, debug, and run Deterministic Finite Automata (DFA), Pushdown Automata (PDA), and Turing Machines.

📝 Description

An educational software engineering tool that allows students and developers to design formal language state machines. Users can interactively draw state nodes, configure transitions (rules), and run test strings step-by-step. The virtual machine animates input string tapes, pushdown stacks, and turing machine tape heads moving left/right through state graphs.

🌟 Key Features

  1. Automata Node Editor: Click to place states, drag vectors to create transitions, and tag start/accepting states.
  2. Infinite Tape/Stack Visualizer: For Turing Machines and PDA, animate stack items popping/pushing and tape frames sliding step-by-step.
  3. State Transition Trace: Highlight the active state, transition edge, and parsed characters in real-time.
  4. Program Batch Checker: Test multiple input strings simultaneously and display green/red success tables.

🛠️ Tasks Breakdown

🟢 Beginner

  • Create the visual UI dashboard showing the editor canvas, state definitions, and template selectors (like Binary Even Count, HTML bracket matcher).
  • Map simple table validators that show state transition logic.

🟡 Intermediate

  • Program the state diagram canvas allowing users to drag and place state nodes and link them with directed bezier curve arrows.
  • Code the evaluation engines for DFA and NFA: process an input string character-by-character, stepping through states.

🔴 Advanced

  • Implement the Turing Machine VM: maintain an infinite tape buffer (read/write head, symbol replacement rules, head shift left/right). Animate the tape shifting below a static head.
  • Implement Pushdown Automata (PDA): maintain a secondary visual stack showing state-triggered push/pop operations with transition path highlighting.

📋 Expected Outcome

A clean, interactive theoretical computer science playground for simulating formal compilers, regex state matchers, and Turing logic loops.

Your GitHub username

MistryVishwa

Tags

enhancement, compiler, computer-science, interactive, educational

Pre-flight checks

  • I read CONTRIBUTING.md
  • My folder is named in Title Case with spaces
  • My folder contains README.md, project.json and index.html
  • My project opens by double-clicking index.html
  • My project has no console errors and no tracking scripts

Metadata

Metadata

Assignees

Labels

NSoC'26Issue eligible for NSoC '26.good first issueGood for newcomers

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions