跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 初中没毕业,目前掌握了初级的 Python 知识,想实现一门类似 go 语言的编程语言,要循序渐进的补充哪些知识点?
未分類
31 12 月 2020

初中没毕业,目前掌握了初级的 Python 知识,想实现一门类似 go 语言的编程语言,要循序渐进的补充哪些知识点?

初中没毕业,目前掌握了初级的 Python 知识,想实现一门类似 go 语言的编程语言,要循序渐进的补充哪些知识点?

資深大佬 : find456789 10

可能会有很多人嘲笑吧

我目前掌握了用 python 写爬虫、网站。。 基本都是调用一些库吧, 俗称掉包侠

我还会一些 js 、ts 、react,sql 的知识,

这些知识应该或多或少的帮助我更好的、更容易的实现编程语言吧

我最近看了编译原理,明白了编程语言是先由文本,经过词法分析,然后语法分析,最终成了 ast,下一步我就有些蒙了

我基于 python 制作了一个解释性的编程语言 https://www.v2ex.com/t/733404 技术很落后,本质就是 ast 后, 用 visitor 模式, 把 打印() 绑定到了 Python 的 print() 函数,继续努力的话,可以实现一门比较完善的语言,不过由于是用 python 解释的,所以性能会很慢

我想更进一步提高自己的水平,我想开发一门编译型的语言,我了解到了 llvm, 也根据各种资料,实现了简单的打印、减法、减法功能, 且可以编译成二进制, 但更深入的功能,我目前能力做不到, 而且我也似乎进入了死胡同了,暂时无法取得进步了

我想实现 go 那样的语言, 有强大的性能, 可以编译执行,最好还可以解释执行, 但我简单的了解了一下 go,发现这很困难,至少对于目前的我来说,很困难

这是一场马拉松,必须要很久时间才能做到,需要很多知识沉淀,但我不知道该如何学习

目前我所知道的,我需要学 [操作系统] 、 [编译原理] 可能还要学别的

对于学习路径,我还很模糊,我知道这路上会有很多坑,所以我想得到各位的指点

在学习资料里,也有很多资料,可能对我没必要学,某些知识可能已经过时, 但我不会区分, 所以想麻烦大家帮我推荐一些资料

目前来看,我应该会有恒心,坚持长久的去学习

所以,麻烦大家帮帮我

谢谢

现阶段,我觉得可能我要深入学习 python 的底层,通过 python 来对某些重要的知识点理解更加透彻
然后 ,完善我那个基于 python 的 解释性语言,为以后尽可能打下一些基础?

大佬有話說 (7)

  • 主 資深大佬 : find456789

    我可能陷入了某种细节里,无法看清全局了,我不知道全局是什么,不知道有这方面(操作系统,编程语言,底层)的思维导图吗

  • 資深大佬 : wangkun025

    这么有学习的动力,干嘛不念个好学历呢?这才是捷径。

  • 資深大佬 : yzbythesea

    可以参考下这个
    norasandler.com/2017/11/29/Write-a-Compiler.html

  • 資深大佬 : 1if5ty3

    羡慕主的学习能力

  • 資深大佬 : carlclone

    我的路径分享一下,看不看的进去就靠自己了
    Cs143 cs243 cs343
    极客时间也有两门编译相关的
    到 github 上找一些玩具 compiler 看看

  • 資深大佬 : FantaMole

    我还真有本书很适合你,《计算机系统要素:从零开始构建现代计算机》。这本书在我还在读大学的时候好像就绝版了。对我来说这本书相当有意义, 虽然内容很简单,但是是真正引导我把大学几年学的知识,从最底层的数电、模电到最高层的操作系统串联到了一起

    如果你基础不是很好的话,它用很通俗的内容教了你如何写一个汇编编译器,以及一个高级语言编译器,等你看完了整本书,做完了书后面的习题。我觉得你会对如何实现一门编程语言清晰一点

  • 資深大佬 : ming7435

    是在上学还是已经工作了?

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具