https://github.com/sevenoutman/compiler
Process-visualized compiler for a toy language.
https://github.com/sevenoutman/compiler
Last synced: 8 months ago
JSON representation
Process-visualized compiler for a toy language.
- Host: GitHub
- URL: https://github.com/sevenoutman/compiler
- Owner: SevenOutman
- Created: 2015-12-09T10:36:15.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-11-24T06:09:07.000Z (over 9 years ago)
- Last Synced: 2025-10-08T03:04:16.677Z (8 months ago)
- Language: JavaScript
- Homepage: https://sevenoutman.github.io/Compiler/
- Size: 5.33 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Compiler
Process-visualized compiler for a toy language.
### Introduction
[Demo](https://sevenoutman.github.io/Compiler/)
Screenshots


This application origins from my class project.
The goal of the project was to implement a compiler for a given sample language.
Most importantly, it should be able to visualize the compiling process by,
e.g. drawing the syntax tree
or showing the change of symbol table as it steps forward.
My team decided to make it on Web platform,
so that it has the best accessibility.
My teammate [@ExinCoda](https://github.com/ExinCoda) implemented the core compiler
and I was in charge of UI and visualization.
### Achievement
Finally the application got:
- An editor - with tab management -
so that you can directly write your code right inside it.
- A workspace where you can create or delete source code files.
- An output console.
- A syntax tree display which only shows when you are compiling, not editing.
You can never describe a UI perfectly with only text, so I recommend you [try it out](https://sevenoutman.github.io/Compiler/) yourself.
## The language
The sample language to compile - which I called 'toy language' - is given by our teacher.
I'll put its syntax and rules here if I can find those documents back. -.-||
## Update
I'm learning Vue.js these days and I tried re-implementing the UI with Vue.
Although most functionality is ready, it's not quite finished yet.
Some file management features are still under recovering.