Gogo
Go to MIPS compiler, written in Go. Course project for Compiler Design (CS335).
Install / Use
/learn @shivansh/GogoREADME
gogo
Go to MIPS compiler, written in Go.
<p align="center"> <img alt="Logo" src="gopher.svg"> </p>Gopher vector imported from egonelbre/gophers .
Components
| Component | Demo |
|:------------------------:|:----------------------------------------------------------------------------------------------------------------------------------:|
| Token generation / Lexer | test1.out |
| Parser | struct.go :arrow_right: struct.html |
| IR generation | scope.go :arrow_right: scope.ir |
| Code generation | pascalTriangle.ir :arrow_right: pascalTriangle.asm |
Setting up
Run ./scripts/setup.sh from the root directory of the project to set up the pre-commit git hooks.
Dependencies
Build
The following should generate relevant binaries inside the directory bin -
make
The generated binary bin/gogo can be used as follows -
Usage: gogo (-r | -r2s | -s) <filename>
-p Generates rightmost derivations used in bottom-up parsing
-r Generates IR instructions from go program
-r2s Generates the MIPS assembly from IR
-s Generates MIPS assembly from go program
NOTE: The generated MIPS assembly has been tested to work on SPIM MIPS32 simulator.
Testing
The tests can be built via -
make test
Related Skills
clearshot
Structured screenshot analysis for UI implementation and critique. Analyzes every UI screenshot with a 5×5 spatial grid, full element inventory, and design system extraction — facts and taste together, every time. Escalates to full implementation blueprint when building. Trigger on any digital interface image file (png, jpg, gif, webp — websites, apps, dashboards, mockups, wireframes) or commands like 'analyse this screenshot,' 'rebuild this,' 'match this design,' 'clone this.' Skip for non-UI images (photos, memes, charts) unless the user explicitly wants to build a UI from them. Does NOT trigger on HTML source code, CSS, SVGs, or any code pasted as text.
openpencil
2.0kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
HappyColorBlend
HappyColorBlendVibe Project Guidelines Project Overview HappyColorBlendVibe is a Figma plugin for color palette generation with advanced tint/shade blending capabilities. It allows designers to
Flyaro-waffle-app
Waffle Delight - Full Stack MERN Application Rules & Documentation Project Overview A comprehensive waffle delivery application built with MERN stack featuring premium UI/UX, admin management, a
