美文网首页
更新前年写的JavaScript解释器

更新前年写的JavaScript解释器

作者: 三生石上绛珠草 | 来源:发表于2016-06-22 15:13 被阅读701次

时隔一年,又用C#写起代码来,再次感叹爽到飞起!配合VS,不管是调试还是单元测试都爽到飞起!

这次是给14年11月份写的js解释器加feature。想想都是1年多以前的东西了,时不我待 ,岁月催人老啊。那时我的算法还十分的菜,对于很多东西的认识都是十分浅薄的,导致了很多逻辑混乱的错误,不过整体可以用。

从昨天到今天基本算是没怎么休息,之所以这么拼因为这半年来我状态都很差,指不定什么时候就没有这么头脑清晰了。一边写代码一边思考如何解释一行代码,思维量还是不小的,语法分析大部分重写,修正了不少bug,又添加了以前不支持的很多特性。

添加了6种内置对象,给内置对象添加Scope(因为我一开始就要支持Lexical Scope,不能像js一样,只有函数级作用域。我这个解释器基本上都是块级作用域,不能姑息设计失误),bool表达式,点语法动态给对象添加方法和属性,更改了字符串字面量bug,重构了解释器core代码,重构了语法分析部分的重复代码和低效代码,重构了Repl代码使其方便测试,并修正Repl部分的多行代码输入bug,添加了解释代码片段的方法,为代码编写了单元测试,避免了盲目重复的手动测试。

接下来主要工作是添加对象字面量支持,两种Array的字面量,支持解释多个代码片段,增加prototype支持,添加Array,String,Function类库,添加基础库。有时间还可以支持一下ES6新标。

实在觉得不爽还可以找个开源的html5和css引擎来,添加DOM API支持,做出来就是简陋的控制台版浏览器了哈哈哈哈哈。不过但是前面的工作量都不小了,至于DOM支持还是等以后有时间再做吧。

虽然写的不怎么样,还是附上链接吧,万一有人想看呢!虽然我现在很普通,谁能料到以后博客访问数会不会增加呢哈哈哈哈。
https://github.com/cocoyimasa/JSInterpret

哦,突然想起来毕设也是C#写的,虽然和和这个小东西不同,但还是有一些共享代码,将来可以重用一下,爽歪歪。

相关文章

  • 更新前年写的JavaScript解释器

    时隔一年,又用C#写起代码来,再次感叹爽到飞起!配合VS,不管是调试还是单元测试都爽到飞起! 这次是给14年11月...

  • JavaScript解释器更新(三)

    (2016.6.24)蓦然发现,我需要支持json格式!字典风格数组就是json object风格,object字...

  • JavaScript解释器更新(二)

    虽说早就添加了bool类型支持,然而bool表达式的解析总是有些问题,今天一天基本是在解决这些琐碎的小bug,解决...

  • js简单基础杂记

    JavaScript的组成: ECMAScript:翻译器、解释器、是JavaScript的核心; DOM:Doc...

  • python全栈 part2 - 002 JavaScript

    JavaScript 背景知识 javascript是独立的语言,浏览器是javascript解释器. 一般存在与...

  • JavaScript-01

    JavaScript概述 什么是JavaScript javascript是一种运行于JS解释器/引擎中的解释性脚...

  • (17.05.02)***js的组成部分、dom操作、dom树、

    javascript 组成部分    1.ECMAScript        javascript的核心解释器  ...

  • JavaScript解释器

    JavaScript解释器是用来干嘛的呢? JS解释器包含了词法解析器,句法解析器,字节码生成器,字节码解释器. ...

  • 初识JavaScript

    什么是JavaScript JavaScript是一门编程语言 JavaScript是一门解释型语言,解释器是浏览...

  • JS01_基础

    JavaScript概述 什么是JavaScript 简称JS,是一个浏览器解释型语言,运行于JS解释器或执行引擎...

网友评论

      本文标题:更新前年写的JavaScript解释器

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