自制编译器(—)

本文作者参考国外编译器教程及中文版解读,旨在通过实现一个简单的Python编译器来深化对Python语言的理解。目前,编译器已完成第一、第二部分的实现。在过程中,作者发现了原文代码的一个小错误——在处理加减运算符时,由于提前获取了下一个字符,导致`self.current_char`变量被错误更新。作者纠正了这一问题,并提供了修改后的代码。
摘要由CSDN通过智能技术生成

本系列参考国外自制编译器系列教程:https://ruslanspivak.com/lsbasi-part1/

中文版参考如下两位大神:

http://www.opython.com/interpreter

https://www.zhihu.com/column/c_1383722427357159424

目标是实现一个简单的基于python的编译器,目的是为了加深对python的理解。

目前进度如下:已成功实现第一、第二两部分内容。

不过,在实现过程中,发现原文的小小失误,特来记录。

这是原文的获取下一个字符函数
def advance(self):  # 定义获取下一个字符的方法
    self.position += 1  # 获取字符的位置自增
    if self.position >= len(self.text):  # 如果位置到达字符串的末尾
        self.current_char = None  # 设置当前字符为None值
    else:  # 否则
        self.current_char = self.text[self.position]  # 设置当前字符为指定位置的字符

        这

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值