# My C Compiler **Repository Path**: foolish-shabby/mycc ## Basic Information - **Project Name**: My C Compiler - **Description**: 一个用python写的简易的C编译/解释器 - **Primary Language**: Python - **License**: WTFPL - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2024-03-01 - **Last Updated**: 2024-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MyCC - My C Compiler 知乎冲浪,看到一篇神文:[自己动手写编译器](https://pandolia.net/tinyc),无奈用 flex 和 bison 所写,难以复刻。 忽然想起之前在 bilibili 刷到一个自制编程语言的视频,还跟过一遍,于是模仿着那里面的词法分析和语法分析思路,用纯 python 代码复刻了 flex 和 bison 的 TinyC 前端,本项目就此诞生。 ### 用前须知:您需要什么 - python3。这肯定得要,因为用python3写的。 - nasm。最后会把原文中的 Pcode 翻译为 x86 汇编,需要 nasm 编译。 - gcc。由于在 Windows 下没法不依赖标准库,索性开摆,用 gcc 链接生成的 object、标准库以及 myccio(print和readint的底层实现)。但我在此以人格担保,gcc 绝对不直接用于编译源文件(实际上,有没有用看看代码就知道了)。 当然,这只是一个玩具,由于侧重点在编译运行,故报错设计地非常简略,连行号都没有,只有描述性信息,想知道具体错哪了,请您自己去找。