首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Javascript lanuage
订阅
boajay
更多收藏集
微信扫码分享
微信
新浪微博
QQ
21篇文章 · 0订阅
自己动手写编程语言——为什么还要创造另一种编程语言?
这本书将向你展示如何构建你自己的编程语言,但首先,你需要问自己:为什么我要这么做? 对少数人来说,答案很简单:因为这件事非常有趣。😊 然而,对大多数人而言,构建一门编程语言是一项巨大的工程,在投入精力
一看就懂的JS抽象语法树
babel是现在几乎每个项目中必备的一个东西,但是其工作原理避不开对js的解析在生成的过程,babel有引擎babylon,早期fork了项目acron,了解这个之前我们先来看看这种引擎解析出来是什么东西。不光是babel还有webpack等都是通过javascript par…
用JavaScript实现一门编程语言 1 (前言)
这一个关于如何用JavaScript实现一门编程语言的教程。如果你曾经写过解释器或者编译器,这个教程你可能学不到什么新的东西,但是,如果你正在用正则表达式去 “解析”任何看起来看起来像编程语言的东西,那你可以跳过直接去看解析的部分。 什么是解析器,如何编写一个解析器。 如何编写…
前端进阶之 JS 抽象语法树
Babel 是 JavaScript 编译器 compiler,更确切地说是源码到源码的编译器,通常也叫做 转换编译器(transpiler)。 意思是说你为 Babel 提供一些 JavaScript 代码,Babel 更改这些代码,然后返回给你新生成的代码。 Babylon…
用 Javascript 实现一个简易 BrainF**k 解释器
高中的时候就跟 @MatRush 发现了一个名字超级好玩的编程语言叫 BrainF**k,它比较搞脑筋,因为所有的编程操作都是集合在操作符里面,然后控制指针偏移和内存值的修改来进行一系列操作。 这与后面发现的 HVM(Hack Virtual Machine)有异曲同工之妙其实之
精读《syntax-parser 源码》
1. 引言 syntax-parser 是一个 JS 版语法解析器生成器,具有分词、语法树解析的能力。 通过两个例子介绍它的功能。 如上,通过正则分别匹配了 “空格”、“字母或数字”、“加号”,并将匹配到的空格忽略(不输出)。 'a + b' 会按照上面定义的 “三种类型” 被…
babel插件入门-AST(抽象语法树)
Babel 是一个 JavaScript 编译器,它能将es2015,react等低端浏览器无法识别的语言,进行编译。 上图的左边代码中有箭头函数,Babel将进行了源码转换,下面我们来看Babel的运行原理。 解析(parse),转换(transform),生成(genera…
从babel讲到AST
babel的过程:解析——转换——生成。 比如我们在读一句话的时候,我们也会做分词操作,比如:“今天天气真好”,我们会把他切割成“今天”,“天气”,“真好”。 那换成js的解析器呢,我们看一下下面一个语句console.log(1);,js会看成console,.,log,(,…
AST in Modern JavaScript
什么是AST?AST是Abstract Syntax Tree(抽象语法树)的缩写。 传说中的程序员三大浪漫是编译原理、图形学、操作系统,不把AST玩转,显得逼格不够,而本文目标就是为你揭示AST在现代化JavaScript项目中的应用。 按照语法规则书写的代码,是用来让开发者…