实现pascal解释器(2)

1.介绍

本系列文章参照该教程学习总结,欢迎查看原文。我个人的学习代码已经放到我的github

词法分析、语法分析、语义分析等定义请参考编译器解释器中的词法分析、语法分析、语义分析

英文原作者所有源代码查看

2.改善加法解释器

在第一章中我们实现了一个简单的解释器,本节将增添减法、多位数和跳过空格的支持。在前面的作业中,我们已经做过了一部分内容,接下来就看看作者给出的代码和我们有什么区别吧。

calc3.py代码如下

import pdb

INTEGER, PLUS, MINUS, EOF = 'INTEGER', 'PLUS&......

实现pascal解释器(1)

1.介绍

本系列文章参照该教程学习总结,欢迎查看原文。我个人的学习代码已经放到我的github

词法分析、语法分析、语义分析等定义请参考编译器解释器中的词法分析、语法分析、语义分析

英文原作者所有源代码查看

2. 个位数加法

文章第一篇实现了一个个位数加法的解释器(不支持包含空格),虽然比较简单,但是通过一个小练习可以了解一些解释器需要涉及的一些基本概念和处理过程。

2.1 记号(token)和词法分析器(lexical ananlyzer or lexer)

记号(token)是一对元素,即(类型,值)

解释器或者编译器将输入字符串转换成一串记号(t......

自己动手写一个简单的解释器

本文是这一系列文章的中文翻译文章的索引

一起来写个简单的解释器(1)

一起来写个简单的解释器(2)

一起来写个简单的解释器(3)

一起来写个简单的解释器(4)

一起来写个简单的解释器(5)

一起来写个简单的解释器(6)

原文请查看:查看英文原文