学习自华科张军林等老师的论文《JavaScript语言解释器的设计与实现》,思路很好,跟大家分享一下,共同进步哦
1. 词法分析
以嵌入在html文本中的JS脚本程序为输入形成单词链表,以便语法分析。单词链表为双向链表。
2. 语法分析
以单链表为输入,依JS语言的语法规则形成中间数据结构。中间数据结构能够反映出程序语句描述的数据处理流程。
3. 解释执行器
以中间数据结构为输入负责对语句解释执行的控制。
4. 语句解释器
完成各类型控制语句的解释执行,该模块可能会调用解释执行器而形成递归调用。
5. 表达式规约器
由语句解释器来调用,它负责在语句解释执行过程中完成各类型表达式的运算和赋值语句的执行。
6. 与浏览器交互
完成在表达式运算过程中对当前文档对象和html 文本中各种控件对象的属性值的修改并通过改变浏览器的输出显示表现出来。