自制计算器(零)

最近对编译器产生了兴趣,打算根据书上的思想裸写一个Python解释器,但过多的细节以及对编译过程的不了解,迟迟未有进展。正巧此时想到以前在sicp上看到过计算器的实现方法,想着是否能用简单的四则运算入门,所以有了这个计算器。

因作者水平问题,实现方法、代码设计上多有漏洞。写文也是为了能整理思路,查缺补漏,同时或与能为遇到同样问题的童鞋提供个思路吧。

进度:这个计算器目前实现到语法树阶段,错误处理还没弄明白。

代码架构:

下一篇先写Scanner

时间: 2025-01-12 21:04:38

自制计算器(零)的相关文章

HTML自制计算器

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>自制计算器</title> 6 <link href="css/bootstrap.css" rel="stylesheet" /> 7 <script src="js/bootstrap.js"&g

自制计算器

package com.cpinfo.his.web.nus; import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import javax.swing.JButton; impo

自制计算器(一):Scanner

今天来讲第一部分Scanner,俗称扫描器,也叫词法分析器.想要了解Scanner究竟做了什么,我们要从整个流程讲起. 首先,计算器得到的输入的是一串字符,如 ”1 + 2“. 如果不学编译原理,应该如何计算出结果呢?可能会利用栈,一个数字栈一个符号栈云云,但这样处理简单运算还好,如果有大于10的数,小数或者含有括号的情况,情况会很糟糕,何况编程语言本就比四则运算复杂许多.一般编译器的做法,则是将字符串以Token为单位分割开来.Token,中译为”标记.令牌“,不直观,你可以理解为表达式中的最

用php实现简单的自制计算器

存档: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>PHP实现计算器</title> 5 </head> 6 7 <body> 8 <?php 9 $mess = ""; 10 if(isset($_POST["sub"])){ 11 if($_POST["num1"] == ""){ 12

从零学编程2-做个工资计算器

回顾上一篇:从零学编程1-写一封情书 做个工资计算器 主人公两枚: 鹰:从零学编程 我:从零教编程 我:阿鹰问你个问题,你喜欢做贡献吗? 鹰:不喜欢. 我:囧.OK,那我们换个问法,你喜欢钱吗? 鹰:喜欢!!!有钱我就可以买CF神器了,我跟你说啊最近粗了一把狙.. 我: OK,OK我们聊钱(强颜欢笑中) 大家都喜欢钱,但是钱的本质是什么呢?上过高中的都知道,它是商品交换的产物.商品不可能大街上去捡.就算是大街上去捡垃圾,那也是付出了劳动,清洁了环境不是吗?所以金钱的来源,就是做贡献.只有为社会做

Wxpython零基础制作计算器

本文关于Wxpython零基础利用python3.6在pycharm下制作计算器,文章末尾有免费源代码供下载 以后同步更新到博客园和这个网站,www.empirefree.top, 这个网站备案号没有了,QAQ. 相关环境及实现效果: wxpython下载:https://www.wxpython.org/pages/downloads/ wxpython学习链接:https://wiki.woodpecker.org.cn/moin/WxPythonInAction Python:python

《自制编程语言》笔记:使用yacc与lex制作简单计算器

1.代码 1.1)test.l 1.2)test.y 1.3)Makefile (因为是在linux环境下,所以使用了Makefile) 2.编译与运行 2.1)编译 2.2)运行 1.代码(也可以在我的百度网盘下载:http://pan.baidu.com/s/1o65k7v8) 1.1)lex文件 test.l 1 %{ 2 #include <stdio.h> 3 #include "y.tab.h" 4 5 int 6 yywrap(void) 7 { 8 retu

Web开发从零单排之二:在自制电子请帖中添加留言板功能,SAE+PHP+MySql

在上一篇博客中介绍怎样在SAE平台搭建一个html5的电子请帖网站,收到很多反馈,也有很多人送上婚礼的祝福,十分感谢! web开发从零学起,记录自己学习过程,各种前端大神们可以绕道不要围观啦 大婚将至,各种事情很多,今天终于驱动自己把上次遗留的内容补充完 奉上在电子请帖中添加留言板的功能简介,采用php脚本语言和mysql数据库,同样在新浪的SAE平台下,可以节省很多部署和维护工作 在SAE的个人项目管理界面,从MySql页面点击"管理MySql",进入SAE提供的mysql数据库管理

JS计算器(自制)

<!doctype html><html><header><meta charset="utf-8"><script src="jquery-1.9.1.min.js"></script><style>button{ width:40px; background-color:#2B91D5; color:white;}input[type='text']{ width:98%;}&l