排序
理解前端框架中的运行时和编译时
本文主要阐述前端框架中的运行时和编译时的区别。首先说明本文内容参考书籍 《Vue.js 设计与实现》,并加以自己的理解创作。有错误的地方还请指出。 运行时 运行时就是指代码实际执行时的阶段。...
C/C++编译流程
前言 在平时写代码时,我们大多数时间都是直接使用集成开发环境,比如Visual Stdio,这样的IDE一般都是将编译和链接过程一步完成,虽然很方便,但是却不利于我们理解代码的执行过程,以至于很多...
处理语法规则中的运算符优先级、左递归和结合性
序言 近期的工作是为 govaluate 编写 Monaco 编辑器插件,来支持词法高亮、语法检测、方法变量检索和自动补全等功能。 govaluate 是 Go 语言生态中一个用于解析表达式求值的库,它的语法类似于 ...
Java 动态编译在项目中的实践
引言 或许大部分人工作至今都没有使用过 Java 的动态编译功能,当然我也是在机缘巧合之下才有机会去研究使用。 这就不得不说到我刚来我们部门的故事了,当时我接收了一个项目,主要是做部门各个...
从编译原理到 Go 启动时的流程,Go程序是怎样跑起来的
Go 程序是怎样跑起来的 引入 我们从一个 helloworld 的例子开始 package main import 'fmt' func main() { fmt.Println('hello world') } 用 vim 要打开,输入命令: :%!xxd 下面是输出 0000000...
编译原理:寄存器分配算法概述
0.引子 最近重新正在重新阅读虎书,同时也在观看Compiler SIG技术沙龙,这个系列的博文会主要主要用来记录过程中所学。本次主要记录的相关学习内容, 1.寄存器分配问题概述: 1.1 寄存器在编译...
用JavaScript打造全新编程语言:从无到有的完整实践指南
前言 过去几年, JavaScript已经成为互联网应用程序的主流编程语言,但您是否曾经想过,我们可以为日益发展的Web应用程序创建一种全新的编程语言,从而在这一方面保持领先地位。本文旨在提供一...
自己动手实现编译器理论篇(二) 语法解析(下)
Bottom-Up Parsing 自底向上的解析器从叶子节点开始构建解析树,并向其根部工作。解析器为扫描器返回的每个token构建一个叶节点。这些叶子构成了解析树的下边缘。为了构建一个derivation,解析...
Python C语言API系列教程(六、C语言API灵魂——PyBuffer)
在上一篇文章中,我们了解了Python虚拟机对模块和方法的实现,以及它们的API用法。同时,我们也完善了我们的datetimecpy模块。在这篇文章中,我们会接触到一个重要的概念PyBuffer。 本系列代码d...
如何优雅的处理异常
作者:京东零售 秦浩然 一、什么是异常 Java 语言按照错误严重性,从 throwale 根类衍生出 Error 和 Exception 两大派系。 Error(错误): 程序在执行过程中所遇到的硬件或操作系统的错误。...
手把手带你从零开始实现一个编译器
为什么写这篇文章? 其实我之前写过关于编译器方面的文章,昨天写了一篇关于通过自制适合自己的JavaScript语法的文章,但是被某个掘友说不懂编译,误人子弟,本来我不想理会这种事儿,可实在是...
从零开始,打造一款属于自己的JavaScript编程语言
前言 自从JavaScript语言发展起来,它一直被广泛应用于前端和服务器端JavaScript编程。但对于那些广泛使用JavaScript语言编写的开发者们来说,它们发现一些易于将一些繁琐,令人困惑或缺乏语言...