Team: Andrei Markov, Grigorii Fil, Adelina Kildeeva, Albert Khazipov

Overview

Syntax Tree Visualizer 🌳

Visualizer for JavaScript code into an abstract syntax tree and a parallel array representations.


Description

Syntax Visualizer is an interactive webpage for vizualizing JavaScript code in forms of abstract syntax tree (AST) and parallel array representations. The page contains three fields: the code editor, the AST representation, and the parallel array representation. When you enter the code, the representations are immediately generated.

Demo

Watch the video

How to use?

Follow the link to use the website.

  1. Enter the code in the “code” block.
  2. The program will automatically build images of the tree and the array.
  3. You can hover on any item of tree or array to see corresponding parts of code.
  4. You can fold constant expressions (yellow nodes in tree) by clicking on them.

Examples

Features

  • Immediate AST and parallel array generation
  • 🛠️ Code editor with syntax highlighting and code refactoring (Ctrl+Alt+L)
  • ↩️ UNDO (Ctrl+Z) and REDO (Ctrl+Y) functionality
  • 💡 Highlighting of similar parts
  • 🔗 Share the result via auto-generated URL
  • 👨‍💻 Folding of constant expressions

Installation

Manual installation

  1. Install Node.js by the following link nodejs.org
  2. Clone the repository
git clone https://github.com/InnoSWP/SyntaxTreeVisualizer
  1. Open project folder
  2. Install dependencies
npm install
  1. Run the project in development mode
npm start

Using Docker

  1. Install Docker on your computer docker.com
  2. Pull image markovav/syntax_tree_visualizer:latest
docker pull markovav/syntax_tree_visualizer
  1. Create a container using this image
docker run -p 80:3000 -d --name syntax-tree-visualizer markovav/syntax_tree_visualizer

Contribution

To contribute to the project, create a pull request with a detailed explanation, written tests, and no SonarCloud alerts.

Frameworks used

You might also like...

ICT (Ideas Come Together) - SPA Team Project

ICT (Ideas Come Together) - SPA Team Project This is a team project for our ReactJS module in our webdev program.

Jul 3, 2022

cis-scheduler-team-26 created by GitHub Classroom

React TypeScript Starter Repo Hello! This repository has been pre-configured with eslint and gh-pages to automatically deploy your app when you push t

Sep 4, 2022

Veloorum. An easy way to organize a community or work team

Veloorum ❗️ ❗️ Приложение находится на раннем этапе разработки ❗️ ❗️ ❗️ ❗️ Обновления будут выходить по мере возможности ❗️ ❗️ Исходный код сервера Ve

Jan 30, 2022

We are students of group named "Special-Team" of GоIT academy. We graduated JavaScript course and for consolidate in practice 📌 knowledges received on this course, we together 🤝 developed graduation project

Проект сайту "Filmoteka" Привіт! 🤗 Ми студенти групи під назвою "Special-Team" академії GоIT 🔥 🚀 Ми закінчили курс JavaScript і для того, щоб закрі

Jan 3, 2023

This is college project in which me and my team create a website that provide the tools for basic text modification and add todos also we add blog init.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Jun 9, 2022

Place your Bob-ombs so they surround opposing Bob-ombs. Captured Bob-ombs change color and join your team. The player uith the most Bob-ombs at the end is the Hinner.

Place your Bob-ombs so they surround opposing Bob-ombs. Captured Bob-ombs change color and join your team. The player uith the most Bob-ombs at the end is the Hinner.

Bob-omb Reverse with Arduino MKR 1010 Wifi 🐦 @cbarange & @j-peguet | 5th January 2022 Intro Docs MQTT with Arduino 👉 https://docs.arduino.cc/tutoria

Jan 13, 2022

Customise this Figma plugin template for your own design team.

Design Toolkit Customise this Figma reference plugin to provide useful resources and automations for yourself or your team. Inspect the code to see ho

Jul 7, 2022

Vision is a complete project manager where you can colaborate with your team. Everything is still in development phase.

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Jun 4, 2022

Zero Two Bot,A fully Modular Whatsapp Bot to do everything possible in WhatsApp by Team Zero Two

Zero Two Bot,A fully Modular Whatsapp Bot to do everything possible in WhatsApp by Team Zero Two

🍭 𝗭𝗲𝗿𝗼 𝗧𝘄𝗼 𝗠𝗗 🍭 A Moduler WhatsApp Bot designed for both PM and Groups - To take your boring WhatsApp usage into a whole different level. T

Dec 25, 2022
Owner
null
Team Empire offers an innovative and intuitive game based on puzzles solved by two players working in a team.

Team Empire offers an innovative and intuitive game based on puzzles solved by two players working in a team. The user can create an account to monitor their results and achievements. The whole idea of the product is to make the player think and develop his logical thinking.

Vocational school for computer programming and innovation 14 Aug 8, 2022
Veselin Petranchev 2 Oct 11, 2022
HITB SECCONF EDU CTF 2021. Developed with ❤️ by Hackerdom team and HITB.

HITB SECCCONF EDU CTF 2021 SECCONF EDU CTF is an online international challenge in information security. Developed by Hackerdom team for HITB SECCONF

HITB+ CyberWeek 18 Sep 3, 2022
Team project within the course of Software System Design and Analysis.

?? InnoBookCrossing - Application for sharing books at Innopolis gh-md-toc ?? General Information Description The application is designed to help peop

Dariya 33 Oct 22, 2022
Utility for Anime Empire's Treasury Team

TreasuryTools Utility for Anime Empire's Treasury Team to make Merching, Radding, and Running easier and more efficient. Table of Contents Command Usa

Zlushiie 1 Dec 31, 2021
A UI library by WeChat official design team, includes the most useful widgets/modules in mobile web applications.

WeUI - tailor-made for WeChat web service 中文版本 Introduction WeUI is an WeChat-like UI framework officially designed by the WeChat Design Team, tailor-

Tencent 26.6k Jan 2, 2023
This package includes the sensible ESLint configuration used by our team

TypeScript + Prettier ESLint configuration for CasterlyApp team (and others)

Casterly 2 Jan 26, 2022
A template project for NRWL's NX, Ionic Framework, Stylelint, Eslint, and more from the OpenForge mobile app team.

OpenForge Ionic Monorepo Example This is a template project for all Ionic + Angular Monorepos. It was generated using a combination of Nx, Ionic Thank

OpenForge 14 Oct 26, 2022
Global Game Jam Protopotes - Team Distanciel

SCHRODINGER'S ESCAPE - 2022 Global Game Jam project Game resume Pr. Erwin Schrödinger really did his cat's experiment ! But, the cat found the craft b

null 4 Dec 14, 2022
Team Alpha Super Awesome Cool Dynamite Wolf Squadron - 10 - Project 1

Super Hero Wiki This is a group project for our Interactive Front End Web Site. We created a Super Wiki that uses two (2) APIs to provide users a comi

Vicente Garcia Sepulveda 3 Mar 24, 2022