编译原理

正则表达式

image-20240904214248091

只运行使用字符、数字、下划线和连接符合

image-20240904214355976

image-20240904214504664

编译器(Compilers)与解释器(Interpreters)

image-20240904215051005

编译器的重要功能就是将高级语言/程序转换为汇编代码

为啥会有这么多编程语言,为啥不能只选用一种,谁是好的语言?

  • 重口难调 科学计算good fp good arrarys 并行处理,工程应用 另一个是商用 持久性 数据分析 好的数据报告

系统编程方面 非常底层的应用 控制这些资源的颗粒度 时间上的分配快速响应

  • 为啥设计新语言? 时间成本等 我们需要更多的程序员快速掌握 一门语言越流行就越保守 同时也会产生新语言的诞生和兴起 例如php到java到golang c到c++ matlab到python

​ 如果程序员发现通过一些金钱或者时间去选择一门新语言会让自己变的更有竞争力,他们会选择新的语言

​ 编程语言会一直产生 只要有需求 例如java21才支持虚拟线程 golang自诞生起就支持 python作为新兴语言发 展非常迅猛

  • 没有特别的衡量标准 用的人越多就是好的语言吗? 一门语言的流行肯定有他的独特性 好的语言他在空白领域拥有领导力

有穷自动机

image-20240904222601138

image-20240904222610224

image-20240904223141859

有限自动机语言,等价于接受的字符串集合

例题:

{ω|ω从0开始且长度为奇数,或者从1开始且长度为偶数}