美文网首页程序员Python 运维
一步一步实现一个简单的解释器

一步一步实现一个简单的解释器

作者: 彩色系 | 来源:发表于2017-11-09 22:26 被阅读0次

一个简单的计算器的实现。通过这个来了解编程语言背后是如何工作的。

编程语言

机器语言
汇编语言
C语言
python语言
由于有了这样一次次的抽象,现在写一些程序比以前容易很多了。

py3

如果把这个计算器抽象为一个黑盒的话就是一个输入 计算 输出的过程。
具体后面需要做的事情就是 获取用户输入,解析,执行,返回结果。

parse
#  接收用户输入
expression = calc_parse(input('calc>>')) 

# calc_parse
token = tokenize(input)
expression_token = analyze(token)

# tokenize
spaced = line.replace('(', ' ( ').replace(')', ' ) ').replace(',', ' , ')
将输入转化为一个规范的格式。

# analyze 
分析这些输入,构造一个表达式树。
将操作符 和 操作数拆出来,这里要注意的一些点就是要考虑好
可能会出现错误的情况。
analyze 和 analyze_token 相互调用来构造。


print(calc_eval(expression)) # 4, 6

calc_eval  # 递归执行整个操作
calc_apply # 执行一个具体的操作

完整代码地址
博客 https://www.97up.cn/

相关文章

  • 一步一步实现一个简单的解释器

    一个简单的计算器的实现。通过这个来了解编程语言背后是如何工作的。 编程语言 机器语言汇编语言C语言python语言...

  • 怎样写一个解释器-王垠

    原文地址 写一个解释器,通常是设计和实现程序语言的第一步。解释器是简单却又深奥的东西,以至于好多人都不会写,所以我...

  • 怎样写一个解释器

    写一个解释器,通常是设计和实现程序语言的第一步。解释器是简单却又深奥的东西,以至于好多人都不会写,所以我决定写一篇...

  • 揭开vue神秘面纱之v-model

    带你一步一步走进vue之实现一个简单的v-model About 源码aboutmegithubblog 1,实现...

  • Python & 环境配置详细步骤

    第一步-下载解释器 Python是一门解释型语言,它需要一个解释器来翻译Python代码并运行。所以需要安装解释器...

  • 2.Scala起步

    第一步 ,学习使用交互式Scala解释器 开始使用Scala的最简单的方式是使用交互式Scala解释器,只要输入S...

  • 为什么说Java 是编译与解释共存的语言?

    重点讲.class->机器码 这一步。在这一步 jvm 类加载器首先加载字节码文件,然后通过解释器逐行解释执行,这...

  • 实现一个Promise之基础、异步

    其实跟着promise a+一步一步,按照顺序实现一个promise并不难,今天先实现最简单的promise和异步...

  • 一步一步的实现一个reentranklock

    既然文章叫做《一步一步的实现一个reentranklock》,那么我们将从设计一个最简单的锁开始,一步步地深入,最...

  • 标准模式启动Activity的源码分析

    通过标准模式(standard)启动一个Activity,代码很简单: 那么这背后,到底是如何一步一步实现的呢?(...

网友评论

    本文标题:一步一步实现一个简单的解释器

    本文链接:https://www.haomeiwen.com/subject/tffvmxtx.html