JS语言通识

413 阅读1分钟

1)泛用语言分类

  • 非形式语言
    • 中文、英文
  • 形式语言(乔姆斯基普系)
    • 0 型 无限制文法
    • 1 型 上下文相关文法
    • 2 型 上下文无关文法
    • 3 型 正则文法

2)产生式(BNF)

  • 用尖括号括起来的名称来表示语法结构名
  • 语法结构分成基础结构和需要用其他语法结构定义的复合结构
    • 基础结构称终结符
    • 复合结构称非终结符
  • 引用和中间的字符表示终结符
  • 可以有括号
  • *表示重复多次
  • |表示或
  • +表示至少一次

四则运算

* 1+2*3

终结符

* Number
* +-*/

终结符

*  MultiplicativeExpression
* AddtiveExpression

3)现代语言的分类

  • 形式语言-用途
    • 数据描述语言
    • 编程语言 js c c++ java 等
  • 形式语言-表单方式
    • 声明式语言 JSON CSS HTML 等
    • 命令型语言 C JAVA JS Python 等

4)编程语言的性质

  • 图灵完备性
    • 命令式-图灵机
      • goto
      • if while
  • 声明式-lambda
    • 递归
  • 动态与静态
    • 动态
      • 在用户的设备/在线的服务器上
      • 产品实际运行时
      • Runtime
  • 静态
    • 在程序员的设备上
    • 产品开发时
    • compiletime
  • 类型系统
    • 动态类型与静态类型
    • 强类型与弱类型
    • 复合类型
    • 子类型
    • 泛型

5)一般命令式编程语言的设计方式

  • Atom
  • Expression
  • Statement
  • Structure
  • Program