aalhour / aalhour/PyCOOLC

A shopping list of improvements

オープン
#15 コメント 0 件 リアクション 0 件 担当者 1 名 @aalhour が担当を希望しています GitHub で見る
主要言語
Python
スター
41
フォーク
10
PR マージ指標
30日以内にマージされた PR はありません

説明

Been working for the last few days on polishing and dusting off this project. It now uses Python 3.12+ idioms throughout (match/case, type hints, dataclasses where they make sense), has a proper Makefile + GitHub Actions CI, and most importantly: the code generator actually works now (it was buggy as f*ck). It produces valid MIPS that runs on SPIM without crashing. Which is great.

The compiler frontend was already in decent shape. The lexer, parser, semantic analyzer all had tests and worked fine. But the backend was basically a skeleton that could emit assembly for hello world and not much else. So I spent most of the time debugging codegen issues like stack corruption, string ops returning garbage, and `type_name()` being a stub that returned empty strings :S

The IR + optimization infrastructure (TAC, CFG, SSA, constant propagation, liveness analysis, dead code elimination) is all there and tested, but it’s not actually wired into the compilation pipeline yet. Right now it’s more of a teaching tool to show how these things work, not something that affects the emitted code.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。