17 | Python编译器(一):如何用工具生成编译器?
宫文学
该思维导图由 AI 生成,仅供参考
你好,我是宫文学。
最近几年,Python 在中国变得越来越流行,我想可能有几个推动力:第一个是因为人工智能热的兴起,用 Python 可以很方便地使用流行的 AI 框架,比如 TensorFlow;第二个重要的因素是编程教育,特别是很多面对青少年的编程课程,都是采用的 Python 语言。
不过,Python 之所以变得如此受欢迎,虽然有外在的机遇,但也得益于它内在的一些优点。比如说:
Python 的语法比较简单,容易掌握,它强调一件事情只能用一种方法去做。对于老一代的程序员来说,Python 就像久远的 BASIC 语言,很适合作为初学者的第一门计算机语言去学习,去打开计算机编程这个充满魅力的世界。
Python 具备丰富的现代语言特性,实现方式又比较简洁。比如,它既支持面向对象特性,也支持函数式编程特性,等等。这对于学习编程很有好处,能够带给初学者比较准确的编程概念。
我个人比较欣赏 Python 的一个原因,是它能够充分利用开源世界的一些二进制的库,比如说,如果你想研究计算机视觉和多媒体,可以用它调用 OpenCV 和 FFmpeg。Python 跟 AI 框架的整合也是同样的道理,这也是 Python 经常用于系统运维领域的原因,因为它很容易调用操作系统的一些库。
最后,Python 还有便于扩展的优势。如果你觉得 Python 有哪方面能力的不足,你也可以用 C 语言来写一些扩展。而且,你不仅仅可以扩展出几个函数,你还能扩展出新的类型,并在 Python 里使用这些新类型。比如,Python 的数学计算库是 NumPy,它的核心代码是用 C 语言编写的,性能很高。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
Python编译器内部工作原理深入探讨,从词法分析和语法分析入手,带领读者了解Python编译器的运行过程。文章介绍了Python编译器的实现方式,以及通过调试工具GDB跟踪Python编译器的执行过程。此外,还介绍了Python的词法分析功能,展示了如何通过有限自动机将字符串转换为Token。读者将能够了解Python编译器的内部工作原理,以及对词法分析和语法分析的实现方式有更深入的了解。文章还介绍了Python的语法分析特点,采用的是LL(1)算法,通过具体例子展示了语法解析的过程。此外,还讨论了解析树(Parse Tree)与AST的区别。整体内容深入浅出,适合对Python编译器内部原理感兴趣的读者阅读。文章还介绍了Python的词法分析功能,展示了如何通过有限自动机将字符串转换为Token。读者将能够了解Python编译器的内部工作原理,以及对词法分析和语法分析的实现方式有更深入的了解。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《编译原理实战课》,新⼈⾸单¥59
《编译原理实战课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(5)
- 最新
- 精选
- reverse老师 #define Tuple(a0, a1, a2, a3, a4, a5, a6) _Py_Tuple(a0, a1, a2, a3, a4, a5, a6) expr_ty _Py_Tuple(asdl_seq * elts, expr_context_ty ctx, int lineno, int col_offset, int end_lineno, int end_col_offset, PyArena *arena); 这些代码中操作的入参好像都是固定的,感觉和寄存器有很大的关系2020-08-201
- ifelse比起java编译器,感觉python的很low2022-01-14
- 骨汤鸡蛋面老师,python等是解释执行的,支持shell 端一次输入一行代码。这种一行代码一行代码的解释执行和一个完整代码的一次性编译执行主要区别可以介绍下嘛?2021-01-30
- Jacob.C请问文中 lex 函数是哪里来的,没查到相关包哦2020-09-16
- Aaron Cheung很赞的分享 获益匪浅2020-09-14
收起评论