我正在编写一个非常简单和小型的编译器(我自己,我没有做任何课程或任何事情)。我需要帮助来做一些决定。第一步(我相信),我需要了解汇编到代码生成(对吗?)。我正在为它寻找更好的汇编语言。在易于编码/理解良好的后端支持等方面更好。我已经阅读了HOWTO assembly by LPD
有几个程序集的地方;但我真的对 AT&T 代码生成很感兴趣。事实上,我对生成 AT&T 代码的 GNU/Linux、GCC 和类似 GCC 的编译器很熟悉。
你还有其他建议吗?如果可能,请解释 AT&T 语法和后端(如果有)的优势。
对于一个以前从未编写过编译器的人来说,如果没有 BISON 或类似的东西就太复杂了?我想通过使用来做到这一点recursive descent parser
(例如,DMR 和 gcc 4.6>,而 TCC 确实如此)。另外,因为它是我的第一个编译器(对于非基本类和汇编),我认为在 BISON 的帮助下这样做是错误的。
非常感谢。