学习编写编译器[关闭]
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 首选语言 :C / C ++,Java和Ruby。 我正在寻找一些有用的书籍/教程,以了解如何仅出于教育目的编写自己的编译器。 我最熟悉C / C ++,Java和Ruby,因此我更喜欢涉及这三种资源之一的资源,但是任何好的资源都是可以接受的。 #1楼 这是一个广阔的主题。 不要小看这一点。 并且不要低估我的观点,不要低估它。 我听说《 龙书》 是一个(“?”)学习的起点。 :)善于搜索,最终将成为您的生活。 构建自己的编程语言绝对是一个好练习! 但是要知道,最终它永远不会用于任何实际目的。 例外情况很少, 而且 相差 很 远。 #2楼 您可能想要研究Lex / Yacc(或Flex / Bison,无论您想称呼它们如何)。 Flex是一个词法分析器,它将分析和识别您语言的语义成分(“令牌”),而Bison将用于定义解析每个令牌时发生的情况。 对于可以编译为C的编译器或动态运行指令,这可能是但绝对不限于打印C代码。 该常见问题解答 应为您提供帮助, 本教程 看起来非常有用。 #3楼 我认为这是一个非常模糊的问题。 只是因为涉及的话题很深。 但是,编译器可以分解为两个独立的部分。 上半部分和下半部分。 上半部通常采用源语言并将其转换为中间表示,下半部负责平台特定的代码生成。 尽管如此