{"id":16439607,"url":"https://github.com/sevenoutman/compiler","last_synced_at":"2025-10-08T03:07:24.181Z","repository":{"id":77177402,"uuid":"47684925","full_name":"SevenOutman/Compiler","owner":"SevenOutman","description":"Process-visualized compiler for a toy language.","archived":false,"fork":false,"pushed_at":"2016-11-24T06:09:07.000Z","size":5585,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-08T03:04:16.677Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://sevenoutman.github.io/Compiler/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SevenOutman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-12-09T10:36:15.000Z","updated_at":"2020-09-08T12:34:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"4df6f3f0-81c9-44b7-a800-50df9bd20ee8","html_url":"https://github.com/SevenOutman/Compiler","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SevenOutman/Compiler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SevenOutman%2FCompiler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SevenOutman%2FCompiler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SevenOutman%2FCompiler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SevenOutman%2FCompiler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SevenOutman","download_url":"https://codeload.github.com/SevenOutman/Compiler/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SevenOutman%2FCompiler/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278881871,"owners_count":26062183,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T09:09:54.398Z","updated_at":"2025-10-08T03:07:24.155Z","avatar_url":"https://github.com/SevenOutman.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Compiler\n\nProcess-visualized compiler for a toy language.\n\n### Introduction\n\n[Demo](https://sevenoutman.github.io/Compiler/)\n\nScreenshots\n![Edit mode](https://cloud.githubusercontent.com/assets/8225666/20588289/eecf8276-b24e-11e6-9835-953876117c80.png)\n![Compile mode](https://cloud.githubusercontent.com/assets/8225666/20588288/eecb977e-b24e-11e6-91f4-5d9175f0ff46.png)\n\nThis application origins from my class project.\nThe goal of the project was to implement a compiler for a given sample language.\nMost importantly, it should be able to visualize the compiling process by, \ne.g. drawing the syntax tree \nor showing the change of symbol table as it steps forward.\n\nMy team decided to make it on Web platform,\nso that it has the best accessibility.\nMy teammate [@ExinCoda](https://github.com/ExinCoda) implemented the core compiler\nand I was in charge of UI and visualization.\n\n### Achievement\n\nFinally the application got:\n - An editor - with tab management -\nso that you can directly write your code right inside it.\n - A workspace where you can create or delete source code files.\n - An output console.\n - A syntax tree display which only shows when you are compiling, not editing.\n\nYou can never describe a UI perfectly with only text, so I recommend you [try it out](https://sevenoutman.github.io/Compiler/) yourself.\n\n## The language\n\nThe sample language to compile - which I called 'toy language' - is given by our teacher.\nI'll put its syntax and rules here if I can find those documents back. -.-||\n\n## Update\n\nI'm learning Vue.js these days and I tried re-implementing the UI with Vue.\nAlthough most functionality is ready, it's not quite finished yet.\nSome file management features are still under recovering.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsevenoutman%2Fcompiler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsevenoutman%2Fcompiler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsevenoutman%2Fcompiler/lists"}