JS编译原理 --《你不知道的JS》


1.编译原理

    1.分词/词法分析

      些代码块被称为词元(token)。例如,var a = 2;段程序通常会被分解成下面元:vara=2 ;

    2.解析/语法分析

      程是将元流(数转换成一个由元素逐嵌套所成的代表了程序被称抽象Abstract Syntax TreeAST    

<script>
         variabledeclaration

    identifier = a      assignmentExpession
         
                                        numricliteral  =2
</script>

    3.代码生成

      AST转换为行代程称被称生成 。

3.编译原理的重要角色

  引擎
    从到尾负责整个JavaScript程序的编译程。
  编译
    引擎的好朋友之一,负责语法分析及代生成等活累活
  作用域
    引擎的一位好朋友,负责收集并维护由所有声明的标识符(量)成的一系列查询,并施一套非常格的规则,确定当前行的代码对这标识符的访问权

4.RHS和LHS查询

  如果找的目的是对变赋值,那么就会使用LHS查询;如果目的是量的,就会使用RHS查询

5.错误类型

  ReferenceError同作用域判相关,而TypeError代表作用域判成功了,但是对结果的操作是非法或不合理的。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM