0416 |编程语言通识
2020-04-21 22:23:26 0 举报
AI智能生成
编程语言通识
作者其他创作
大纲/内容
语言按语法分类
非形式语言
中文
英文
形式语言--乔姆斯基谱系
0型--无限制文法
?:==?
1型-上下问相关文法
?<A>?:==?<B> ?
2型--上下文无关文法
<A>::=?
3型--正则文法
<A>:==<A>?
<A::=?<A> ×
BNF--产生式
用尖括号括起来的名称,用来表示语法结构名
语法结构
基础结构--终结符
符合结构--非终结符
引号和中间的字符表示终结符
可以有括号
* 表示重复多次
| 表示或
+ 表示至少一次
四则运算
1+2*3
终结符
Number
+,-,*,/
非终结符
MultiplicativeExpression
AddtiveExpression
语言的分类
形式语言--用途
数据描述语言
编程语言
形式语言--表达方式
声明式语言
命令型语言
图灵完备性
命令式--图灵机
goto
if、while
声明式--lambda
递归
动态与静态
动态
在用户的设备或在线服务器上
产品实际运行时
Runtime--运行时
静态
在程序员的设备上
产品开发时
Compiletime--编译时
类型系统
动态类型系统与静态类型系统
强类型与弱类型
String +Number
String ==Boolean
复合类型
结构体
函数签名
子类型
逆变/协变
一般的命令式编程语言
Atom
Identifier
Literal
Expression
Atom
Operator
Punctuator
Statement
Expression
Keyword
Punctuator
Structure
Function
Class
Process
Namespace
Program
Program
Module
Package
Libray
0 条评论
下一页