编译原理
正规式、表达式、传值与传址。
编译过程
解释型:敲一行代码,回车后直接执行,有问题会返回。
编译型:整段程序编写好,按编译运行才会编译成可执行的程序然后进行执行。
区别:
编译型语言,执行速度快、效率高;依靠编译器、跨平台性差些。
解释型语言,执行速度慢、效率低;依靠解释器、跨平台性好。
编译型编译过程
词法分析:提醒关键词错误。
语法错误:词法正确,但是词连起来不正确。如if后面没有end if。
语义分析:循环是否有终止,是否除0等。
中间代码:像java的.class文件即为中间代码,Java、.NET的虚拟机即为中间代码平台,可以用来跨平台。
目标代码:计算机可执行的代码,涉及到操作系统和底层硬件。(不一定所有的语言语义分析后都可以生成计算机可执行的代码,有的会生成中间代码如java,.net)
文法
文法定义
文法类型
有限自动机与正规式
有限自动机
正规式