产生原因:

(1)一直以来,我都想写一门语言,但无从下手。
(2)我找到了很多编译原理的教程,但始终觉得内容晦涩,理解不了,所以先尝试写一个简单的,比如:计算器。
(3)网上有很多关于计算器的实现,但大多需要有编译原理的基础,对于我这种小白实在难以理解。
(4)我决定采用暴力模拟的方式,需要用正则表达式,但我不想自己实现,所以用js。

最终要实现什么效果

  Android培训,安卓培训,手机开发培训,移动开发培训,云培训培训

计算器接受一串字符,处理后返回结果。

我们来看一下要做什么:

首先需要知道有哪些“元素”,比如“12+34×56"的元素有整数12,加号,整数34,乘号,整数56,这个过程称为词法分析

然后根据符号的优先级进行组合,其过程相当于加括号,12+(34*56),这个过程称为语法分析

借用正则表达式,可以简单暴力的实现词法分析。

什么是正则表达式

正则表达式的概念,和编译原理一样,都要费好大功夫来理解,当初

网友评论