JavaScript编程的编程原理都有哪些环节


  时间:2020-01-13 16:15 来源: 作者:白山新闻网

JavaScript编程开发是我们在学习web前端编程的时候会要求程序员熟练掌握和运用的一种编程语言,而今天我们就通过案例分析来了解一下,JavaScript编程的编程原理都有哪些环节。

JavaScript编程的编程原理都有哪些环节

1、扫描器

源代码先被分解成chunk,每个chunk都可能采用不同的编码,稍后会有一个字符流将所有chunk的编码统一为UTF-16。

在解析之前,扫描器会将UTF-16字符流分解成token。token是一段脚本中具有语义的小单元。有不同类型的token,包括空白符(用于自动插入分号)、标识符、关键字以及代理对(仅当代理对无法被识别为其它东西时才会结合成标识符)。这些token之后被送往预解析器中,接着再送往解析器。

2、预解析器

解析器的工作量是少的,只要足够跳过传入的源代码并进行懒解析(而不是全解析)即可。预解析器确保输入的源代码包含有效语法,并生成足够的信息来正确地编译外部函数。这个准备好的函数稍后将按需编译。

3、解析

解析器接收到扫描器生成的token后,现在需要生成一个供编译器使用的中间表示。

先我们来讨论解析树。解析树,或者说具体语法树(CST)将源语法表示为一棵树。每个叶子节点都是一个token,而每个中间节点则表示一个语法规则。在英语里,语法规指的是名词、主语等,而在编程里,语法规则指的是一个表达式。不过,解析树的大小随着程序大小会增长得很快。

相反,抽象语法树要更加简洁。每个中间节点表示一个结构,比如一个减法运算(-),并且这棵树并没有展示源代码的所有细节。例如,由括号定义的分组是蕴含在树的结构中的。另外,标点符号、分隔符以及空白符都被省略了。你可以在这里了解更多AST和CST的区别。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供琪琪视频形式地保证。请读者仅作参考。

 

上一篇:白山程序员培训关于React应用的优化方法分享
下一篇:没有了


白山新闻网 ICP备案:鄂icp备14004636号-1